Zurück zum Blog

Linux Server absichern: Checkliste Schritt für Schritt

Linux Server absichern mit Checkliste: automatische Updates, SSH-Schlüssel, Firewall, Fail2ban, unnötige Dienste, Isolation, Backups und Überwachung.

Nodesty-Team5 Min. LesezeitSicherheit
Der Schriftzug Linux Security mit Updates, SSH und Firewall auf dunklem Nodesty-Hintergrund

Einen Linux Server abzusichern bedeutet nicht, eine einzelne Einstellung zu ändern, sondern mehrere einfache Maßnahmen zu kombinieren, die einander ergänzen. Jeder im Internet erreichbare Server wird schon wenige Minuten nach der Einrichtung von automatisierten Scans und Angriffen getroffen, die Passwörter durchprobieren. Die gute Nachricht: Fast alle dieser Angriffe laufen mit den wenigen grundlegenden Schritten dieser Checkliste ins Leere.

In dieser Anleitung finden Sie gebündelt, wie Sie einen neuen Linux-Server Schritt für Schritt absichern, warum jeder Schritt wichtig ist und welche unserer Anleitungen die Details erklären.

Die Checkliste

SchrittWarum?
System aktualisierenSchließt bekannte Lücken
Automatische Sicherheitsupdates aktivierenLücken werden geschlossen, auch wenn Sie beschäftigt sind
Normalen Benutzer anlegenVerhindert, dass Sie ständig als root arbeiten
Auf Anmeldung per SSH-Schlüssel umstellenMacht Angriffe durch Passwortraten wirkungslos
Firewall aktivierenGibt nur die nötigen Ports nach außen frei
Fail2ban installierenSperrt hartnäckige Angreifer automatisch
Unnötige Dienste abschaltenVerkleinert die Angriffsfläche
Anwendungen mit eigenen Benutzern ausführenVerhindert, dass eine Lücke den ganzen Server betrifft
Zugangsdaten schützenVerhindert, dass Passwörter und Schlüssel durchsickern
Backups erstellen und Wiederherstellung testenBringt Sie zurück, wenn alles schiefgeht
Logs und Ressourcen überwachenLässt Sie Probleme früh erkennen

1. Halten Sie das System aktuell

Aktualisieren Sie beim ersten Verbinden mit dem Server alle Pakete:

sudo apt update && sudo apt upgrade

Sorgen Sie anschließend dafür, dass Sicherheitsupdates automatisch installiert werden:

sudo apt install unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades

unattended-upgrades installiert standardmäßig nur Sicherheitsupdates. Kernel-Updates werden erst nach einem Neustart des Servers wirksam; existiert die Datei /var/run/reboot-required, starten Sie den Server zu einem passenden Zeitpunkt neu. Unter AlmaLinux und Rocky Linux übernimmt das Paket dnf-automatic dieselbe Aufgabe.

2. Normaler Benutzer und SSH-Schlüssel

Legen Sie einen Benutzer mit sudo-Rechten an, statt ständig als root zu arbeiten, richten Sie die Anmeldung per SSH-Schlüssel ein und schalten Sie danach die Anmeldung per Passwort und als root ab:

PasswordAuthentication no
PermitRootLogin no

Bevor Sie diese Einstellungen in der Datei /etc/ssh/sshd_config vornehmen, testen Sie unbedingt in einem separaten Terminal, ob Sie sich mit dem neuen Benutzer per Schlüssel verbinden können. Alle Schritte erklären wir ausführlich in unserem Artikel Was ist SSH?.

3. Firewall

Sperren Sie standardmäßig alle eingehenden Verbindungen und öffnen Sie nur die Ports, die Sie tatsächlich nutzen:

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 443/tcp
sudo ufw enable

Vergessen Sie nicht, die Regel OpenSSH vor dem Befehl enable hinzuzufügen; sonst sperren Sie sich selbst aus. Geben Sie Dienste wie Datenbanken und Verwaltungsoberflächen nie im Internet frei; nutzen Sie für den Fernzugriff einen SSH-Tunnel oder WireGuard. Wenn Sie Docker verwenden, denken Sie daran, dass veröffentlichte Ports die ufw-Regeln umgehen; Details finden Sie in unseren Artikeln Was ist ein Port? und Docker installieren.

4. Fail2ban

Fail2ban sperrt IP-Adressen, die wiederholt fehlgeschlagene Anmeldeversuche unternehmen, automatisch für eine bestimmte Zeit. Den eigentlichen Schutz bietet bereits die Anmeldung per SSH-Schlüssel, doch Fail2ban reduziert das Rauschen in den Logs und schützt auch andere Dienste wie Nginx. Die Installation erklären wir in unserer Anleitung Fail2ban installieren.

5. Schalten Sie unnötige Dienste ab

Jeder Dienst auf dem Server, der nach außen lauscht, ist eine Tür. Sehen Sie nach, was lauscht:

sudo ss -tulpn

Sehen Sie einen Dienst, den Sie nicht kennen oder nicht nutzen, stoppen Sie ihn und verhindern Sie, dass er beim Systemstart startet:

sudo systemctl disable --now dienstname

Auch das Entfernen von Paketen, die Sie nicht verwenden, verkleinert die Angriffsfläche.

6. Führen Sie Anwendungen mit eigenen Benutzern aus

Führen Sie Webanwendungen, Bots und Gameserver nicht als root aus, sondern jeweils mit einem eigenen Benutzer. Eine Sicherheitslücke in einer Anwendung erreicht dann nur die Dateien dieses Benutzers. Seien Sie auch bei Dateiberechtigungen zurückhaltend: Einstellungen wie chmod 777, die allen Schreibrechte geben, scheinen Probleme zu lösen, sind aber eine ernste Sicherheitslücke. Berechtigungen erklären wir in unserer Anleitung Wichtige Linux-Befehle.

7. Schützen Sie Zugangsdaten

  • Schreiben Sie Passwörter, API-Schlüssel und Datenbankzugänge nicht in den Code, sondern in Dateien wie .env, und fügen Sie diese Dateien nicht zum Git-Repository hinzu.
  • Stellen Sie sicher, dass geheime Dateien nur vom zuständigen Benutzer gelesen werden können (chmod 600).
  • Verwenden Sie für jeden Dienst und jede Person eigene Passwörter und Schlüssel; gelangt etwas nach außen, müssen Sie nur dieses eine ändern.

Wie Sie Zugangsdaten im Veröffentlichungsprozess verwalten, erklären wir in unserer Anleitung Deployment mit Git.

8. Backups

Eines Tages reichen die Sicherheitsmaßnahmen vielleicht nicht aus; dann rettet Sie ein Backup. Erstellen Sie Backups nach der 3-2-1-Regel, bewahren Sie mindestens eine Kopie verschlüsselt und unabhängig vom Server auf und testen Sie die Wiederherstellung regelmäßig. Details finden Sie in unserem Artikel Server Backup.

9. Überwachung und Audit

  • Anmeldeprotokolle: last zeigt die letzten Anmeldungen, sudo journalctl -u ssh die SSH-Logs. Sehen Sie eine erfolgreiche Anmeldung von einer IP-Adresse, die Sie nicht kennen, handeln Sie sofort.
  • Ressourcennutzung: Ein unbekannter Prozess, der dauerhaft CPU belegt, kann ein Zeichen für einen kompromittierten Server sein. Wie Sie das prüfen, erklären wir in unserem Artikel Server langsam?.
  • Sicherheitsaudit: Das quelloffene Werkzeug Lynis prüft Ihren Server anhand Hunderter Kontrollpunkte und gibt Empfehlungen:
    sudo apt install lynis
    sudo lynis audit system
    
  • Erreichbarkeit: Überwachen Sie mit einem Monitoring-Dienst, ob Ihr Server läuft; werfen Sie dazu einen Blick in unseren Artikel Was ist Uptime?.

10. Schützen Sie auch Ihr Konto

Das Konto, mit dem Sie Ihren Server verwalten, ist genauso wichtig wie der Server selbst. Aktivieren Sie im Kundenbereich Ihres Anbieters die Zwei-Faktor-Authentifizierung und verwenden Sie für jeden Dienst ein einzigartiges Passwort. Wer Zugriff auf den Kundenbereich hat, kann Ihren Server neu installieren, auf Ihre Backups zugreifen oder Passwörter zurücksetzen.

Sicherheit bei Nodesty

Mit vollem Root-Zugriff auf den AMD Ryzen 9 9950X vServern und AMD EPYC 7763 vServern von Nodesty können Sie jeden Schritt dieser Checkliste umsetzen. Der L3–L7-DDoS-Schutz durch nShield filtert Angriffe auf Netzwerkebene, bevor sie Ihren Server erreichen, kostenlose tägliche Backups mit 7 Tagen Aufbewahrung bilden Ihr letztes Sicherheitsnetz, und wenn Ihr SSH-Zugang abbricht, erreichen Sie Ihren Server jederzeit über die Webkonsole. Aktivieren Sie zusätzlich die Zwei-Faktor-Authentifizierung in Ihrem Kundenbereich, um auch Ihr Konto zu schützen.

Häufig gestellte Fragen

Was sollte ich auf einem neuen Server als Erstes tun?

Das System aktualisieren, einen normalen Benutzer mit sudo-Rechten anlegen, die Anmeldung per SSH-Schlüssel einrichten und die Anmeldung per Passwort abschalten sowie die Firewall so aktivieren, dass nur die nötigen Ports erlaubt sind. Diese vier Schritte machen den Großteil der automatisierten Angriffe auf einen im Internet erreichbaren Server vom ersten Tag an wirkungslos.

Sollte ich auf meinem Server einen Virenscanner installieren?

Auf Linux-Servern sind aktuelle Software, eine starke Authentifizierung und geschlossene Ports weit wichtiger als klassische Antivirenprogramme. Auf Servern, auf die Benutzer Dateien hochladen, kann ein Scanner wie ClamAV als zusätzliche Schutzschicht dienen. Beim Shared Webhosting übernimmt der Anbieter solche Schutzmaßnahmen.

Woran erkenne ich, dass mein Server kompromittiert wurde?

Die häufigsten Anzeichen sind unbekannte Prozesse mit dauerhaft hoher CPU-Last, Benutzer oder SSH-Schlüssel, die Sie nicht kennen, unerwarteter ausgehender Datenverkehr und Missbrauchsmeldungen Ihres Anbieters. In einem solchen Fall ist es am sichersten, den Server aus einem sauberen Backup neu aufzusetzen, statt zu versuchen, ihn zu bereinigen.

Können automatische Updates den Server beschädigen?

unattended-upgrades installiert standardmäßig nur Sicherheitsupdates, und diese sind so aufbereitet, dass sie mit den vorhandenen Versionen kompatibel bleiben. Die Wahrscheinlichkeit von Problemen ist gering, und eine bekannte Lücke offen zu lassen, ist ein weit größeres Risiko. Upgrades auf neue Hauptversionen sollten Sie dagegen immer von Hand und erst nach einem Backup durchführen.

Warum ist die Anmeldung als root gefährlich?

root ist das Konto, das auf dem Server alles darf, und da sein Benutzername allgemein bekannt ist, ist es das erste Ziel automatisierter Angriffe. Wenn Sie sich mit einem normalen Benutzer anmelden und sudo nur bei Bedarf verwenden, verkleinern Sie die Angriffsfläche und begrenzen zugleich die Folgen versehentlicher Fehler.

Wie schütze ich mein Nodesty-Konto?

Das Konto, mit dem Sie Ihren Server verwalten, ist genauso wichtig wie der Server selbst. Aktivieren Sie im Nodesty-Kundenbereich die Zwei-Faktor-Authentifizierung, verwenden Sie ein starkes und einzigartiges Passwort und prüfen Sie regelmäßig die Sitzungen und Zugriffsänderungen in Ihrem Konto.

Nodesty

Über den Autor

Nodesty-Team · Infrastruktur und Support

Das Nodesty-Team betreibt unsere Server, unser Netzwerk und unseren DDoS-Schutz im Alltag und beantwortet Support-Anfragen rund um die Uhr. Diese Ratgeber entstehen aus dieser Arbeit.

Verwandte Artikel

Starte deinen Server jetzt.

Erstellen, wachsen und skalieren Sie Ihre Projekte grenzenlos auf der Premium-Infrastruktur von Nodesty.

                                                                                                                                                                                                                            
                                                                                                                                                                                                                            
                                                                                                                                                                                                                            
                                                                                                                             ············································                                                   
                                                ··································································································..........···························                                     
                                       ················..........................................................................................................................··············                             
                                  ·············.................::::::::::::::::::::::::::::::::::::::::::::::....................:::::::::::::::::::::::::::::::::::::::................···········                        
                             ············................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::............·········                     
                         ············.................:::::::::::::::::::::::::::::::::::::::::::::::::::------------::::::::::::::::::::::::::::::----------------:::::::::::::::::::::..........········                  
                    ············......................::::::::::::::::::::::::::::::::::::------------------------------------------------------------------------------------:::::::::::::.........········                
                ··········.............................................::::::::::::::::::-------------==========================================-----------------------------------:::::::::::........·······               
             ········..................:.....................................::::::::::--------=======+++++++++++++++++++++++++++++++++++++=========================------------------::::::::::.......·······              
           ······.........::::::::::::::::::::................................:::::::-----=====++++xxxxxx**************************xxxxxxxxx++++++++++++++===================------------::::::::.......·······             
          ·····.......:::::::::::::::::::::::::::.............................:::::----===+++xxx****%%%%&&&&&&#############&&&&&&&%%%%%*******xxxxxxxx++++++++++++++==============----------:::::::......······             
         ····......::::::::-------------:::::::::::..........................::::---===+++xx***%%%&&&####@@@@@@@@@@@@@@@@@@@@@@@@####&&&&&%%%%*******xxxxxxxxx+++++++++++++===========--------::::::......·····             
        ····.....:::::::--------------------:::::::::.......................::::---===++xxx**%%&&&###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###&&&&%%%%%********xxxxxxxxxxx++++++++++++========------::::::.....······            
        ····.....:::::--------------------------::::::::....................::::---===++xx***%%&&&####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###&&&&&%%%%%**********xxxxxxxxxxxxx+++++++++=======------:::::.....·····            
        ····....::::::-------=============---------:::::::::................:::::---===+++xx***%%%&&&#####@@@@@@@@@@@@@@@@@@@@@@@@@#####&&&&&%%%%%%*************xxxxxxxxxxxxxx+++++++++======-----:::::....·····            
         ····....:::::-------================---------:::::::::...............:::::----===++++xxx***%%%%&&&&&&#################&&&&&&%%%%%%%*******************xxxxxxxxxxxxxxxxx++++++++======----:::::....·····            
         ·····....:::::--------=================---------::::::::::..............:::::::-----====+++++xxxxxx**************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx++++++++=====-----::::....·····            
          ·····.....:::::--------=================----------:::::::::::.................:::::::::-------=============++++++++++++++++++++++++++++++++++++xxxxxxxxxxxxxxxxxxxxxxx++++++++======-----::::....·····            
            ·····.....:::::::----------===========-------------::::::::::::.........................::::::::::::::::::------------------=============+++++++++++++++++++++++++++++++++=======-----::::.....·····            
              ······......:::::::---------------------------------:::::::::::::........................................:::::::::::::::-----------============+++++++++++++++++++++========------:::::.....·····             
                 ······........:::::::::---------------------------:::::::::::::::::...........................................:::::::::::::------------=============================--------::::::.....······              
                    ·········.........:::::::::::::::-------------::::::::::::::::::::::::.......................................::::::::::::::::--------------------------------------::::::::......·······                
                          ··········............::::::::::::::::::::::::::::::::::::::::::::::::::................................::::::::::::::::::::::::::-------------:::::::::::::::.........········                   
                                  ············..................:::::::::::::::::::::::::::::::::::::::::::.........................:::::::::::::::::::::::::::::::::::::................···········                        
                                             ················.............................................................................................................·················                                 
                                                           ······················................................................................···························                                                
                                                                               ·········································································