Vorraussetzungen
- Allgemeine Voraussetzungen
- Root-Rechte auf dem Server
- Linux Befehl-Kenntnisse
Dauer
ca. 45 Min.Verwandte Beiträge
- Passwörter
- Firewall
1. Allgemeine Problematik
Sofern man einen Server im Internet betreibt wird man nur in den seltesten Fällen ohne SSH Zugang auskommen um dem Server zu Administrien. Das wissen auch Angreifer und nutzen dieses gerne aus, um Zugriff auf dem Server zu erhalten. In den folgenden Punkten möchten wir einige Tipps geben wie man es den Angreifern erschweren kann, Zugriff auf dem Server zu erlangen.
Man wird es wohl nie Schaffen einen Server 100% sicher zumachen, aber man kann es den Angreifer so erschweren das sich kein Angriff mehr lohnt. Diesen kann man durch viele wege erreichen.
2. Grundlagen
Es sollte immer die Aktuelle Version des SSH Deamons installiert sein. Um die Tipps zur SSH Absicherung um zusetzen benötigt man einige Dateien.
Folgende Dateien / Verzeichnise werden Benötigt.
- /var/log/messages dieses kann abweichen
- der Konfigurations Pfad: /etc/ssh/sshd_config bzw. /etc/ssh/ssh_config abhänig von der Distribution
3. Server Administrieren ohne SSH
Der beste / sicherste Weg ist garnicht SSH nach aussen offen zu machen aber wie?
Möglichkeiten:
- Wenn der Server in einem Datencenter / Rechenzentrum steht wo man zutritt hat, kann man direkt mit Tastatur und Monitor den Server Administrieren. Nachteil wenn der Zugang benötigt wird muss immer direkt vorm Server sitzen.
- Zweite Netzwerkkarte mit seperater IP mit z.B. VPN Zugang.
- Oder eine eRIC Remote-Karte
- Webadministration mit z.B. Webmin oder Plesk (wobei man hier auch eingeschränkt ist und auch in diesen Anwendung gibt es Lücken in der Sicherheit.)
4. Der Angriff
Mit eines der heufigsten Angriffe auf Linux server ist es über SSH root- Rechte zuerlangen. Man weiss der der Benuzer root auf dem Server existent ist, nun braucht man nur noch das richtig Passwort und man hätte un eingeschränken zugriff.
Und da fangen die Probleme an. Jeder sollte sich im klaren der einer Server am Internetbetreibt auch für die Sicherheit zusändig ist und auch die Haftung dafür übernimmt. Ein Beispiel, sollte der Server kompromiert worden sein und es wird da drüber SPAM Mails oder DDoS Attacken gefahren kann man dafür in Haftung genommen werden.
5 .ssh-Daemon
Schon mit ein paar Handgriffen kann man den SSH-Daemon relativ sicher Konfigurieren.
Die Konfiguraationsdatei ist unter /etc/ssh/sshd_config zu finden. Und kann mit folgenden möglichen Optionen erweitert oder geändert werden.
ListenAddress 192.168.0.1
Protokol 2
PermitRootLogin No
PermitEmptyPasswords no
PasswordAuthentication yes
LoginGraceTime 600
MaxAuthTries 3
AllowUsers root@*.domain user
DenyGroups root
DenyUsers root
TCPKeepAlive yes
MaxStartups 32
Was bedeuten die einzelnen Optionen
Durch Firewall Regeln kann man denn SSH noch einstück sicherer machen in dem man sagt, nur die IP 80.81.82.83 darf auf den Port des SSH-Daemon zugreifen. man sollte aber immer mehre IP´s angeben um in Notfällen auch von anderen PC´s auf den SSH-Daemon zu zugreifen. Bei DSL verbinden mit Dynamischen IP Adressen ist es sinnvoll sein IP mal zu Protokolieren um dann den IP Adressbereich frei zuschalten. Meist sieht das so aus 80.81.x.x. Das ganze kann natürlich durch IP-Sppofing auch gefälscht werden. Aber die wahrscheinlich keit ist realtive gering dazu müsste jemand schon genauere kenntnisse über Ihr Netzwerk haben.
6. Port
Standmässig lautet der SSH Port 22. Wenn ein Angreifer ein Portscan durchführt und sieht das der Port 22 Offen ist werden Sie schnell in den logs sehen das man versucht auf dem Server einzudringen. Da Standart werte gerne ausgenutzt werden, sollte man dieses ändern. Die Änderung des Port erschwert den angreifer z.B. Automatisierte Attacken zu starten.
Wenn Sie einen anderen Port wählen z.B. 54732 dann dauert es bei einen Portscan realtiv lange bis man zum Port kommt und denn weiss man immer noch nicht was auf dem Port läuft. Dieses sache dient nur zu erschwerung des eindringens.
Port 22 ändern Sie einfach die Zahl auf einen bestimmten wert zwischen 1- 65535. Beachten Sie das das sich keine Standart Ports überscheinden. (Port Liste) Dann müssen Sie nur noch den dienst neu Starten mit
7. Sperren statt blocken
Ein wichter schritt in die richtige Richtugn ist es potenzieller Angreifer zu Blocken. Aber sinn völler ist es auch den potenzielen Angreifen direkt zu sperren! Weil wenn jemand 15 mal das SSH Passwort falsch eingegaben hat und immer noch zugriff auf den Server hat, hat der Angreifer alle Zeit der Welt. Hier zu gibt es Tools wie fail2ban die dieses überprüfen und dann die IP des Angreifen in die IP Table (Firewall) des Servers eintragen um diesen z.B. für 24 Stunden zu sperren. So ist kein zugriff von der IP mehr möglich.
8. Logs
Wichtig ist es auch ständig die Log Dateien im Auge zugehalten. um auch möglich Angriffe zu erkennen und gegen zu steuern.
Jun 17 20:10:25 server sshd [5421] : Failed Password for root
form 123.456.789.123 port 22 ssh2
9. Abschliesendes
Sicherlich gibt es noch viele weiter Möglichkeiten mehr Sicherheit zu erzielen für Anregungen und Kretik würden wir uns freunen.
Weiterführende / Verwandte Artikel
- Wikipedia: IP-Sppofing
- Iana.org: Portliste