TCP/IP Sicherheit
Table of Contents
Ersteinmal eine Bestandsaufnahme mit den Möglichkeiten des Einbruchs:
-
Paßwörter erbeutet (gesnifft/gecrackt)
-
TCP-Hijacking
-
unnötige Ports
-
buffer overflow
-
Backdoors
Paßwörter
Niemals unverschlüsselte Paßwörter übertragen! NIE telnet oder r-tools sondern secure shell oder Pendant benutzen. Nicht glauben das Angriffe nur von "draußen" kommen! Die Meisten kommen aus dem LAN! Deshalb auch intern schützen!
Sich selbst und Mitarbeiter gegen Social Engineering absichern (aufklären daß der Admin nicht irgendwen anruft und dessen Paßwort haben will!)
Keine Klebezettel mit Paßwörter an den Monitor hängen und zufällige Zahlen/Buchstaben/Sonderzeichen wählen und regelmäßig ändern. Mit tools (john the ripper, l0phtcrack o.ä.) eigene paßwörter checken und einfache Paßwörter rigoros entfernen lassen!
Einige Dienste wie IMAP oder POP3 übertragen periodisch Paßwörter! (sniffergefahr)
Paßwörter nicht speichern!
Physikalische Absicherungen treffen! (Stahltür, Gitter,Schlösser …)
ein Rrechner der von Diskette gebootet werden kann (z.B. Desktop
irgendeines Sachbearbeiters)
kann mit µLinux gebootet und das Paßwort in /etc/passwd
gelöscht werden -
im Bios den Bootprozess auf Festplatte eingrenzen und per Passwort
schützen.
Sniffer können Passwörter mitschneiden und wenn diese in
der Hand des Einbrechers
sind könne auch verschlüsselte Passwörter gecrackt
werden. Deshalb kann man mit
ifconfig
, dem Netzkonfigurationsutility von Unix/Linux eine
Netzkarte
auffinden die im promiscous mode
ist, d.h. alle Netpakete
mitliest - also
snifft. Einfach ifconfig
aufrufen und wenn in der Ausgabe
eine Zeile auftaucht die
"UP BROADCAST RUNNING PROMISC MULTICAST" enthält snifft das
entsprechende Device
gerade fröhlich vor sich hin. Ebenso zeigt das Tool
ifstatus
den Mode der Netzkarte an.
Da diese Tools aber nur auf dem Localhost laufen, gibt es mit
neped
noch ein Mittel um Subnetze zu scannen.
TCP-Hijacking
Übernahme einer Verbindung (Spoofing)
Eine Eigenheit des TCP/IP Protokolls ist, das jedes Netzinterface die übertragenen Daten mitlesen kann, dies aber nicht ohne weiteres tut. Wenn man die Netzkarte allerdings in den sog. promiscous-mode bringt kann jedes Paket in seiner "rohen" Form sniffen, muß es dann allerdings umwandeln, was sonst der TCP-Stack übernimmt. Sollte dies machbar sein benötigt man jetzt nur noch eine passende ACK und man kann die Verbindung übernehmen. Dies ist relativ schwer, kann aber inzwischen auch von dummen Skript-Kiddies mittels Juggernaut
realisiert werden.
Wenn man allerdings die Netzverbindung lieber killen will, muß man nur einige Pakete in den Dataflow bringen, was nun zum sogenannte ACK-Storm führt. Der Server erhält ein Paket mit einer falschen ACK (Nummer der Paketreihenfolge) und fordert nun beim Client das Paket erneut an. Der Client hingegen weiß von nichts und sendet die eigentlich richtige ACK-Bestätigung, welche der Server aber nun nicht mehr akzeptiert und erneut ACK anfordert. Was wieder nicht klappt und in einer Endlosschleife endet, bis die max. Netzkapazität erreicht ist und Pakete in den ewigen Äther eingehen. Sollten also unerklärliche Beschwerden über Netzzusammenbrüche eingehen sollte man per Sniffer mal den Nettraffic auf ACK-Pakete hin überprüfen.
Ports
Unnötige Dienste abschalten! Oft werden sie vergessen und
nicht gepflegt, d.h. sie veralten und bieten ein gutes
Angriffsziel!. Unter Solaris ist sehr oft chargen
an Port 19
auf, was eine leichte Backdoor ist. Wenn man einen Port findet der
offen ist, aber nicht weiß was da für ein Programm darauf lauscht, kann man mit
netstat -f inet
alle offenen Ports mit Programm anzeigen
lassen.
Keine bekannt unsicheren Dienste nutzen wie z.B. telnet, r-tools,
lieber ssh verwenden
Ebenso gefährlich ist das Simple Network Management Protocol
(SNMP), welches Routing- und Interfaceinformationen sowie Infos
über Typ und Patchlevel des Betriebssystems. Da SNMP über
den UDP Layer von TCP/IP läuft, erfassen viele Standardscanner
im normalen Durchlauf nicht.
Buffer Overflow
Häufiger Fehler, in dem ein zu kleiner Speicherpuffer initiiert wird. Bsp:
void foo(char *s) { char bar[100]; strcpy (bar,s); }
In eigenen Proxy vermeiden, lieber eine Routine die die benötigte Größe vermißt und bereitstellt (Zählschleife o.ä.) Bekannte Fehler: Navigator, Internet Exploiter, Outlook, sendmail, MSExchange…
Backdoors
Oft in alter und auch neuer Hardware (cisco, 3com, ibm) hinterlegte Paßwörter/Accounts der Hersteller. Auch in Form von Trojanern (AOHell, Back Orifice …) Open Source einsetzen! Beispiele:
3Com switch |
User: |
Passwort: |
Ändern!!! |
|
Compaq Netelligent |
|
Ändern!!! |
||
American Megatrends BIOS |
|
nicht änderbar! |
||
Award Bios |
|
nicht änderbar! |