Wie mache ich einen Debian Server sicher?

In dieser Anleitung zeigen wir Ihnen, wie Sie einen Server mit Debian sicherer machen.

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
 
War diese Antwort hilfreich? 23 Benutzer fanden dies hilfreich (25 Stimmen)