Aus Linux-Magazin 09/2018

Aus dem Alltag eines Sysadmin: Grepcidr

© prazis, 123RF

Oft sind es die ganz einfachen Werkzeuge, die – passend angewendet – zu schönen Erfolgen führen. Diesmal nimmt Sysadmin-Kolumnist Charly einen IP-Adressen-Filter zur Hand und zählt damit die Geräte im Haus oder stellt Spammern ein Bein.

Obwohl es so viele Grep-Varianten gibt, finde ich immer wieder mal eine neue. Grepcidr [1] habe ich vor einigen Monaten erst entdeckt. Das Tool filtert, wie der Name andeutet, eine Eingabe nach IP-Adressen und -Netzen. Es kommt mit IPv4 und IPv6 gleichermaßen klar. Um zu zeigen, was Grepcidr so draufhat, werde ich damit eine Liste aller IPv4-Adressen des heimischen Netzes zusammentragen. Die bekomme ich aus dem Syslog der Firewall, die auch DHCP-Server ist:

cd /var/log
grepcidr 10.0.0.0/24 syslog|grep DHCPACK|tail -n 1500|cut -f9 -d" "|sort|uniq > 1stlist

In der Datei »1stlist« stehen nun 46 IP-Adressen:

10.0.0.135
10.0.0.15
10.0.0.150
10.0.0.16
10.0.0.166
[...41 weitere...]

Das finde ich automatisiert mit dem Kommando

grepcidr 10.0.0.0/24 -c < ./1stlist

heraus. In diesem einfachen Fall wäre ich mit »wc -l < ./istlist« zwar schneller gewesen, aber Grepcidr spielt seine Stärken spätestens dann aus, wenn ich unterschiedliche Netze aus einer solchen Datei herausfiltern muss.

Nach einiger Zeit wiederhole ich das Spiel und lasse die Liste der IP-Adressen nun in die Datei »2ndlist« schreiben. »grepcidr 10.0.0.0/24 -c < .2ndlist« zeigt für meine Statistik, dass die Datei eine Zeile kürzer ist, also ein Gerät weniger im Netz steckt. Welches gegenüber vorher fehlt, ermittle ich ganz einfach mit Diff:

diff 1stlist 2ndlist
2d1
< 10.0.0.15

Um zu sehen, wie viele Geräte im Haus Dauerläufer sind, schicke ich die Daten in eine Round-Robin-Datenbank und lasse einen Verlaufsgraphen zeichnen. Die Unterbrechung um zirka 6 Uhr in Abbildung 1 geht auf einen Routine-Reboot des DHCP-Servers zurück.

Abbildung 1: Ger&auml;t sein oder nicht sein &ndash; Grepcidr kl&auml;rt hier die Frage.

Abbildung 1: Gerät sein oder nicht sein – Grepcidr klärt hier die Frage.

Post-Lästlinge niederringen

Außerdem fertige ich IP-Blacklists auf meinem Mailserver mit Grepcidr an. Ich habe nämlich einige Mailadressen eingerichtet, die ich nicht benutze, deren Existenz Spammer aber gerne raten, »sales@…« beispielsweise. Zweimal am Tag pflügt Grepcidr durch das Log und extrahiert alle IPs aus den Logzeilen, die diese Postfächer betreffen, und schreibt sie in die Datei »harvest«.

Da in diesen Zeilen aber auch die IPs meiner eigenen Server auftauchen, muss ich sie mit einer Whitelist entfernen. Auch diese Whitelist ist ein File mit IP-Adressen.

Die sofort verwendbare Blacklist baut Grepcidr jetzt in einem einzigen Arbeitsschritt auf:

cat harvest|grepcidr -vf whitelist > blacklist

Mit diesem Kniff halte ich mir so manche Spammer vom Hals. (jk)

Der Autor

Charly Kühnast administriert Unix-Systeme im Rechenzentrum Niederrhein. Zu seinen Aufgaben gehören Sicherheit und Verfügbarkeit der Firewalls und der DMZ.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 1 HeftseitePreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben