25.02.2014 Aufrufe

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!