Wenn Ihr Server von einem Angreifer gehackt wurde, kann dieser mit ihm praktisch alles machen. Er kann (Schad)Programme installieren, Spam-Attacken starten, Daten ausspähen oder löschen, Programme deinstallieren, Hintertüren für spätere Zugriffe einrichten und vieles mehr. In diesem Fall bleibt Ihnen in der Regel nichts anderes übrig, als das System komplett neu einzurichten. Wenn Sie ein aktuelles Backup zur Verfügung haben, hält sich der Aufwand vielleicht noch einigermaßen Grenzen. Ansonsten stehen Ihnen eine Menge Arbeit und Ärger bevor. Lassen Sie es nicht soweit kommen! Mit diesen vier Tipps können Sie die klassischen Angriffsflächen Ihres (Virtual) Servers wirkungsvoll gegen Hacking-Attacken schützen.
Tipp 1: Ändern Sie den Standard-SSH-Port Ihres Servers
Für die Client-Server-Verbindung wird standardmäßig der Port 22 genutzt. Hacker machen sich das zu Nutze und zielen mit ihrer automatisierten Passwort-Suche vorzugsweise auf diesen Port. Doch durch eine Änderung des SSH-Ports können Sie Brute-Force-Attacken einfach ins Leere laufen lassen.
Zunächst müssen Sie sich jedoch per SSH-Zugang auf Ihrem Server anmelden. Von einem Windows-Rechner können Sie dafür zum Beispiel die freie Software PuTTY nutzen. Eine Anleitung zum Aufbau einer Client-Server-Verbindung mit PuTTY finden Sie in unserem FAQ-Artikel.
Loggen Sie sich nun mit Ihrem Benutzernamen und Passwort ein. Rufen Sie dazu mit einem Editor die sshd_config Datei Ihres Servers auf. Zum Beispiel mit vi, dem Standard-Texteditor von Linux-Systemen.
Geben Sie zum Öffnen der SSH-Konfigurations-Datei über die Kommandozeile folgenden Befehl ein:
vi /etc/ssh/sshd_conf
(Achten Sie auf das Leerzeichen zwischen dem Programm „vi“ und dem „Dateipfad“)
Ändern Sie nun den Port von 22 auf einen Wert zwischen 49152 und 65535.
Speichern Sie diese Änderung mit dem Befehl:
:wq
(wenn Sie den Texteditor vi nutzen.)
Damit die Änderung aktiv wird, starten Sie bitte den SSH-Dienst neu. Geben Sie dazu bitte folgenden Befehl ein:
/etc/init.d/ssh restart
Aktualisieren Sie nun entsprechend auch den Port Ihrer Client-Server-Verbindung.
Tipp 2: Verhindern Sie den Root-Login
Standardmäßig ist auf jedem (Linux) Server der Benutzer „Root“ angelegt. Auch das kann zu einem Einstiegstor für Hacker werden. Daher empfiehlt es sich, aus Sicherheitsgründen den Root-Login zu verhindern.
Legen Sie zunächst einen neuen Benutzer an, mit dem Befehl:
useradd "NAME"
Fügen Sie einen neuen Benutzernamen hinzu und vergeben Sie mit dem Befehl:
passwd „NAME“
ein Passwort.
Nun müssen Sie dem neuen Benutzer Administrations-/Root-Rechte zuweisen.
Öffnen Sie dazu bitte wieder die SSH-Konfigurations-Datei über die Kommandozeile:
vi /etc/ssh/sshd_config
Ergänzen Sie den neuen Benutzernamen mit der folgenden neuen Befehlszeile am Ende des Dokuments:
AllowUsers "NAME"
Speichern Sie diese Änderung.
Testen Sie nun den Login mit dem neuen Benutzernamen, bevor Sie den Root-Login sperren.
Funktioniert der Login, können Sie den Root-Login sperren. Öffnen Sie dazu bitte wieder die sshd_config-Datei und ändern Sie die Zeile:
PermitRootLogin yes
in:
PermitRootLogin no
Alle Anmeldungen unter dem Benutzernamen „root“ werden damit automatisch verhindert.
Tipp 3: Erstellen Sie einen RSA-Schlüssel für die Anmeldung an Ihrem Server
Zusätzliche Sicherheit gegenüber einer einfachen Passwortabfrage bietet Ihnen ein asymmetrisch kryptografisches Verschlüsselungsverfahren mittels RSA-Schlüssel. Für den Aufbau der gesicherten Client-Server-Verbindung müssen Sie zunächst die Schlüssel erzeugen. Geben Sie über die Kommandozeile folgenden Befehl ein:
ssh-keygen -b 4096 -t rsa
Die Keys werden dann in folgendem Verzeichnis abgelegt.
/root/.ssh/id_rsa
Laden Sie die Schlüssel zum Beispiel mit einem FTP-Programm auf Ihren Client herunter.
Starten Sie den SSH-Dienst nun neu, mit dem Befehl:
/etc/init.d/ssh restart
Wenn Sie für die Client-Server-Verbindung eine Software nutzen, müssen Sie den Schlüssel dort natürlich auch einbinden. Zum Beispiel bei Putty unter SSH/Key mit dem Befehl Add Key.
Tipp 4: Blockieren Sie verdächtige IP-Adressen
Mit einem Intrusion-Detection-System (IDS) wie z.B. dem kostenlosen Fail2ban lassen sich Dienste auf Ihrem Server noch besser gegen unbefugte Zugriffe absichern, indem verdächtige IP-Adressen möglicher Angreifer ganz einfach blockiert werden.
Dabei können Sie individuell definieren, ab wie vielen falschen Login-Versuchen eine Adresse gesperrt wird und wie lange diese gesperrt bleiben soll (Minuten, Stunden, Tage …)
Installieren Sie zunächst das Intrusion-Detection-System (in unserem Beispiel fail2ban) mit dem Befehl:
apt-get install fail2ban
(bei Ubuntu / Debian)
oder
yum install fail2ban
(bei CentOS)
Um individuelle Sicherheitseinstellungen vornehmen zu können, müssen Sie Fail2Ban konfigurieren. Erstellen Sie dazu zunächst eine lokale Variante mit dem Befehl:
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Öffnen Sie die neue jail.local-Datei in einem Texteditor, zum Beispiel vi.
vi /etc/fail2ban/jail.local
Definieren Sie unter bantime, wie lange eine verdächtige IP-Adresse geblockt werden soll. Der Wert wird in der Einheit Sekunden angegeben.
bantime = 600 (1o Minuten)
Unter maxretry können Sie festlegen, nach wie vielen falschen Login-Versuchen die entsprechende IP-Adresse gesperrt werden soll.
maxretry = 3
Zum Schluss müssen Sie Fail2ban lediglich noch einmal starten, damit die Änderungen in Kraft treten. Geben Sie dazu bitte folgenden Befehl ein:
Achtung:
Wenn Sie zuvor bereits den Standard SSH-Port verändert haben, müssen Sie diese Änderung auch im Programm Fail2ban vornehmen.
Öffenen Sie dazu die jail.conf bzw. jail.local Datei mit einem Texteditor und verändern Sie die Zeile:
Port = ssh
in
Port = (Neue Portnummer)
und speichern Sie diese Änderung. Ansonsten würde Fail2ban den falschen Port überwachen.
/etc/init.d/fail2ban restart
Fail2ban bietet Ihnen darüber hinaus die Möglichkeit, die Absicherung individuell an einzelne Dienste anzupassen.
Möchten Sie sehen, welche IP-Adressen von fail2ban geblockt wurde, können Sie diese mit dem Befehl:
iptables –L
aufrufen oder sich die entsprechende Log-Datei anzeigen lassen.
var/log/fail2ban
Die verdächtigen IP-Adressen lassen sich dann zum Beispiel mittels „blacklist“ komplett von Ihrem System ausschließen.
Schutz vor Hacking-Attacken – Fazit
Wie Sie sehen, können Sie Ihren (Virtual) Server mit wenigen Schritten wirkungsvoll gegen Hacking-Attacken absichern. Gehen Sie auf Nummer Sicher und schützen Sie Ihren Server am besten noch heute.
Informieren Sie sich auch über unsere SSL-Zertifikate, mit denen Sie virtuelle Server vor Hacking schützen können. Zwei vServer-Tarife von Host Europe bieten Ihnen bereits ein SSL inklusive.
Hier erfahren Sie mehr über die SSL-Zertifikate von Host Europe.
Sie suchen ein passendes Server-Produkt für Ihre Webprojekte?
Profitieren Sie von unseren leistungsstarken Server-Lösungen.
Sie kennen weitere Möglichkeiten zum Schutz gegen Hacking-Attacken? Dann schicken Sie uns einen Kommentar. Wir freuen uns auf Ihr Feedback.
Bildnachweis: Fotolia, Lizenz: Host Europe