Schutz des virtuellen Linux Servers im Web
Um einen virtuellen Server mit Linux abzusichern, sind mehrere Maßnahmen erforderlich, die sowohl auf System-, Netzwerk- als auch auf Anwendungsebene ansetzen. Hier ist eine prägnante Übersicht der wichtigsten Schritte:
- System aktualisieren:
Halte das Betriebssystem und alle installierten Pakete aktuell, um Sicherheitslücken zu schließen:
sudo apt update && sudo apt upgrade -y # Für Debian/Ubuntu
sudo dnf update -y # Für Fedora
sudo pacman -Syu # Für Arch Linux
- Benutzer und Zugriffe absichern:
Erstelle einen Nicht-Root-Benutzer mit eingeschränkten Rechten:
adduser --gecos "" benutzername
usermod -aG sudo benutzername # Für sudo-Rechte
- Deaktiviere den Root-Login für SSH:
sudo nano /etc/ssh/sshd_config
# Setze: PermitRootLogin no
sudo systemctl restart sshd
- Ändere den Standard-SSH-Port (z. B. von 22 auf 2222):
sudo nano /etc/ssh/sshd_config
# Setze: Port 2222
sudo systemctl restart sshd
- Verwende SSH-Schlüssel statt Passwörter:
ssh-keygen -t rsa -b 4096
ssh-copy-id benutzername@server-ip
- Deaktiviere Passwort-Logins in /etc/ssh/sshd_config:
PasswordAuthentication no
- Firewall konfigurieren. Nutze ufw oder firewalld, um nur notwendige Ports zu öffnen:
sudo ufw allow 2222/tcp # Für SSH
sudo ufw allow 80/tcp # Für HTTP
sudo ufw allow 443/tcp # Für HTTPS
sudo ufw enable
sudo ufw status
- Software minimieren:
Deinstalliere unnötige Pakete und Dienste, um die Angriffsfläche zu reduzieren: sudo apt autoremove
- Fail2Ban installieren und schütze vor Brute-Force-Angriffen:
sudo apt install fail2ban
sudo systemctl enable fail2ban
sudo nano /etc/fail2ban/jail.local
- Automatische Updates einrichten (Vorsicht!), z.B. für Ubuntu:
sudo apt install unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades
- Setze sichere Berechtigungen:
sudo chmod -R 750 /home/benutzername
sudo chown -R benutzername:benutzername /home/benutzername
- Deaktiviere unnötige SUID/SGID-Bits:
sudo find / -perm /6000 -type f -exec chmod a-s {} \;
- Netzwerkdienste überwachen:
ss -tuln
netstat -tulpn
- Deaktiviere ungenutzte Dienste:
sudo systemctl disable dienstname
- Antivirus installieren:
ClamAV für Virenscans:
sudo apt install clamav
sudo freshclam
sudo clamscan -r / --bell -i
- Antirootkit installieren:
sudo apt install rkhunter
sudo rkhunter -c
- AIDE für Dateiintegrität:
sudo apt install aide
sudo aideinit
- Erstelle regelmäßige Backups und speichere sie extern:
rsync -av /wichtiger/ordner /backup/ordner
- Aktiviere und überprüfe Logs mit rsyslog oder journalctl:
sudo journalctl -u sshd
-
Nutze Tools wie Prometheus, Zabbix oder Nagios für Monitoring.
- Nutze Let's Encrypt für kostenlose SSL-Zertifikate:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx
- Intrusion Detection. Installiere ein IDS wie OSSEC oder Snort:
sudo apt install ossec-hids
-
Halte dich an das Prinzip der geringsten Rechte (Least Privilege).
- /tmp Ordner absichern:
sudo chmod 1777 /tmp
- Lynis für Linux Hardening installieren:
git clone https://github.com/CISOfy/lynis
cd lynis && ./lynis audit system