Minimale Installation
Installieren Sie Ihren Server stehts nur mit den notwendigen Paketen. Jeder Overhead an Software bedeutet auch mehr potentielle Angriffsfläche.
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. Öffnen Sie dazu die Konfigurationsdatei von SSH
nano /etc/ssh/sshd_config
und ändern Sie den SSH Port von
Port 22
auf einen anderen Port nach Ihrer Wahl ab. Der SSH Dienst muss danach mit
/etc/init.d/ssh restart
neu gestartet werden.
Beachten Sie bitte, dass Sie keinen festen Port eines anderen Dienstes benutzen. Eine Liste mit Ports und Diensten finden Sie unter
more /etc/services
Aktive SSH Verbindungen bleiben offen. Öffnen Sie nun ein neues Terminalfenster und testen Sie ob Sie SSH mit Ihrem angegebenen Port erreichen, bevor Sie das aktive Fenster schliessen.
Benachrichtigung bei SSH Login
Mit folgendem Skript erhalten Sie eine E-Mail, sobald sich ein Benutzer per SSH einloggt.
Erstellen Sie 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 IHR-HOSTNAME" ihre-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.
Achtung: Bei Programmen, die keinen vollständigen Login durchführen (z.B. winSCP) wird keine E-Mail versandt!
Regelmässige Systemupdates
Das Debian Security Team veröffentlicht regelmässig Sicherheitsupdates und neue Kernelversionen. Die Updates sollten Sie (sofern Sie keinen eigenen, angepassten Kernel verwenden) regelmässig durchführen. Um nicht jeden Tag Updates manuell prüfen zu müssen, gibt es das Paket apticron, welches Sie per Mail über neue Updates informiert. Installieren Sie zunächst das Paket mit
aptitude install apticron
und legen Sie unter
/etc/apticron/apticron.conf
Ihre Mailadresse und den Hostnamen des Systems (optional) fest. Die Updates könnten natürlich auch per Cronjob jeden Tag automatisch installiert werden, was wir jedoch nicht empfehlen. Sie haben so nie die Kontrolle darüber was installiert wird und können evtl. Fehler nur schwer nachvollziehen.
Rootkits mit rkhunter aufspüren
Sollte es einem Angreifer gelingen das System zu kompromittieren, ist es meist schwer nachzuvollziehen wo der Einbruch erfolgte. Mit dem Tool rkhunter wird der Server auf häufige Rootkits, verdächtige Strings, etc. überprüft und der Benutzer beim Fund informiert.
Installieren Sie das Paket mit
aptitude install rkhunter
und tragen Sie in der Datei
/etc/rkhunter.conf
Ihre Mailadresse beim Punkt
MAIL-ON-WARNING="user@domain.tld"
ein. Führen Sie nun einen ersten Test mittels
rkhunter --check
aus. Sollten Sie hier Warnungen erhalten, bei denen Sie wissen dass diese false-positive sind, können Sie Whitelists unter
/etc/rkhunter.conf
erstellen. Diese könnten ungefähr so aussehen
ALLOWHIDDENDIR=/dev/.mdadm RTKT_FILE_WHITELIST=/etc/init.d/.depend.boot SCRIPTWHITELIST=/etc/init.d/hdparm
Genaue Ergebnisse der Tests finden Sie unter
/var/log/rkhunter.log