In dieser Artikelserie werden einige wichtige Sicherheitsempfehlungen und Sicherheitsmaßnahmen erklärt, die dazu beitragen, das Sicherheitsniveau Ihres Linux-Servers zu erhöhen.

In diesem Artikel erhalten Sie spezifische Sicherheitsempfehlungen, um Ihren Linux-Server sicher zu konfigurieren und einen sicheren Betrieb zu gewährleisten.

Achtung

Diese Sicherheitsempfehlungen sind ausschließlich für Server mit Root-Zugriff gültig.

Deaktivieren Sie den SSH-Root-Login

Standardmäßig wird auf jedem Linux-System das Root-Konto als erster Benutzer angelegt. Das Root-Konto verfügt über die höchsten Rechte. Mit dem Root-Konto haben Sie Zugriff auf alle Befehle und Dateien und verfügen über volle Lese-, Schreib- und Ausführungsrechte. Wenn dieses Konto unsachgemäß oder unangemessen verwendet wird, kann dies erhebliche Auswirkungen auf Ihren Server haben. Daher sollten Sie diesen Benutzer nur verwenden, um den Server nach dessen Erstellung zu konfigurieren. 

Da der Benutzername root als Standardbenutzername für Root-Konten verwendet wird, ist root häufig ein Ziel für Angriffe. Aus diesem Grund empfiehlt es sich, ein weiteres Konto einzurichten und anschließend den SSH-Root-Login zu deaktivieren. Stellen Sie bei der Einrichtung des Kontos sicher, dass dieses die Root-Benutzerrechte durch Eingabe des Befehls sudo erhalten kann. Alternativ können Sie in der Datei /etc/ssh/sshd_config die Passwort-Authentifizierung für das Root-Konto mittels des Eintrags PermitRootLogin prohibit-password deaktiveren. In diesem Fall kann sich der Root-Benutzer nur mithilfe der Public-Key-Authentifizierung mittels SSH auf dem Server einloggen.

Weitere Informationen finden Sie im folgenden Artikel:

SSH-Root-Login deaktivieren

Ändern Sie den SSH-Port

Standardmäßig ist der Port 22 für die Herstellung einer SSH-Verbindung vorgesehen. Dieser Port wird während der Installation Ihres Betriebssystems automatisch eingetragen.

Um die Zahl der Brute-Force-Angriffe zu reduzieren, können Sie einen anderen Port für den SSH-Zugriff konfigurieren. 

Achtung

Stellen Sie vor der Änderung des Ports sicher, dass die auf dem Server installierten Anwendungen und Dienste ohne den Standardport 22 konfiguriert werden können. Anderenfalls kann eine Änderung des Standardports dazu führen, dass diese Anwendungen und Dienste nicht mehr funktionieren.

Weitere Informationen finden Sie im folgenden Artikel:

SSH-Port ändern

Richten Sie eine E-Mail-Benachrichtigung zur Meldung von SSH-Logins ein

Um die Remote-Aktivitäten zu überwachen, sollten Sie eine E-Mail-Benachrichtigung zur Meldung von erfolgreichen SSH-Logins einrichten. Mit dieser E-Mail-Benachrichtigung können Sie ggf. feststellen, ob ein unberechtigter Zugriff auf den Server erfolgt. Dafür reicht bereits ein einfaches Shell-Skript aus, das automatisch bei jeder erfolgreichen Remote-Anmeldung auf Ihrem Server eine Benachrichtigungs-E-Mail an Ihre Adresse versendet.

Hinweis

Wenn ein Nutzer eine SSH-Verbindung mithilfe eines Programms wie WinSCP aufbaut, das keinen vollständigen Log-in durchführt, versendet das hier beschriebene Skript keine E-Mail!

Schützen Sie den SSH-Login mittels fail2ban vor Brute-Force-Angriffen

Fail2Ban ist eine Software, die die Logdateien wie z. B. /var/log/pwdfail oder /var/log/apache/error_log durchsucht und IP-Adressen temporär blockt, die zu viele fehlgeschlagene Loginversuche aufweisen. Auf diese Weise kann Fail2Ban Brute-Force-Angriffe erkennen und abwehren. 

Sie können Fail2Ban hier herunterladen.

Installieren Sie ein Intrusion Detection System

Ein Intrusion Detection System ist ein System mit dem Sie Angriffe auf Server oder Netzwerke frühzeitig erkennen können. Bekannte Intrusion Detection Systeme sind Tripwire, Aide und Psad.

Prüfen Sie Ihren Server mit Nmap auf offene Ports

Nmap ist eine Open-Source-Software, mit der Sie Sicherheitsüberprüfungen durchführen können. Mit dieser Open-Source-Software können Sie feststellen, welche Hosts im Netzwerk verfügbar sind. Darüber hinaus können Sie mit Nmap die offenen Ports eines Hosts erkennen und die Dienste identifizieren, die auf den offenen Ports antworten. 

Weitere Informationen Nmap finden Sie auf der folgenden Seite:

http://nmap.org

Konsultieren Sie weitere Hardening Guides

Um das Betriebssystem Ihres Servers optimal gegen Angriffe zu härten, empfehlen wir Ihnen die Hardening Guides zu konsultieren, die von den jeweiligen Distributionsanbietern angeboten werden.

CentOS 7

https://wiki.centos.org/HowTos/OS_Protection

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/index


Ubuntu

https://ubuntu.com/security?_ga=2.263273356.1615448989.1569829053-453270342.1569829053

Debian

https://www.debian.org/doc/manuals/securing-debian-howto/

Prüfen Sie verdächtige Prozesse

Wenn Sie den Verdacht haben, dass Ihr Server trotz aller Sicherheitsmaßnahmen kompromittiert ist, sollten Sie die laufenden Prozesse prüfen. Um Ihren Server auf verdächtige Prozesse zu prüfen, gehen Sie wie folgt vor:


Ubuntu

  • Loggen Sie sich als Administrator auf dem Server ein.

  • Um eine Liste der laufenden Prozesse anzuzeigen, geben Sie den folgenden Befehl ein:

    root@localhost:~# ps aux

    Alternativ können Sie die laufenden Prozesse mit dem folgenden Befehl in eine Datei umleiten:

    ps aux > prozesse.txt
    less prozesse.txt


CentOS 7

  • Loggen Sie sich als Administrator auf dem Server ein.

  • Um eine Liste der laufenden Prozesse anzuzeigen, geben Sie den folgenden Befehl ein:

    root@localhost:~# ps aux

    Alternativ können Sie die laufenden Prozesse mit dem folgenden Befehl in eine Datei umleiten:

    ps aux > prozesse.txt
    less prozesse.txt

Achten Sie auf Programme, die sich in ungewöhnlichen Verzeichnissen befinden. Beispiele:

/usr/local/bin
/var/www
/tmp

Wenn ein Prozess angezeigt wird, den Sie nicht identifizieren können, empfehlen wir Ihnen, zunächst zu recherchieren, ob der Prozess eventuell standardmäßig von Ihrem Betriebssystem oder von einer installierten Anwendung standardmäßig ausgeführt wird. 

Prüfen Sie Ihren Server darüber hinaus mithilfe eines Malware-Scanners und eines Anti-Programms auf Malware und auf Viren.

Sicherheitstipps für Anwendungen und Datenbanken

Schützen Sie Unterverzeichnisse von Anwendungen oder benennen Sie diese um

Cyber-Kriminelle scannen oft nach bestimmten Unterverzeichnissen von Anwendungen, wie z.B. /phpmyadmin. Wenn sie fündig werden, probieren sie alle Sicherheitslücken aus, um sich Zugriff zu verschaffen. Wenn Sie diese Unterverzeichnisse nicht schützen können, sollten Sie diese umbenennen.

Wenn Sie diese Anwendungen nicht benötigen, sollten Sie diese aus Sicherheitsgründen deinstallieren.
 

Sichern Sie Ihre Datenbanken

Wenn Sie eine Datenbank wie MySQL oder MariaDB verwenden, sollten Sie diese unbedingt absichern. Im Folgenden sind einige wichtige Sicherheitsmaßnahmen aufgeführt:

  • Stellen Sie sicher, dass sich das lokale "root"-Konto authentifizieren muss.

  • Verwenden Sie die stärksten, verfügbaren Hashing-Algorithmen für die Authentifizierung.

  • Prüfen Sie, ob Ihre Backup-Strategie richtig implementiert ist und testen Sie die Wiederherstellung der Datenbank. Ein normales Datei-Backup kann unter Umständen unzureichend sein. Erstellen Sie stattdessen einen Datenbankexport mit Tools wie mysqldump oder pg_dump.

Weitere Artikel aus dieser Artikelserie

Den ersten Artikel dieser Artikelserie finden Sie hier:

Wichtige Sicherheitsinformationen für Ihren Linux-Server (Teil 1 von 2)