Server-Härtung¶
Die Härtung des Servers ist der wichtigste Schritt vor der Installation von Coolify. Ein ungehärteter Server ist ein leichtes Ziel für Angreifer.
Warum Server-Härtung?¶
Öffentlich erreichbare Server
Jeder Server mit einer öffentlichen IP-Adresse wird kontinuierlich von automatisierten Bots und Angreifern gescannt. Ohne Härtung ist es nur eine Frage der Zeit, bis ein Einbruch erfolgt.
Typische Angriffsvektoren¶
flowchart TD
A[Angreifer] --> B{Angriffsmethoden}
B --> C[SSH Brute-Force]
B --> D[Schwache Passwörter]
B --> E[Veraltete Software]
B --> F[Offene Ports]
C --> G[Server kompromittiert]
D --> G
E --> G
F --> G
G --> H[Datenverlust]
G --> I[Botnet-Mitglied]
G --> J[Krypto-Mining]
Härtungsmaßnahmen¶
Diese Dokumentation führt dich durch folgende Sicherheitsmaßnahmen:
- Initiales Setup
System-Updates, Benutzer-Setup und grundlegende Konfiguration.
- SSH-Härtung
SSH-Key-Authentifizierung, Port-Änderung und weitere SSH-Sicherheit.
- Firewall (UFW)
Konfiguration der Uncomplicated Firewall für kontrollierten Netzwerkzugriff.
- Fail2Ban
Schutz vor Brute-Force-Angriffen durch automatisches IP-Blocking.
Reihenfolge der Schritte¶
Wichtige Reihenfolge
Führe die Schritte in der angegebenen Reihenfolge durch. Insbesondere bei der SSH-Konfiguration ist es wichtig, dass du den Zugang nicht versehentlich sperrst.
flowchart LR
A[1. Initial Setup] --> B[2. SSH-Konfiguration]
B --> C[3. Firewall]
C --> D[4. Fail2Ban]
style A fill:#e8f5e9
style B fill:#fff3e0
style C fill:#e3f2fd
style D fill:#fce4ec
| Schritt | Priorität | Risiko |
|---|---|---|
| Initial Setup | Kritisch | Niedrig |
| SSH-Konfiguration | Kritisch | Mittel1 |
| Firewall | Kritisch | Mittel2 |
| Fail2Ban | Hoch | Niedrig |
Sicherheitsprinzipien¶
Principle of Least Privilege¶
Jeder Benutzer und jeder Prozess sollte nur die minimal notwendigen Berechtigungen haben.
- Kein direkter Root-Zugang
- Sudo nur bei Bedarf
- Restriktive Dateirechte
Defense in Depth¶
Mehrere Sicherheitsebenen schützen vor dem Versagen einzelner Maßnahmen.
Secure by Default¶
Standardkonfigurationen sollten sicher sein. Funktionen müssen explizit aktiviert werden.
- Alle Ports geschlossen (außer explizit erlaubte)
- Nur SSH-Key-Authentifizierung
- Keine unnötigen Dienste