Linux ist bekannt für seine Stabilität und Sicherheit, dennoch erfordert die Verwaltung eines sicheren Systems kontinuierliche Aufmerksamkeit und bewährte Verfahren. Dieses Tutorial führt Sie durch die Grundlagen der Linux-Sicherheit, einschließlich Benutzer- und Rechteverwaltung, Systemupdates, Firewall-Konfiguration und weiteren Sicherheitsmaßnahmen.
1. Benutzer- und Rechteverwaltung
Benutzerkonten und Gruppen
Ein sicheres System beginnt mit einer ordnungsgemäßen Verwaltung der Benutzerkonten. Jeder Benutzer sollte nur die minimal notwendigen Rechte haben.
Erstellen eines neuen Benutzers:
sudo useradd username
sudo passwd username
Erstellen einer neuen Gruppe und Hinzufügen eines Benutzers:
sudo groupadd groupname
sudo usermod -aG groupname username
Löschen eines Benutzers:
sudo userdel -r username
Datei- und Verzeichnisberechtigungen
Linux verwendet ein detailliertes Berechtigungssystem für Dateien und Verzeichnisse.
Anzeigen von Berechtigungen:
ls -l
Ändern von Berechtigungen:
chmod 750 filename
Ändern des Besitzers:
chown user:group filename
2. Systemupdates und Patching
Regelmäßige Updates sind entscheidend für die Sicherheit und Stabilität eines Linux-Systems.
Aktualisierung des Systems (Debian-basiert):
sudo apt update
sudo apt upgrade
Aktualisierung des Systems (Red Hat-basiert):
sudo yum update
3. Firewall-Konfiguration
Firewalls schützen Ihr System vor unbefugtem Zugriff. ufw
(Uncomplicated Firewall) ist ein benutzerfreundliches Frontend für iptables
.
Aktivieren der Firewall:
sudo ufw enable
Öffnen eines Ports:
sudo ufw allow 22/tcp
Anzeigen des Firewall-Status:
sudo ufw status
4. SSH-Sicherheit
SSH ist ein häufiger Angriffsvektor, daher ist seine Absicherung besonders wichtig.
Änderung des Standard-SSH-Ports
Durch Ändern des Standard-Ports können Sie Skript-basierte Angriffe reduzieren.
Bearbeiten Sie die Datei /etc/ssh/sshd_config
:
sudo nano /etc/ssh/sshd_config
Ändern Sie die Port-Nummer:
Port 2222
Neustart des SSH-Dienstes:
sudo systemctl restart sshd
Deaktivieren des Root-Logins
Bearbeiten Sie die Datei /etc/ssh/sshd_config
:
sudo nano /etc/ssh/sshd_config
Deaktivieren Sie den Root-Login:
PermitRootLogin no
Neustart des SSH-Dienstes:
sudo systemctl restart sshd
5. Sicherer Umgang mit Passwörtern
Passwort-Richtlinien
Stellen Sie sicher, dass Passwörter komplex und schwer zu erraten sind.
Installieren Sie libpam-pwquality
:
sudo apt install libpam-pwquality # Debian-basiert
sudo yum install pam_pwquality # Red Hat-basiert
Bearbeiten Sie die Datei /etc/pam.d/common-password
:
sudo nano /etc/pam.d/common-password
Fügen Sie folgende Zeile hinzu oder ändern Sie sie:
password requisite pam_pwquality.so retry=3
6. Systemüberwachung
Logdateien
Logdateien sind wichtig für die Überwachung und Fehlersuche.
Anzeigen von Logdateien:
tail -f /var/log/syslog # Echtzeit-Ansicht
Intrusion Detection Systeme (IDS)
Tools wie Tripwire
oder AIDE
helfen dabei, Änderungen am Dateisystem zu überwachen und Sicherheitsverletzungen zu erkennen.
Installation von AIDE:
sudo apt install aide # Debian-basiert
sudo yum install aide # Red Hat-basiert
Initialisieren der AIDE-Datenbank:
sudo aideinit
7. Regelmäßige Backups
Regelmäßige Backups sind entscheidend, um Datenverlust im Falle eines Angriffs oder Systemfehlers zu verhindern.
Backup mit rsync
Ein einfaches Backup-Skript:
#!/bin/bash
rsync -av --delete /home/user/ /backup/user/
Planen Sie das Skript mit cron
:
crontab -e
Fügen Sie die folgende Zeile hinzu, um das Backup täglich um 2 Uhr morgens auszuführen:
0 2 * * * /path/to/backup-script.sh
Fazit
Die Sicherung eines Linux-Systems erfordert eine Kombination aus guten Praktiken, regelmäßiger Überwachung und proaktiver Verwaltung. Durch die Implementierung der oben genannten Maßnahmen können Sie die Sicherheit Ihres Systems erheblich verbessern und es vor potenziellen Bedrohungen schützen. Bleiben Sie informiert und halten Sie sich an bewährte Sicherheitsrichtlinien, um ein sicheres Linux-Umfeld zu gewährleisten.