A kétlépcsős azonosítás (2FA) kritikus fontosságú a szervereink biztonságának megőrzésében. Az SSH-n keresztüli hozzáférés védelmére a Google Authenticator egy népszerű és hatékony megoldás. Azonban, néha problémák adódhatnak a beállítás során vagy a használat közben, különösen Debian rendszereken. Ez a cikk átfogó útmutatót nyújt a leggyakoribb hibák elhárításához, lépésről lépésre.
Miért fontos az SSH Kétlépcsős Azonosítás?
A jelszavak önmagukban nem elegendőek a szerverek védelmére. A brute-force támadások, a jelszó-szivárgások és a social engineering technikák miatt a jelszó alapú azonosítás sebezhetővé válhat. A kétlépcsős azonosítás egy további védelmi réteget ad hozzá, amelyhez egy másik tényező is szükséges, a jelszó mellett. A Google Authenticator esetében ez egy időalapú, egyszer használatos jelszó (TOTP), amely az okostelefonodon futó alkalmazás generál.
Gyakori hibák a Google Authenticator beállításakor Debianon
Számos oka lehet annak, hogy a Google Authenticator nem működik megfelelően Debian rendszeren. Nézzük a leggyakoribbakat:
- Hiányzó vagy nem megfelelően telepített csomagok: A szükséges csomagok (
libpam-google-authenticator
) nem telepítettek vagy nem a megfelelő verziójúak. - Helytelen PAM konfiguráció: A Pluggable Authentication Modules (PAM) beállításai nem megfelelően lettek konfigurálva.
- Szinkronizálatlan idő: A szerver és az okostelefon időpontja nem egyezik meg, ami érvénytelen TOTP kódokat eredményez.
- Hibás
.google_authenticator
fájl: A felhasználó home könyvtárában lévő.google_authenticator
fájl sérült vagy hiányzik. - Tűzfal problémák: A tűzfal blokkolhatja a szükséges portokat. (Ez ritka, de előfordulhat.)
Hibaelhárítási lépések
Most nézzük meg részletesen, hogyan háríthatjuk el a fenti problémákat.
1. A szükséges csomagok telepítése és ellenőrzése
Először is győződj meg arról, hogy a libpam-google-authenticator
csomag telepítve van:
sudo apt update
sudo apt install libpam-google-authenticator
A telepítés után ellenőrizd a csomag verzióját:
dpkg -l | grep libpam-google-authenticator
Ha a csomag nincs telepítve, vagy régi verziójú, telepítsd újra vagy frissítsd a rendszert.
2. A PAM konfiguráció ellenőrzése és javítása
A PAM konfiguráció a /etc/pam.d/sshd
fájlban található. Győződj meg arról, hogy a következő sor szerepel benne, *pontosan* ebben a sorrendben a @include common-auth
sor felett:
auth required pam_google_authenticator.so nullok
A fájl szerkesztéséhez használhatod a nano
vagy vim
szerkesztőt:
sudo nano /etc/pam.d/sshd
Fontos: A nullok
opció azt jelenti, hogy a kétlépcsős azonosítás nem kötelező a felhasználók számára, akiknek nincs beállítva Google Authenticator. Ha kötelezővé szeretnéd tenni, távolítsd el a nullok
opciót.
Ezután szerkeszd a /etc/ssh/sshd_config
fájlt:
sudo nano /etc/ssh/sshd_config
Győződj meg arról, hogy a következő sorok a megfelelő értékre vannak állítva:
ChallengeResponseAuthentication yes
AuthenticationMethods publickey,password publickey,keyboard-interactive
PasswordAuthentication no # Ez a sor általában ajánlott, ha kétlépcsős azonosítást használsz.
Ha a AuthenticationMethods
sor nincs ott, add hozzá. Ha a PasswordAuthentication
igenre van állítva, állítsd nemre (no
). Ezután indítsd újra az SSH szolgáltatást:
sudo systemctl restart sshd
3. A Google Authenticator beállítása felhasználónként
Minden felhasználónak, aki használni szeretné a Google Authenticatort, futtatnia kell a következő parancsot a saját felhasználói fiókjában:
google-authenticator
Ez a parancs létrehoz egy .google_authenticator
fájlt a felhasználó home könyvtárában, és generál egy QR kódot. Szkenneld be ezt a QR kódot a Google Authenticator alkalmazással a telefonodon. A parancs számos kérdést fog feltenni: javasolt az „y” válasz azokra a kérdésekre, amelyek a biztonságot növelik. Fontos, hogy a feljegyzett secret key-t mentsd el biztonságos helyre.
4. Időszinkronizáció ellenőrzése
A pontatlan idő a leggyakoribb oka a Google Authenticator hibáknak. Győződj meg arról, hogy a szerver ideje pontos:
sudo apt install ntp
sudo systemctl enable ntp
sudo systemctl start ntp
Ez telepíti és elindítja az NTP (Network Time Protocol) szolgáltatást, amely automatikusan szinkronizálja az időt.
5. A .google_authenticator
fájl ellenőrzése
Ha a fenti lépések nem oldották meg a problémát, ellenőrizd a .google_authenticator
fájl tartalmát. A fájl több sort tartalmaz, beleértve a titkos kulcsot és néhány konfigurációs opciót. Győződj meg arról, hogy a fájl nem sérült, és hogy a titkos kulcs megegyezik azzal, ami a Google Authenticator alkalmazásban van tárolva.
A fájl megtekintéséhez használd a következő parancsot (a felhasználó home könyvtárában):
cat .google_authenticator
6. További hibaelhárítási tippek
- Naplók ellenőrzése: Nézd meg az
/var/log/auth.log
fájlt a hitelesítési hibákért. - Próbáld ki a „keyboard-interactive” hitelesítést: Néha ez a módszer stabilabb lehet.
- Ellenőrizd a tűzfal beállításait: Bár ritka, a tűzfal blokkolhatja a szükséges portokat.
- Indítsd újra a szervert: Egy egyszerű újraindítás néha megoldhatja a problémát.
Összegzés
A kétlépcsős azonosítás a Google Authenticator segítségével jelentősen növeli az SSH biztonságát a Debian szervereken. Bár a beállítás néha problémás lehet, a fenti lépések követésével a legtöbb hibát elháríthatod. Ne feledd, a biztonság folyamatos odafigyelést igényel, ezért rendszeresen ellenőrizd a konfigurációkat és frissítsd a rendszert.