Hallo,
ich betreibe einen Server im Rechenzentrum (Hetzner), auf dem openSUSE 42.3. Das YAST System Hardening habe ich schon ausgeführt, trotzdem steht mein Server regelmäßig unter SSH Brute-Force Beschuss. Ich habe habe schon viele asiatische IP Adressen via iptables ausgeschlossen. Das hat zumindest die Anzahl von mehreren Tausenden täglich auf den einstelligen Bereich verkleinert. Das ist für mich immer noch nicht zufrieden stellend, weil ich das im besten Fall komplett unterbinden möchte.
Was ich bisher gemacht habe:
- SSH Authentifizierung über Schlüssel (RSA 4096 Bits)
- sichere Passwörter mittels des Generators Strong Random Password Generator und der Einsatz von KeePass auf dem Client System um die Passwörter merken zu können
- Ich hatte versuch in der SSH Daemon Einstellung die Anmeldung via Passwort abzuschalten, hatte jedoch keinen Effekt.
- Von der Polizei hatte ich mal gehört, dass es nichts bringt Fail2Ban einzusetzen, wenn der Angreifer wechselnde IP-Adressen verwendet.
Was ich tun möchte:
- root Login per Remote abschalten ist ja eine Empfehlung, die es schon länger gibt. Schön und gut, nur wie geht es dann weiter? Denn ich kann mir nicht vorstellen, dass es sicherer sein soll, sich mit einem unprivilegierten User am System anzumelden, um in dessen Home Verzeichnis den root SSH Key zu hinterlegen.
- eine Intrusion-Detection / Intrusion Prevention Firewall einsetzen. Für mich kämen hier Snort oder ossec-hids infrage. Für andere Alternative bin ich natürlich offen. Leider steige ich bei beiden genannten nicht so wirklich durch, gerade was Konfiguration und Inbetriebnahme anbelangt
- Applicaction-Level Firewall: Es gibt ja drei große im Linux Umfeld: selinux, Novell's AppArmor (mein Favorit) und noch eine, dessen Name ich vergessen habe. Von selinux ist soviel ich weis eher abzuraten, weil das die NSA mitentwickelt hat. Eine Hintertür ist also nicht unbedingt auszuschließen.
- lohnt es sich SSH auf einen anderen Port als 22 zu legen? Das ist laut meines Wissens "Security by obscurity" aka "Kopf in den Sand stecken" und bringt nicht wirklich was. Das Netz wird ja laut Forschern regelmäßig ausgeforscht. Wer also meinen Server findet, sollte auch in der Lage sein einen Port Scanner zu bedienen. Es mag vielleicht sein, dass es den ein oder anderen "Skript-Kiddie" vom Brute Forcen abhält, weil das 0815 Skript dann nicht mehr funktioniert, aber die große Masse wird es denke ich nicht abhalten.
- Lohnt sich der Einsatz eines SSH-Fakers? Man könnte zum Beispiel den Faker auf den SSH Port 22 lassen und fälscherlicher weise jeden ins System lassen und den richtigen SSH Zugang auf einen anderen Port legen.
- zusätzlich zur Schlüssel Authentifikation möchte ich einen Hardware Wallet verwenden. Es ist schließlich schon länger bekannt, dass Quantencomputing theoretisch möglich ist. Damit ist laut diversen Security Beilagen der Fachzeitschrift iX aus dem letzten Jahr jede SSH Verbindung als unsicher zu betrachten, die nicht über ein zusätzliches Mittel abgesichert ist. Nur ist hier auch nicht alles Gold was glänzt, denn zum Beispiel der Yubikey hat eine zu lange Leiterbahn und man kann dadurch wenn man neben der Person steht den geheimen Schlüssel aus den elektromagnetischen Wellen empfangen und auslesen. Die Google Alternative möchte ich ebenfalls nicht verwenden, weil es Google ist (man kennt ja Google was die teilweise für Schweinereien betreiben, von gesetzlich vorgeschriebenen Hintertüren ganz zu schweigen...). Als letzte Alternative bleibt dann wohl nur noch der USB Stick aus dem Hause Ledger. Falls da jemand eine gute Alternative kennt, dann bin ich dafür gerne offen. Neben der SSH Authentifizierung möchte ich den Hardware Wallet mit folgenden Kryptowährungen benutzen: Bitcoin, Ethereum (mit Tokens) und Steem
- Gegen DDoS Attacken kann man sich doch nicht schützen, außer die Power in ein Content Delivery Network abzuleiten, das hoffentlich mächtiger und größer ist als die Bandbreite des Angreifers, oder? Was man tun kann ist soviel ich weis Dienst-Abschottung. Das heißt, wenn ein Dienst befeuert wird, dass die anderen weiterhin störungsfrei laufen. Das erreicht man laut meines Wissen durch Virtualisierung und/ oder Cloud Computing. Für mein Low Budget also eher schlecht, oder?
Wie man sehen kann, gibt es noch viel zu tun. Deswegen würde ich mich sehr über jeden Ratschlag aus der Community bezüglich meiner geschilderten Aufgabenstellungen freuen
MFG
derwunner