francy_space
Ensign
- Registriert
- Juni 2020
- Beiträge
- 169
Hallo,
ich versuche mit vier Schichten mein VPS-Server (Ubuntu 20.04) vor Hackerangriffen zu schützen, indem ich:
1. ... mich NUR mit einem Schlüssel (Puttygenerator) und OHNE den Passwort des Cloudproviders anmelden kann
2. ... die Passwortfunktion komplett abschalte und sich niemand mit dem Passwort des Cloudproviders anmelden kann
3. ... den SSH-Port ändere
4. ... eine Zwei-Faktor-Authentifizierung mit Google einrichte
Ich weiß, dass diese Maßnahmen alleine nicht ausreichend sind, aber sie sind Grundlage für einen sicheren VPS-Server.
Nun zur meiner Frage: Die ersten drei Punkte konnte ich bisher problemlos realisieren. Ich habe auch dazu eine Anleitung geschrieben. Nur im vierten Schritt mit der 2-Faktor-Authentifizierung scheitere ich immer. Sprich: Ich kann mich NICHT mit dem von Google bereitgestellten Code einloggen.
Ich möchte die einzelnen Schritte hier teilen. Vielleicht findet hier jemand den Bug:
- Logge dich via Putty in deinen VPS-Server ein
- Schaue nach, ob ein sshd-Dienst im Hintergrund läuft, der auf eine Verbindung wartet
Mit Schlüssel ohne Passwort auf dem Server anmelden
- Öffne Puttygen (Puttygenerator)-Programm
- Generiere einen Code.
- Kopiere den gesamten Key.
- Füge den Code in authorized_keys ein und speichern:
- Öffne PAGEANT. Add key → privkey.
- Öffne ein neues Putty-Fenster und deinen Server. Du wirst keinen Passwort mehr benötigen.
Passwortfunktion komplett abschalten. Key reicht vollkommen.
- Öffne deinen Server
1.) "PasswordAuthentication" auf no stellen
2.) Kommentiere den Eintrag "PermitRootLogin yes" aus
3.) Startet den SSH-Client mit "service sshd restart" neu
4.) Schließe dein Putty-Programm und deinen Server und öffne ihn erneut. Nun wirst du ohne einen hinterlegten Key im Pageant zwar nach einem Passwort gefragt, aber dieser wird nicht angenommen. Sprich, dein Password vom Cloud-Anbieter ist nicht mehr gültig.
SSH-Port ändern
Zwei-Faktor-Authentifizierung
ich versuche mit vier Schichten mein VPS-Server (Ubuntu 20.04) vor Hackerangriffen zu schützen, indem ich:
1. ... mich NUR mit einem Schlüssel (Puttygenerator) und OHNE den Passwort des Cloudproviders anmelden kann
2. ... die Passwortfunktion komplett abschalte und sich niemand mit dem Passwort des Cloudproviders anmelden kann
3. ... den SSH-Port ändere
4. ... eine Zwei-Faktor-Authentifizierung mit Google einrichte
Ich weiß, dass diese Maßnahmen alleine nicht ausreichend sind, aber sie sind Grundlage für einen sicheren VPS-Server.
Nun zur meiner Frage: Die ersten drei Punkte konnte ich bisher problemlos realisieren. Ich habe auch dazu eine Anleitung geschrieben. Nur im vierten Schritt mit der 2-Faktor-Authentifizierung scheitere ich immer. Sprich: Ich kann mich NICHT mit dem von Google bereitgestellten Code einloggen.
Ich möchte die einzelnen Schritte hier teilen. Vielleicht findet hier jemand den Bug:
- Logge dich via Putty in deinen VPS-Server ein
- Schaue nach, ob ein sshd-Dienst im Hintergrund läuft, der auf eine Verbindung wartet
- ps ax|grep ssh
Mit Schlüssel ohne Passwort auf dem Server anmelden
- Öffne Puttygen (Puttygenerator)-Programm
- Generiere einen Code.
- Kopiere den gesamten Key.
- Füge den Code in authorized_keys ein und speichern:
- sudo nano .ssh/authorized_keys
- Öffne PAGEANT. Add key → privkey.
- Öffne ein neues Putty-Fenster und deinen Server. Du wirst keinen Passwort mehr benötigen.
Passwortfunktion komplett abschalten. Key reicht vollkommen.
- Öffne deinen Server
- nano /etc/ssh/sshd_config
1.) "PasswordAuthentication" auf no stellen
2.) Kommentiere den Eintrag "PermitRootLogin yes" aus
3.) Startet den SSH-Client mit "service sshd restart" neu
4.) Schließe dein Putty-Programm und deinen Server und öffne ihn erneut. Nun wirst du ohne einen hinterlegten Key im Pageant zwar nach einem Passwort gefragt, aber dieser wird nicht angenommen. Sprich, dein Password vom Cloud-Anbieter ist nicht mehr gültig.
SSH-Port ändern
- nano /etc/ssh/sshd_config
- Dokumentiere den Standardport 22 aus.
- Schreibe drunter „Port 1024“ oder beliebige Zahl
- Speichern und mit „service sshd restart“ neu starten
- Vergesse nicht auf der Cloud-Firewall den Port davor nach außen hin zu öffnen
Zwei-Faktor-Authentifizierung
- apt-cache search google-authenticator
- apt-get install libpam-google-authenticator
- nano /etc/ssh/sshd_config
- ChallengeResponseAuthentication yes
- UsePAM yes
- Händisch hinzufügen: AuthenticationMethods publickey,keyboard-interactive
- speichern
- nano /etc/pam.d/sshd
- neue Zeile:
# Google Authenticator
auth required pam_google_authenticator.so
- Speichern und mit „service sshd restart“ neu starten
- google-authenticator
- Nehme einen zeitbasierten Token
- Es erscheint ein QR-Code
- Öffne die App „Google Authenticator“. Klicke auf das Plussymbol. Scanne den QR-Code ein.
- Schreibe die Notfall-Codes auf.
- nano /etc/pam.d/sshd
- Kommentiere „include common auth“ aus.
- Speichern und mit „service sshd restart“ neu starten.