29.7    Das Neueste vom Neuen: »pulledpork«

Falls Sie früher bereits Snort eingesetzt haben, ist Ihnen sicherlich noch der oinkmaster ein Begriff. Mit diesem Tool wurden die Regelsätze heruntergeladen und für Snort bereitgestellt. Dieses Tool wurde durch pulledpork[ 50 ] ersetzt, das aber sehr ähnlich arbeitet.

Es wird eine Registrierung bei snort vorausgesetzt, da für das Herunterladen ein sogenannter Oinkcode benötigt wird. Diesen und die dafür notwendige Registrierung können Sie unter www.snort.org/users/sign_up einrichten. Sie erhalten umgehend eine E-Mail, in der Sie einen Link zur Bestätigung Ihres Zugangs finden. Nach erfolgreichem Login auf der snort-Webseite können Sie unter den Benutzereinstellungen den Punkt Oinkcode wählen und diesen dort erzeugen.

Das Programm selbst wird über GitHub bereitgestellt. Da es sich dabei lediglich um ein Perl-Skript handelt, ist die Installation schnell erledigt (siehe Listing 29.39):

/opt$ curl -L -O https://github.com/shirkdog/pulledpork/archive/master.zip
/opt$ unzip master.zip
/opt$ cd pulledpork-master/
/opt/pulledpork-master$ cp pulledpork.pl /usr/local/bin
/opt/pulledpork-master$ chmod +x /usr/local/bin/pulledpork.pl
/opt/pulledpork-master$ cp etc/*.conf /etc/snort

Listing 29.39    Installation von »pulledpork«

Anschließend muss die Konfigurationsdatei noch angepasst werden. Den Oinkcode und die notwendigen Pfadkorrekturen nehmen wir bequem mit sed vor:

$ sed 's#<oinkcode>#<OINKCODE>#g' -i /etc/snort/pulledpork.conf
$ sed 's#/usr/local/etc/#/etc/#g' -i /etc/snort/pulledpork.conf

Listing 29.40    Korrigieren des Oinkcode und der Pfade in »pulledpork.conf«

Ersetzen Sie den Platzhalter <OINKCODE> (in Fettschrift) durch den zuvor von Ihnen generierten Code. Da wir im weiteren Verlauf Barnyard2 einsetzen werden, müssen Sie den Parameter sid_msg_version auf 2 setzen. Zu guter Letzt müssen Sie noch einen Parameter anpassen: distro. Diesen Wert müssen Sie an Ihre Distribution anpassen. Leider sind nicht alle Varianten enthalten, bzw. sie werden als nicht gültig angezeigt, was aber kein Problem darstellt, da darüber lediglich die Zuordnung der Librarys erfolgt. Folgende Zuordnung ist daher legitim:

Zur Kontrolle der Konfiguration können Sie pulledpork einfach auf der Konsole ausführen. Rufen Sie das Skript dafür einfach mit dem Schalter -c, gefolgt vom Pfad zur Konfigurationsdatei, und dem Schalter -l auf, um eine Log-Ausgabe zu erhalten.

Die Ausgabe sollte so aussehen, wie in Listing 29.41 dargestellt:

root@debian:~# /usr/local/bin/pulledpork.pl -c /etc/snort/pulledpork.conf -l

https://github.com/shirkdog/pulledpork
_____ ____
`----,\ )
`--==\\ / PulledPork v0.7.4 - Helping you protect your bitcoin wallet!
`--==\\/
.-~~~~-.Y|\\_ Copyright (C) 2009-2017 JJ Cummings, Michael Shirk
@_/ / 66\_ and the PulledPork Team!
| \ \ _(")
\ /-| ||'--' Rules give me wings!
\_\ \_\\
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[…]
Done
Please review /var/log/sid_changes.log for additional details
Fly Piggy Fly!

Listing 29.41    Herunterladen der Regelsätze mit »pulledpork.pl«

Damit neue Regelsätze automatisch geladen werden, sollten Sie einen Cronjob anlegen, der dies für Sie übernimmt.

Speichern Sie dafür einfach die Datei pulledpork mit dem Inhalt aus Listing 29.42 im Verzeichnis /etc/cron.hourly ab. Damit wird stündlich nach neuen Regelsätzen Ausschau gehalten.

#!/bin/bash
/usr/local/bin/pulledpork.pl -c /etc/snort/pulledpork.conf -l > /dev/null

Listing 29.42    Einrichten eines Cronjobs für stündliche Updates

Vergessen Sie nicht, der Datei Ausführungsrechte mit chmod +x /etc/cron.hourly/pulledpork zu geben.