Wer ARP sagt
Ein Administrator muss wissen, was in seinem Netz vorgeht - etwa welche Geräte angeschlossen sind. ARP-Monitore helfen ihm, den Überblick zu behalten.
- Michael Riepe
Wollen zwei Rechner im LAN miteinander kommunizieren, müssen sie zuerst ihre Visitenkarten tauschen. Zwar sind die IP-Adressen von Sender und Empfänger in der Regel bekannt. LANs und WLANs verwenden zur Adressierung jedoch die sechs Byte lange MAC-Adresse. Als Übersetzungshilfe verwenden die Rechner das Address Resolution Protocol (ARP): Der Sender fragt per Rundruf (Broadcast) nach der passenden MAC-Adresse, der designierte Empfänger antwortet. Protokolliert man die ARP-Pakete, kennt man früher oder später alle aktiven Netzteilnehmer.
Zwar ließe sich die Überwachung mit Standardprogrammen wie tcpdump oder wireshark (vormals ethereal) durchführen. Sie erlauben jedoch weder ein automatisches Monitoring, noch können sie den Administrator alarmieren, falls in seinem Netz unerwartete Dinge passieren. Angreifer etwa setzen das Address Resolution Protocol gern ein, um einen Switch lahmzulegen oder Zugriff auf den Datenverkehr anderer Rechner zu bekommen (ARP Flooding, ARP Poisoning). Abhilfe schaffen spezialisierte ARP-Monitore.
Guck mal, wer da arpt
Onlineressourcen
Zu den Klassikern des Genres gehört das Programm arpwatch. Es liest alle ARP-Pakete, die beim Rechner ankommen, und vergleicht die darin vorkommenden Adressen mit einer Liste bekannter Adressen. Taucht ein neuer Rechner auf, schreibt arpwatch einen Eintrag ins Syslog und schickt eine E-Mail an root. Ändert sich die Zuordnung von IP- und MAC-Adressen, sendet das Programm ebenfalls eine Meldung. Das passiert zum Beispiel bei hochverfügbaren Systemen, wenn ein Server die Dienste eines anderen übernimmt. Es kann jedoch auch bedeuten, dass im LAN mehrere Rechner mit derselben Adresse aktiv sind.
Beim Start liest arpwatch alle bekannten Adresszuordnungen aus der Textdatei arp.dat in seinem Arbeitsverzeichnis, meist /usr/local/arpwatch. Mit der Option -f lässt sich ein anderer Ort wählen. Die angegebene Datei muss beim Programmstart schon existieren. Neue Einträge hält das Programm zunächst im Hauptspeicher. Alle 15 Minuten sowie beim Beenden schreibt arpwatch die gesamte Liste zurück auf die Festplatte. Will der Administrator die Datei manuell bearbeiten, muss er das Programm vorher beenden und anschließend neu starten.
Besitzt der Rechner mehrere Ethernet-Schnittstellen, kann der Nutzer mit -i eine auswählen. Mehrere LANs kann arpwatch nicht überwachen, der Administrator darf jedoch das Programm mit unterschiedlichen Optionen mehrmals starten (siehe Listing 1). Alternativ kann arpwatch mit -r die Pakete aus einem Netzwerk-Dump lesen, wie ihn tcpdump oder pcapture erzeugen.
Listing 1
#! /bin/sh
netze='lan0 wlan0'
for n in $netze; do
touch /var/spool/arpwatch/$n.dat
arpwatch -i $n -f /var/spool/arpwatch/$n.dat
done
Im Lauf der Zeit sind mehrere Varianten des Programms entstanden. Arpwatch NG etwa erlaubt es, mit -P „“ die empfangenen Pakete zu filtern. Filterausdrücke haben dieselbe Syntax wie bei tcpdump. Außerdem kann man bei der „Next Generation“ - die nach wie vor auf den Namen arpwatch hört - mit den Optionen -F und -t Absender und Adressat der E-Mail-Warnungen wählen. Mit -u kann der Administrator die Zugriffsrechte des Programms einschränken - das Originalprogramm läuft mit Root-Rechten und ist daher ein potenzieller Angriffspunkt.
Muss der Admin viele Netze überwachen, empfiehlt sich darpwatch (Distributed Arpwatch). Das Programm speichert keine Daten, sondern sendet sie zur Auswertung per UDP an den zentralen Server darpwatchd. Mit den Optionen -h und -P kann der Nutzer einen Server auswählen.
Ändern sich die Netzteilnehmer nur selten, kann arpalert zum Einsatz kommen. Das Programm verwendet statische Listen, die erlaubte und verbotene Adressen enthalten. Funken nicht autorisierte Rechner ins Netz, schreibt das Programm einen Eintrag in seine Logdatei. Auf Wunsch startet arpalert ein Skript, das weitere Maßnahmen ergreift. Das Programm überwacht mehrere LANs und lässt sich mit einer Konfigurationsdatei an unterschiedliche Bedürfnisse anpassen. Außerdem schützt es sich selbst vor Angriffen: Überschreitet etwa die Zahl der ARP-Pakete pro Sekunde eine bestimmte Schwelle, kann arpalert nicht nur einen Alarm auslösen, sondern auch seinen Reportgenerator drosseln und so die Last auf dem Rechner begrenzen.
Passive Detektoren haben einige Nachteile. Sie können nur aktive Rechner entdecken und reagieren nicht auf gefälschte MAC-Adressen (MAC Spoofing). Regelmäßige aktive Scans hingegen können vor allem in großen Netzen den Betrieb stören. Außerdem sind die Bemühungen eines Angreifers - der in der Regel dieselbe Methode verwendet - schwerer zu entdecken. (mr)