Absicherung eines Debian Servers
Dieser Artikel beschreibt die Absicherung eines Debian Root Server
Inhaltsverzeichnis
Minimale Installation
Installiere auf deinem Server stehts nur mit den notwendigen Paketen. Jeder Overhead an Software bedeutet auch mehr potentielle Angriffsfläche.
SSH Login absichern
Es empfiehlt sich dem Root Benutzer keinen direkten SSH Login zu erlauben. Sie können ausserdem eine Gruppe von Benutzern festlegen, die SSH nutzen dürfen. Die genauer Anleitung finden Sie unter SSH Root Login unter Debian verbieten Sicherer und komfortabler ist es ausserdem, den Login mit Passwort zu verbieten und dafür einen SSH Key zu verwenden. Die genaue Anleitung finden Sie unter SSH Key Login
SSH Port ändern
Die Mehrzahl der (automatisierten) Loginattacken auf SSH erfolgt auf den Standardport 22. Eine einfache und effektive Methode ist es, den SSH Port auf einen anderen zu ändern. Öffne dazu die Konfigurationsdatei von SSH
nano /etc/ssh/sshd_config
und ändere den SSH Port von
Port 22
auf einen anderen Port nach Deiner Wahl ab. Der SSH Dienst muss danach mit
/etc/init.d/ssh restart
neu gestartet werden.
Beachte bitte, dass du keinen festen Port eines anderen Dienstes benutzt. Eine Liste mit Ports und Diensten findest du unter
more /etc/services
Aktive SSH Verbindungen bleiben offen. Öffnen nun ein neues Terminalfenster und teste ob du SSH mit deinem angegebenen Port erreichst, bevor du das aktive Fenster schließt.
SSH Anmeldung mit Passwort verbieten
Öffne dazu die Konfigurationsdatei von SSH /etc/ssh/sshd_config und ändere es einfach in
PasswordAuthentication no
ab. Der SSH Diendst muss mittel
service ssh restart
neu gestartet werden damit er die Konfiguration übernimmt.
Benachrichtigung bei SSH Login
Mit folgendem Skript erhälst du eine E-Mail, sobald sich ein Benutzer per SSH einloggt.
Erstelle dazu ein ausführbares Shell Skript /opt/shell-login.sh mit folgendem Inhalt:
#!/bin/bash echo "Login auf $(hostname) am $(date +%Y-%m-%d) um $(date +%H:%M)" echo "Benutzer: $USER" echo finger
Damit die Mails beim Login versendet werden, muss folgende Zeile
/opt/shell-login.sh | mailx -s "SSH Login auf DEIN-HOSTNAME" deine-emailadresse@example.com
in der Datei
/etc/profile
eingetragen werden.
Die Datei /opt/shell-login.sh muss die Rechte 755 besitzen:
chmod 755 /opt/shell-login.sh
Die Mail wird nun automatisch versendet, sobald sich ein Benutzer per SSH einloggt. Der User bekommt davon nichts mit.
Regelmäßige Systemupdates
Das Debian Security Team veröffentlicht regelmäßig Sicherheitsupdates und neue Kernelversionen. Die Updates solltest du (sofern du keine eigenen, angepassten Kernel verwendest) regelmäßig durchführen. Um nicht jeden Tag Updates manuell prüfen zu müssen, gibt es das Paket apticron, welches dich per Mail über neue Updates informiert. Installiere zunächst das Paket mit
aptitude install apticron
und lege es unter /etc/apticron/apticron.conf
deine Mailadresse und den Hostnamen des Systems (optional) fest. Die Updates könnten natürlich auch per Cronjob jeden Tag automatisch installiert werden, was ich jedoch nicht empfehle. Du hast so nie die Kontrolle darüber was installiert wird und können evtl. Fehler nur schwer nachvollziehen.