Die Absicherung von Webservern ist essenziell, um Angriffe wie SQL-Injection, Cross-Site Scripting (XSS) oder Denial-of-Service zu verhindern. Sowohl Nginx als auch Apache sind weit verbreitete Webserver, die durch gezielte Hardening-Maßnahmen sicher konfiguriert werden können. In diesem Leitfaden zeigen wir Schritt für Schritt, wie Webserver gehärtet, Sicherheitslücken minimiert und die Infrastruktur für Web-Anwendungen robust gemacht wird.
Systemvorbereitung
Bevor Sicherheitsmaßnahmen umgesetzt werden, sollte das System auf dem neuesten Stand sein und notwendige Pakete installiert werden.
System aktualisieren
sudo apt update
sudo apt upgrade -y
Für CentOS/RHEL:
sudo yum update -y
Basis-Pakete installieren
sudo apt install ufw fail2ban wget curl git unzip -y
Benutzer und Rechte
Webserver sollten mit minimalen Rechten betrieben werden, um potenzielle Angriffsflächen zu reduzieren.
Dedizierte Benutzer anlegen
sudo useradd -r -s /usr/sbin/nologin webuser
sudo chown -R webuser:webuser /var/www/html
Dateisystemrechte
- Nur notwendige Schreibrechte für Webverzeichnisse
- Logs in sicheren Verzeichnissen ablegen
- Config-Dateien nur für Administratoren zugänglich
sudo chmod -R 755 /var/www/html
sudo chmod 640 /etc/nginx/nginx.conf
sudo chmod 640 /etc/apache2/apache2.conf
Firewall konfigurieren
Eine Firewall schützt den Server vor unerwünschtem Zugriff auf nicht benötigte Ports.
UFW für Ubuntu/Debian
sudo ufw allow 'Nginx Full' # oder 'Apache Full'
sudo ufw enable
sudo ufw status
FirewallD für CentOS/RHEL
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
SSL/TLS Absicherung
HTTPS schützt die Datenübertragung zwischen Client und Server.
Let’s Encrypt Zertifikate
sudo apt install certbot python3-certbot-nginx -y # für Nginx
sudo apt install certbot python3-certbot-apache -y # für Apache
sudo certbot --nginx -d meinewebsite.de -d www.meinewebsite.de
sudo certbot renew --dry-run
SSL-Konfiguration optimieren
- Nur TLSv1.2 und TLSv1.3 erlauben
- Starke Cipher Suites aktivieren
- HSTS Header setzen
- OCSP Stapling aktivieren
Apache Hardening
Apache bietet zahlreiche Module und Optionen, die für ein sicheres Setup angepasst werden sollten.
Unnötige Module deaktivieren
sudo a2dismod status
sudo a2dismod autoindex
sudo systemctl restart apache2
Directory- und Zugriffskontrolle
sudo nano /etc/apache2/apache2.conf
<Directory /var/www/>
Options -Indexes
AllowOverride None
Require all granted
</Directory>
Security Header setzen
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-Content-Type-Options "nosniff"
Header always set Content-Security-Policy "default-src 'self';"
Nginx Hardening
Nginx kann durch Konfiguration der Serverblöcke, Header und Limits gehärtet werden.
Unnötige Module deaktivieren
Nur die benötigten Module laden, Standardmodule wie autoindex vermeiden.
Server- und Location-Block konfigurieren
server { listen 80; server_name meinewebsite.de www.meinewebsite.de;root /var/www/html;
index index.html index.php;
location / {
try_files $uri $uri/ =404;
}
location ~ /.ht {
deny all;
}
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Content-Security-Policy "default-src 'self';" always;}
Rate Limiting und Schutz vor Brute-Force
Rate Limiting schützt vor Überlastung und Angriffen auf Login-Seiten.
Nginx Beispiel
http { limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s; server { location /login { limit_req zone=one burst=20 nodelay; } } }Fail2ban einrichten
sudo apt install fail2ban -y sudo systemctl enable fail2ban sudo systemctl start fail2banLogs und Monitoring
Regelmäßige Überprüfung von Logs hilft, Sicherheitsvorfälle und Anomalien frühzeitig zu erkennen.
Apache Logs
tail -f /var/log/apache2/access.log tail -f /var/log/apache2/error.logNginx Logs
tail -f /var/log/nginx/access.log tail -f /var/log/nginx/error.logNetzwerk und Subnetze
Eine korrekte Netzwerkkonfiguration ist entscheidend, um unbefugten Zugriff zu vermeiden.
Subnetzberechnung
Beispiel: Server-IP 192.168.60.15/24
<math> Subnetzadresse = 192.168.60.15 & 255.255.255.0 = 192.168.60.0 Broadcastadresse = 192.168.60.0 | ~255.255.255.0 = 192.168.60.255 </math>Netzwerkinterface konfigurieren
sudo nano /etc/netplan/01-netcfg.yamlnetwork: version: 2 renderer: networkd ethernets: enp0s3: dhcp4: no addresses: - 192.168.60.15/24 gateway4: 192.168.60.1 nameservers: addresses: [8.8.8.8, 8.8.4.4]sudo netplan applyBest Practices
- Regelmäßige Updates von Apache, Nginx und Linux-Paketen
- Minimalrechte für Benutzer und Verzeichnisse vergeben
- Automatische SSL-Erneuerung testen
- Monitoring und Log-Analyse implementieren
- Backups der Konfigurationen und Webverzeichnisse regelmäßig durchführen
- Firewalls und Fail2ban einsetzen
Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3
Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.
Meine Leistungen umfassen:
-
Professionelle Konfiguration von Routern und Switches
-
Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen
-
Erstellung von Topologien und Simulationen in Cisco Packet Tracer
-
Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG
-
Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible
-
Erstellung von Skripten für wiederkehrende Netzwerkaufgaben
-
Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege
-
Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting
Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.











