Ubuntu User Sever @ Home (Vorschau)
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Admin<br />
SSH‐Guard<br />
zuspielten. Dank<br />
der Verbesserungen<br />
in der neuen<br />
Version müssen<br />
Sie nur noch herausfinden,<br />
in<br />
welcher Datei sich<br />
die Logdaten für<br />
einen unterstützten<br />
Dienst befinden.<br />
Unter <strong>Ubuntu</strong> landen<br />
beispielsweise<br />
alle relevanten<br />
Meldungen über<br />
4 Tragen Sie die Iptables‐Befehle in die Datei „/ etc/ rc.local“ ein, lädt fehlgeschlagene<br />
<strong>Ubuntu</strong> sie bei jedem Start automatisch. Vor dem „exit 0“ fügen Sie bei SSH-Loginversuche<br />
Bedarf noch einen Aufruf für den SSH‐Guard selbst ein.<br />
in der Datei /var/<br />
log/ auth.log. Den<br />
gesamten Pfad zur Logdatei übergeben Sie SSH-<br />
Guard einfach mit Hilfe des an den Befehl angehängten<br />
Parameters ‐l:<br />
Glossar<br />
CIDR-Notation: Effiziente Notation,<br />
welche die Beziehung von IP‐<br />
Adressen zu Subnetzmasken über<br />
einen angehängten Suffix eindeutig<br />
ausdrückt.<br />
Eingriff<br />
Ähnlich wie bei der Verkehrssünderkartei in<br />
Flensburg belegt auch SSH‐Guard jeden Angriffsversuch<br />
mit einem bestimmten Punktewert,<br />
der „Dangerousness“. Welche Aktion wie viele<br />
Punkte auslöst, verrät die SSH‐Guard‐<strong>Home</strong>page<br />
[4]. Dort erfahren Sie zugleich, welche<br />
Logeinträge SSH‐Guard als konkreten Angriffsversuch<br />
wertet. Die meisten Angriffe bringen 10<br />
Punkte, ab 40 Punkten greift SSH‐Guard ein.<br />
Soll diese Schmerzgrenze höher liegen, teilen<br />
Sie dies dem Werkzeug über den Parameter -a<br />
mit. Der Befehl<br />
sshguard ‐l /var/log/auth.log ‐a 60 U<br />
1> /dev/null &<br />
schraubt die Gefährlichkeit auf 60 Punkte hoch.<br />
Der Parameterkollege -p bestimmt, wie viele Sekunden<br />
der Angreifer nach der ersten Blockade<br />
$ sudo sshguard ‐l /var/log/auth.log 1> U<br />
/dev/null &<br />
Dieser Befehl (den Sie auch in die Datei /etc/<br />
rc.local eintragen können, damit <strong>Ubuntu</strong> ihn beim<br />
Systemstart automatisch ausführt) wirft jetzt permanent<br />
ein Auge auf die Datei /var/log/auth.log.<br />
Die beim Start produzierte Textausgabe schicken<br />
Sie über 1> /dev/ null ins Nirwana. Der Befehl entdeckt<br />
zwangsläufig auch fehlgeschlagene Loginversuche<br />
via SSH. Nehmen diese überhand, setzt<br />
SSH-Guard eine entsprechende Firewall-Regel ab.<br />
Legen die anderen Dienste ihre Logdaten ebenfalls<br />
in auth.log ab, berücksichtigt SSH-Guard sie auch.<br />
Eine explizite Konfiguration für FTP und Co. benötigen<br />
Sie somit nicht. Soll SSH-Guard mehrere<br />
Logdateien im Auge behalten, übergeben Sie die<br />
Pfade einfach über weitere Parameter, die Sie an ‐l<br />
hängen, also ‐l /pfad/ 1 ‐l /pfad/ 2 usw.<br />
mindestens warten muss, bis er wieder Zugriff<br />
auf den SSH‐Server erhält. So würde<br />
sshguard ‐l /var/log/auth.log ‐p 15 U<br />
1> /dev/null &<br />
den Angreifer für mindestens 15 Sekunden aussperren.<br />
Abschließend regelt die Option -s, nach<br />
wie vielen Sekunden SSH‐Guard die IP‐Adresse<br />
des Angreifers wieder vergisst. Geben Sie hier<br />
zum Beispiel<br />
sshguard ‐l /var/log/auth.log ‐s 20 U<br />
1> /dev/null &<br />
ein, muss der Angreifer nach jedem Versuch<br />
lediglich 20 Sekunden warten, damit SSH‐Guard<br />
ihn niemals blockiert. Das zieht aber einen<br />
Brute‐Force‐Angriff gehörig in die Länge. Alle<br />
genannten Parameter kombinieren Sie übrigens<br />
nach eigenem Bedarf beliebig miteinander.<br />
Drum prüfe, wer sich bindet<br />
Nun prüfen Sie am besten, ob die Blockade reibungslos<br />
funktioniert. Im Folgenden geschieht<br />
dies am Beispiel von SSH. Die anderen, von SSH-<br />
Guard beobachteten, Dienste prüfen Sie nach dem<br />
gleichen Prinzip. Falls auf Ihrem <strong>Ubuntu</strong>-Rechner<br />
noch kein SSH-Server läuft (und das ist der Standard),<br />
installieren Sie noch das Paket opensshserver.<br />
Andere Nutzer dürfen sich nun per SSH auf<br />
Ihrem Rechner anmelden.<br />
Um SSH-Guard auf die Probe zu stellen, starten<br />
Sie den SSH-Guard wie oben beschrieben und<br />
loggen sich dann von einem anderen Rechner im<br />
Netzwerk aus per SSH mehrfach mit einem falsch<br />
gewählten Passwort ein. Nach fünf Loginversuchen<br />
blockt SSH-Guard den Client für ein paar Sekunden<br />
und protokolliert das in der Logdatei /var/<br />
log/ auth.log (Abbildung 5). Darüber hinaus zeigt<br />
sudo iptables ‐L eine neue Firewall-Regel an, die<br />
den anfragenden Rechner aussperrt (Abbildung<br />
6). Für den Angreifer sieht es so aus, als würde<br />
der Server nicht mehr auf seine Anfragen reagieren<br />
beziehungsweise als sei die Verbindung zum<br />
Server unterbrochen.<br />
Je häufiger der Angreifer sich erfolglos einloggt,<br />
desto länger wird die Zwangspause. Irgendwann<br />
ist sie so lang, dass er sich faktisch ausgesperrt<br />
hat. Ein Blacklisting, also eine schwarze Liste<br />
mit gesperrten IP-Adressen, ist daher nicht mehr<br />
notwendig. Wollen Sie dennoch ein wenig an den<br />
Wartezeiten schrauben, werfen Sie einen Blick in<br />
den Kasten Eingriff.<br />
Bei einem erkannten Angriffsversuch erstellt SSH-<br />
Guard eine neue Firewall-Regel, welche die IP-<br />
Adresse des Angreifers nur für den unter Beschuss<br />
stehenden Dienst blockiert. Wird also ein Angreifer<br />
gesperrt, weil er mehrmals erfolglos versucht,<br />
sich per SSH anzumelden, darf er sich nach der<br />
Sperrung weiterhin per FTP einloggen. Im Extremfall<br />
sperrt SSH-Guard einen Angreifer also nach<br />
und nach von allen Diensten und Zugriffen aus.<br />
Weiße Weste<br />
Einem befugten Nutzer gestattet SSH-Guard mit<br />
seiner Arbeitsweise genügend Versuche, sich an<br />
sein Passwort zu erinnern. Möchten Sie jedoch<br />
in einem sicheren LAN gezielt einen bestimmten<br />
Rechner von sämtlichen Strafmaßnahmen aus-<br />
Listing 1<br />
01 # Die Rechner von Edith und Dieter:<br />
02 192.168.0.101<br />
03 192.168.0.102<br />
04 # Das LAN der Entwicklungsabteilung:<br />
05 192.168.0/24<br />
06 # Unsere Zweigstellen:<br />
07 zweigstelle1.example.com<br />
08 zweigstelle2.example.com<br />
82 UBUNTU<br />
02/2011<br />
www.ubuntu-user.de<br />
user