Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: IT-News, Tutorials, Reviews, Gaming - skV-NET. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

  • »Judge of Death« ist der Autor dieses Themas

Beiträge: 26

Registrierungsdatum: 26. August 2012

Wohnort: Warth

Danksagungen: 80

  • Nachricht senden

1

Dienstag, 31. Dezember 2019, 02:50

SSH-Shell mit 2FA absichern

Ich zeige euch wie man einen SSH-Zugang auf einem Server mit einer einfachen 2-Faktor-Authentifizierung (Im Text 2FA) noch verschärfen kann.

Ich habe als Referenz mein Ubuntu 18.04 Server benutzt. Diese Anleitung sollte auch auf Debian funktionieren und abwärtskompatibel sein.


1. Vorbereitungen
2. Installation
3. 2FA für Benutzer einrichten
4. 2FA für login einschalten




1. Vorbereitungen:

- Wir benötigen einen SSH-Zugriff mit sudo Rechten auf den zu sichernden Server
- Wir benötigen eine Authentification App auf unserem Smartphone für QR Code wie Google Authentificator oder Authy (Ich empfehle Authy)


2. Installation:

Die Installation ist einfach. Wir benötigen das Google PAM Modul. Dieses kann für Authy und Google-Authentificator benutzt werden.

Das Modul installieren wir mit folgendem Befehl:

Quellcode

1
sudo apt-get install libpam-google-authenticator


Wenn die Installation erfolgreich abgeschlossen ist, können wir die 2FA für die Benutzer aktivieren.


3. 2FA für Benutzer einrichten:

Dieser Schritt muss in der Bash vom Benutzer ausgeführt werden, damit die PAM-Authentification für diesen Benutzer aktiviert ist. Anschliessend führen wir folgenden Befehl aus:

Quellcode

1
google-authenticator


Wir werden nun gefragt, ob wir einen zeitbasierten Token oder einen statischen Token wollen. Wir benutzen den time-based, und bestätigen mit y:


Quellcode

1
Do you want authentication tokens to be time-based (y/n) y


Nun sehen wir folgende Informationen:

QR-Code: Diesen QR-Code müssen wir mit unserer 2FA-App (Authy) abscannen, um die Synchronisation zu aktivieren.
Secret Key: Diesen Key kann man alternativ in der Auth-App eintragen, wenn man keine QR-Codes benutzen will/kann.
Verfication Code: der Erste sechsstellige Code der generiert wurde.
Emergency-scratch-codes: auch bekannt als Back-up Codes. Sie werden benötigt um bei Verlust der App (defektes Smartphone usw) die 2FA wieder zu aktivieren. Sicher aufbewahren!


Nachdem wir auf unserem Smartphone die PAM für den Benutzer eingerichtet haben, müssen wir noch weitere Fragen beantworten.

Hier wird nachgefragt, ob wir unser .google_authentificator file ersetzen bzw. erstellen wollen. Wir bestätigen mit y.

Quellcode

1
Do you want me to update your "~/.google_authenticator" file (y/n) y



Die folgenden Fragen müssen nach eigenem Ermessen beantwortet werden. Ich habe mich für den Standard entschieden.

Quellcode

1
2
3
Do you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it increases
your chances to notice or even prevent man-in-the-middle attacks (y/n) y


Quellcode

1
2
3
4
5
By default, tokens are good for 30 seconds and in order to compensate for
possible time-skew between the client and the server, we allow an extra
token before and after the current time. If you experience problems with poor
time synchronization, you can increase the window from its default
size of 1:30min to about 4min. Do you want to do so (y/n) n


Quellcode

1
2
3
4
If the computer that you are logging into isn't hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting (y/n) y




4. 2FA für login einschalten:


:!: Beim SSH-Deamon muss die PAM aktiviert werden, sonst kann man sich nicht mehr in der Shell einlogen :!:


Um die PAM-Abfrage zu aktiviern öffnen wir das File

Quellcode

1
/etc/pam.d/common-auth
und fügen am Ende folgende Zeile hinzu:

Quellcode

1
auth required pam_google_authenticator.so nullok


Zum Beispiel:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# /etc/pam.d/common-auth - authentication settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define
# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.).  The default is to use the
# traditional Unix authentication mechanisms.
#
# As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
# To take advantage of this, it is recommended that you configure any
# local modules either before or after the default block, and use
# pam-auth-update to manage selection of other modules.  See
# pam-auth-update(8) for details.

# here are the per-package modules (the "Primary" block)
auth    [success=1 default=ignore]      pam_unix.so nullok_secure
# here's the fallback if no module succeeds
auth    requisite                       pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
auth    required                        pam_permit.so
# and here are more per-package modules (the "Additional" block)
auth    optional                        pam_cap.so
# end of pam-auth-update config
#
#
auth required pam_google_authenticator.so nullok
#
#



Anschliessend aktiviern wir bei dem ssh-deamon noch die PAM-Authentifikation. Dazu öffnen wir die

Quellcode

1
/etc/ssh/sshd_config
und ändern folgende Zeile von No zu Yes:

Quellcode

1
ChallengeResponseAuthentication yes


Jetzt den ssh deamon neu starten mit

Quellcode

1
service sshd restart




Beim nächsten Login sollte nach dem eingeben des Passworts die 2FA-Abfrage kommen.




Visit original Website: https://www.digitalocean.com/community/t…on-ubuntu-18-04
Is mir egal, wer dein Vater ist. Solange ich hier angle, läuft Keiner über das Wasser!!!

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Judge of Death« (31. Dezember 2019, 03:38)


Es hat sich bereits 1 registrierter Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

s-master (31.12.2019)

Social Bookmarks

Thema bewerten