08. Ubuntu-Server absichern: Praktische Schritte zur Härtung und zum Schutz

Die Absicherung Ihres Ubuntu-Servers ist unerlässlich, um Ihre Daten, Anwendungen und Infrastruktur vor böswilligen Angriffen zu schützen. Ob Sie Websites, Datenbanken oder Anwendungen hosten – robuste Sicherheitspraktiken sorgen dafür, dass Ihr Server widerstandsfähig gegen Schwachstellen ist. In diesem Artikel gehen wir praktische Schritte zur Absicherung Ihres Ubuntu-Servers durch, darunter das Konfigurieren von Firewalls, das sichere Einrichten von SSH und die Verwendung von Tools wie fail2ban sowie weitere Tipps zur Härtung.


Vorheriger Artikel:

01. Einführung in Ubuntu Server – SysOSX: AI & Cloud

02. So richten Sie Ihren ersten Ubuntu-Server ein: Ein Leitfaden für Anfänger – SysOSX: AI & Cloud

03. Die Linux-Befehlszeile für Ubuntu Server beherrschen – SysOSX: AI & Cloud

04. Verwalten von Benutzern und Berechtigungen auf Ubuntu Server: Ein umfassender Leitfaden – SysOSX: AI & Cloud

05. Netzwerkgrundlagen für Ubuntu Server: Ein umfassender Leitfaden – SysOSX: AI & Cloud

06. Installieren und Verwalten von Software auf Ubuntu Server: Ein vollständiger Leitfaden – SysOSX: AI & Cloud

07.Patchen und Aktualisieren von Ubuntu Server: Ein umfassender Leitfaden – SysOSX: AI & Cloud



Warum ist Serversicherheit wichtig?

Server enthalten oft vertrauliche Daten und sind für den Geschäftsbetrieb von entscheidender Bedeutung. Ohne geeignete Sicherheitsmaßnahmen können Angreifer Schwachstellen ausnutzen, um unbefugten Zugriff zu erlangen, Dienste zu stören oder Informationen zu stehlen. Wenn Sie diese praktischen Schritte befolgen, können Sie das Angriffsrisiko erheblich verringern und sicherstellen, dass Ihr Server sicher bleibt.


1. System aktuell halten

Regelmäßige Updates sind unerlässlich, um Sicherheitslücken zu schließen und Ihren Server sicher zu halten. Ubuntu stellt zeitnahe Updates für seine Pakete und den Kernel bereit.

Schritte zum Aktualisieren Ihres Servers:

sudo apt update
sudo apt upgrade
sudo apt dist-upgrade

Aktivieren Sie außerdem unattended-upgrades um Sicherheitsupdates zu automatisieren:

sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades

2. Firewall mit UFW konfigurieren

Eine Firewall ist Ihre erste Verteidigungslinie gegen unbefugten Zugriff. Ubuntu enthält UFW (Uncomplicated Firewall), die die Firewall-Verwaltung vereinfacht.

Schritte zum Konfigurieren von UFW:

  • UFW aktivieren:
sudo ufw enable
  • SSH-Verbindungen zulassen:
sudo ufw allow ssh
  • Bestimmte Ports zulassen (z. B. HTTP und HTTPS für Webserver):
sudo ufw allow 80/tcp 
sudo ufw allow 443/tcp
  • Firewall-Status prüfen:
sudo ufw status

    Standardmäßig blockiert UFW alle eingehenden Verbindungen außer den explizit erlaubten und stellt so sicher, dass Ihr Server geschützt ist.


    3. SSH-Zugriff sichern

    SSH ist die primäre Methode für die Remoteverwaltung von Servern, wird aber häufig von Brute-Force-Angriffen angegriffen. Die Absicherung von SSH ist entscheidend, um das Risiko eines unbefugten Zugriffs zu verringern.

    Tipps zur Absicherung von SSH:

    • Standard-SSH-Port ändern:
      • Bearbeiten Sie die SSH-Konfigurationsdatei:
    sudo nano /etc/ssh/sshd_config 
    
    • Ändern Sie den Standardport (z. B. von 22 zu 2222) und starten Sie den SSH-Dienst neu:
    sudo systemctl restart ssh
    
    • Aktualisieren Sie die UFW-Regel, um den Zugriff auf den neuen Port zu erlauben:
    sudo ufw allow 2222/tcp
    
    • Root-Anmeldung deaktivieren:
      In der Datei /etc/ssh/sshd_config Folgendes festlegen:
    PermitRootLogin no
    
    • SSH-Schlüsselauthentifizierung verwenden:
      • Erzeugen Sie ein SSH-Schlüsselpaar:
    ssh-keygen -t rsa -b 4096 
    
    • Kopieren Sie den öffentlichen Schlüssel auf Ihren Server:
    ssh-copy-id username@server-ip
    
    • SSH-Zugriff einschränken:
      Beschränken Sie den SSH-Zugriff auf bestimmte IP-Adressen, indem Sie die Dateien /etc/hosts.allow und /etc/hosts.deny .

    4. Fail2Ban installieren und konfigurieren

    Fail2Ban ist ein Tool, das Ihren Server vor Brute-Force-Angriffen schützt, indem es Protokolldateien überwacht und IP-Adressen sperrt, die verdächtiges Verhalten zeigen.

    Schritte zum Einrichten von Fail2Ban:

    • Fail2Ban installieren:
    sudo apt install fail2ban
    
    • Lokale Konfigurationsdatei erstellen:
    sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
    
    • SSH-Schutz konfigurieren:
      Bearbeiten Sie /etc/fail2ban/jail.local und aktivieren Sie das SSH-Jail:
    [sshd]
    enabled = true
    port = 2222
    maxretry = 5
    bantime = 3600
    
    
    • Fail2Ban neu starten:
    sudo systemctl restart fail2ban
    

      Fail2Ban überwacht nun SSH-Protokolle und sperrt IPs nach wiederholt fehlgeschlagenen Anmeldeversuchen.


      5. Unnötige Dienste deaktivieren

      Der Betrieb unnötiger Dienste vergrößert die Angriffsfläche Ihres Servers. Ermitteln und deaktivieren Sie Dienste, die Sie nicht benötigen.

      Schritte zum Deaktivieren von Diensten:

      • Aktive Dienste auflisten:
      sudo systemctl list-units --type=service
      
      • Nicht verwendete Dienste stoppen und deaktivieren:
      sudo systemctl stop service-name 
      sudo systemctl disable service-name
      

        6. Starke Passwörter und Benutzerkonten verwenden

        Schwache Passwörter sind eine häufige Schwachstelle. Stellen Sie sicher, dass alle Benutzerkonten starke, einzigartige Passwörter verwenden.

        Tipps für die Sicherheit von Benutzerkonten:

        • Verwenden Sie einen Passwort-Manager, um starke Passwörter zu erzeugen und zu speichern.
        • Überprüfen Sie regelmäßig Benutzerkonten und entfernen Sie ungenutzte Konten:
        sudo awk -F: '{ print $1}' /etc/passwd
        

          7. Zwei-Faktor-Authentifizierung (2FA) aktivieren

          Die Zwei-Faktor-Authentifizierung fügt Ihrem SSH-Anmeldevorgang eine zusätzliche Sicherheitsebene hinzu. Sie können 2FA mit Google Authenticator.

          Schritte zum Aktivieren von 2FA:

          • Google Authenticator installieren:
          sudo apt install libpam-google-authenticator
          
          • 2FA für Ihren Benutzer konfigurieren:
            Führen Sie den folgenden Befehl aus und folgen Sie den Eingabeaufforderungen:
           google-authenticator
          
          • 2FA in SSH aktivieren:
            Bearbeiten Sie /etc/pam.d/sshd und fügen Sie Folgendes hinzu:
           auth required pam_google_authenticator.so
          

            Starten Sie den SSH-Dienst neu:

            sudo systemctl restart ssh
            
            

            8. Protokolle und Systemaktivitäten überwachen

            Die regelmäßige Überwachung Ihrer Serverprotokolle hilft Ihnen, verdächtige Aktivitäten frühzeitig zu erkennen.

            Tools zur Protokollüberwachung:

            • Syslog: Allgemeine Systemprotokolle prüfen:
            sudo less /var/log/syslog
            
            • Auth-Protokoll: Authentifizierungsversuche überprüfen:
             sudo less /var/log/auth.log
            

              Erwägen Sie die Verwendung von Tools wie Logwatch oder OSSEC für die automatisierte Protokollanalyse und Warnmeldungen.


              9. Regelmäßige Backups durchführen

              Auch bei starken Sicherheitsmaßnahmen sind Backups für die Wiederherstellung nach Angriffen oder Datenverlust unerlässlich.

              Backup-Optionen:

              • Verwenden Sie rsync zum Erstellen lokaler Backups:
              rsync -av /data /backup/
              
              • Automatisieren Sie Backups mit Tools wie Duplicity oder integrieren Sie Cloud-basierte Lösungen wie AWS S3 oder Google Cloud Storage.

              10. Zusätzliche Tipps zur Härtung

              • Antivirensoftware installieren: Verwenden Sie Tools wie ClamAV zum Scannen auf Malware.
              sudo apt install clamav 
              sudo clamscan -r /path/to/scan
              
              • Webanwendungen sichern: Wenn Sie Websites hosten, verwenden Sie Tools wie ModSecurity zum Schutz vor gängigen Web-Schwachstellen.
              • AppArmor aktivieren: AppArmor bietet obligatorische Zugriffskontrolle für Anwendungen.
              sudo apt install apparmor 
              sudo aa-status
              

              Fazit

              Die Absicherung Ihres Ubuntu-Servers erfordert einen proaktiven Ansatz, der Systemupdates, Firewall-Konfiguration, SSH-Härtung und Tools wie Fail2Ban kombiniert. Wenn Sie diese Schritte befolgen und Ihren Server regelmäßig überwachen, können Sie eine robuste Verteidigung gegen potenzielle Bedrohungen aufbauen.

              Weitere Informationen finden Sie im offiziellen Ubuntu-Sicherheitsleitfaden.

              Als Nächstes: Überwachung und Protokollierung auf Ubuntu Server

              Die Absicherung Ihres Servers ist zwar unerlässlich, aber die Sichtbarkeit seiner Abläufe ist ebenso wichtig. Überwachung und Protokollierung  ermöglichen es Ihnen, Systemaktivitäten zu überwachen, Anomalien zu erkennen und Probleme effektiv zu beheben.

              Im nächsten Abschnitt behandeln wir:

              • Die Bedeutung von Systemüberwachung und Protokollen.
              • Verwendung von auditd zur Nachverfolgung und Aufzeichnung von Systemereignissen.
              • Konfigurieren der Protokollrotation mit logrotate zur effizienten Verwaltung von Protokolldateien.
              • Überwachung des Verzeichnisses /var/log auf kritische Ereignisse.

              Diese Praktiken helfen Ihnen, Verantwortlichkeit zu wahren, potenzielle Bedrohungen zu erkennen und die Zuverlässigkeit Ihres Servers sicherzustellen.

              Bleiben Sie dran, wenn wir uns mit den Tools und Techniken befassen, mit denen Sie Ihren Ubuntu-Server effektiv überwachen und protokollieren können.

              3 thoughts on “08. Securing Your Ubuntu Server: Practical Steps for Hardening and Protection”

              Kommentar hinterlassen