Archive

Countdown

    Keine Ereignisse vorhanden

Angriffe gegen SSH und Gegenmaßnahmen

Wer einen Server mit Linux betreibt, der aus dem Internet erreichbar ist, kennt sicherlich die Problematik, dass andere versuchen, sich Zugang zu verschaffen, indem sie den SSH-Daemon mit einer Dictionary-Attacke angreifen. Dabei wird versucht, das Passwort gängiger User anhand eines Dictionary-Files zu erraten, und so das System zu kompromitieren.

Solche Attacken werden meistens nicht manuell, sondern von Programmen ausgeführt. Um Angriffe zu verhindern können folgende Gegenmaßnahmen verwendet werden.

1. Login per Passwort abschalten
Die Authentifizierung erfolgt dann mit einem gültigen Key, der von den Anwendern, die Zugriff zum System haben erst generiert werden muss und dann vom Administrator des Zielsystems integriert wird. (Stichworte: ssh-keygen bzw. puttygen)

Die erhöhte Sicherheit erkauft man sich in diesem Fall mit dem Nachteil des größeren Pflegeaufwands und der Tatsache, dass die Anwender, die Zugriff erhalten sollen ihren Key immer dabei haben müssen. Die Keys sollten mit einem starken Passwort gesichert sein, um zu verhindern, dass andere, die Zugriff auf die Datei erhalten, diese auch verwenden können.

2. Änderung des Ports
Die Änderung des Ports, den der SSH-Daemon verwendet, kann zumindest ein kleiner Schutz gegen Angriffe sein. Die von den Angreifern verwendeten Programme gehen meistens vom Standard-Port 22 aus. Diese Maßnahmen bietet keinen 100-prozentigen Schutz, weil der Port durch Portscans gefunden wird und hat außerdem den Nachteil, dass möglicherweise Firewallregeln bei den Usern, die zugreifen dürfen, diesen Port nicht zulassen.

3. Portknocking
Port Knocking ist eine Technik, bei der ein auf einem System im Internet laufender Dienst erst dann für die IP-Adresse eines Clients sichtbar wird, wenn dieser Client vorher eine Folge von vorab festgelegten Paketen an den Host geschickt hat. Das ganze ist natürlich eine Art Security by Obscurity, und ähnelt den Mechanismen von Geheimdiensten, bei denen man erst vom Agenten angesprochen wird, wenn man sich zuerst in der Nase gebohrt, dann die Brille zurechtgerückt und schließlich etwas vom Boden aufgehoben hat.

Der Nachteil dieser Maßnahme liegt zum einen im Implementierungsaufwand und zum zweiten in der Tatsache, dass der zugriffsberechtigte Client diese Methode auch unterstützen muss.

Eine Anleitung für die Implementierung findet man hier: http://blog.zugschlus.de/archives/387-Port-Knocking-fuer-ssh.html

4. Die brutale Methode: SSH abschalten
Diese Massnahme brauche ich nicht weiter zu kommentieren.

5. Fail2Ban
Fail2Ban ist ein Script, das Logdateien des Systems überwacht. Jeder Loginversuch, ob erfolgreich oder nicht, wird in eine Logdatei geschrieben. Stellt Fail2Ban eine definierte Anzahl von Login-Fehlversuchen fest, wird die IP-Adresse des Angreifers sofort per Firewallregel für eine bestimmte Zeit ausgesperrt. Das für den Angriff verwendete Programm kann sich nicht mehr verbinden und läuft irgendwann in ein Timeout.

Das Script kann problemlos implementiert und angepasst werden. Die wichtigsten Parameter, wie z.B. Zahl der Fehlversuche vor einer Aktion können individuell eingestellt werden. Der Systemadministrator erhält nach jeder Aktion des Scripts eine Information per E-Mail.

Leave a Reply

  

  

  

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

Comment Spam Protection by WP-SpamFree