Existuje několik věcí, které můžete udělat pro zabezpečení a ochranu svého SSH. Jedním z nich je použití Google Authenticator a vytvoření dvoufaktorové autentizace na vašem CentOS VPS. Google Authenticator vám poskytuje další vrstvu zabezpečení tím, že na vašem smartphonu generuje časově založená jednorázová hesla (TOTP), která musíte zadat spolu se svým uživatelským jménem a heslem, abyste se mohli přihlásit k serveru pomocí SSH.
V dnešním článku na blogu vysvětlíme, jak nainstalovat Google Authenticator ze zdroje a nakonfigurovat SSH pro dvoufaktorové ověřování.
Nejprve aktualizujte svůj virtuální server CentOS
yum -y update
Dále nainstalujte „pam-devel ‘ balíček, který vám umožňuje nastavit zásady ověřování, aniž byste museli znovu kompilovat programy, které zpracovávají ověřování.
yum -y install pam-devel
Ujistěte se, že je nainstalován a spuštěn ntpd, protože bezpečnostní tokeny TOTP jsou citlivé na čas
yum -y install ntp /etc/init.d/ntpd start chkconfig ntpd on
Stáhněte a rozbalte balíček Google authenticator
cd /opt/ wget https://google-authenticator.googlecode.com/files/libpam-google-authenticator-1.0-source.tar.bz2 tar -xvzf libpam-google-authenticator-1.0-source.tar.bz2 cd libpam-google-authenticator-1.0
Zkompilujte a nainstalujte modul Google authenticator
make make install
Nyní spusťte na svém serveru Google authenticator a odpovězte na každou z otázek
google-authenticator Do you want authentication tokens to be time-based (y/n) y https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/root@YOURHOSTNAME%3Fsecret%3DWYD4YCGEE5N4M3LA Your new secret key is: WYD4YCGEE5N4M3LA Your verification code is 188127 Your emergency scratch codes are: 60086389 28918071 88502143 60873576 90892542 Do you want me to update your "/root/.google_authenticator" file (y/n) y 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 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) y 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
Otevřete URL uvedenou po zodpovězení první otázky a naskenujte QR kód pomocí aplikace Google Authenticator na vašem smartphonu. To je vše. Každých 30 sekund bude vygenerován nový ověřovací kód.
Nyní budete muset povolit Google authenticator pro přihlášení SSH. Otevřete konfigurační soubor PAM
vi /etc/pam.d/sshd
A přidejte následující řádek nahoře
auth required pam_google_authenticator.so
Otevřete konfigurační soubor SSH a ujistěte se, že „ChallengeResponseAuthentication ‘ řádek je nastaven na ano
ChallengeResponseAuthentication yes
Uložte změny a restartujte službu SSH:
service sshd restart
Nyní budete při každém pokusu o připojení SSH na svůj server vyzváni k zadání ověřovacího kódu zobrazeného ve vaší aplikaci Google Authenticator.
login as: Verification code: Password:
Samozřejmě, pokud jste jedním z našich zákazníků Linux VPS Hosting, nemusíte nic z toho dělat, jednoduše se zeptejte našich administrátorů, posaďte se a relaxujte. Naši administrátoři vám to okamžitě nastaví. Aktualizace najdete v tématu Zabezpečené SSH pomocí dvoufaktorového ověřování na Ubuntu 16.04.
PS. Pokud se vám tento příspěvek líbil, sdílejte jej se svými přáteli na sociálních sítích pomocí tlačítek vlevo nebo jednoduše zanechte odpověď níže. Děkuji.