Konfiguracja Uwierzytelniania Wieloskładnikowego (MFA) na Linuxie – SSH.

Zrób update i upgrade systemu.

apt -y update
apt -y upgrade

Zainstaluj pakiet google authenticator i ssh.

apt -y install ssh
apt -y install libpam-google-authenticator

Zaloguj się na użytkownika, którym będziesz się logować za pomocą SSH i wygeneruj sekret. Dla najmocniejszego zabezpieczenia użyj następujących odpowiedzi na pytania:

google-authenticator
1. y (one time)
2. y (register)
3. y (man-in-the-middle)
4. n (time skew up to 4 minutes)
5. y (rate limiting)

Przejdź do pliku konfiguracyjnego SSH:

vim /etc/ssh/sshd_config

Zmień wpis. Prawidłowo wpis powinien być ustawiony na yes:

KbdInteractiveAuthentication yes

Dodatkowo dopisz na końcu pliku:

AuthenticationMethods keyboard-interactive

Zapisz plik sshd_config i przejdź do /etc/pam.d/sshd:

cd /etc/pam.d/sshd

Dopisz linijkę na końcu pliku:

auth required pam_google_authenticator.so

Zresetuj serwer ssh. Resetowanie ssh jest niezbędne po każdej zmianie pliku konfiguracyjnego.

systemctl restart ssh

Przejdź na inny komputer z którego będziesz się logować do maszyny zdalnej, na której była wykonywana powyższa konfiguracja. Spróbuj zalogować się na zdalną maszynę.

ssh JanKowalski@192.168.15.15

Zostaniesz poproszony o hasło i kod z autentykatora.

Dodatkowe uwagi.

Pamiętaj, że nie musisz generować kodów na telefonicznej apce. Możesz generować kody OTP w Keepasie na przykład.
Bardzo ważne przy generowaniu sekretu jest przełączenie się na konto z którego będziesz się logować.
Dla zmaksymalizowania hardeningu możesz ustawić uwierzytelnianie poprzez logowanie kluczem zabezpieczonym hasłem i MFA. Takie zabezpieczenie byłoby bardzo czasochłonne do złamania. Ustawia się je w /etc/ssh/sshd_config.

### Dla logowania się metodą RSA. ###
AuthenticationMethods publickey 

Sprawdź mój poprzedni artykuł o uwierzytelnianiu za po-> Kliknij.

Podobne wpisy