Dodatkowa autoryzacja w SSH GOOGLE

Witam wszystkich, chcę dziś Wam pokazać dodatkową autoryzację w usłudze ssh za pomocą biblioteki google. Uprzedzę Wasze wszystkie pytania, po co , czy to bezpieczne?, opisuję to jako ciekawostkę dodatek do ssh, nie zwalniający z dodatkowych zabezpieczeń i myślenia Administratorów. Jest do fajny dodatek, dosyć przyjazny, nie trzeba za niego płacić i jak na razie działa. No dobrze koniec gadania, czas zabrać się do prania do czego ? taaaa zmęczenie .. do instalowania.

Oczywiście cała instalacja jest dla Debiana 7.

Sudo czy jak ktoś tam woli od razu na koncie root, zróbcie tak

[root@toor]#wget http://ftp.us.debian.org/debian/pool/main/g/googleauthenticator/libpam-google-authenticator_20130529-2_amd64.deb .

Oczywiście to dla 64 dla 32 trzeba skorzystać z tego linku

[root@toor]#wget http://ftp.us.debian.org/debian/pool/main/g/google-authenticator/libpam-google-authenticator_20130529-2_i386.deb

Można oczywiście pobrać najnowszą wersję i skompilować ją samemu, ale ja jestem pczkowy i tak tu opiszę. Teraz zaczynamy instalację.

[root@toor]#dpkg –i libpam-google-authenticator_20130529-2_amd64.deb wszystko się zainstaluje ładnie, choć nie zawsze na kilku maszynach wywaliło mi brak libqrencode3 więc może warto to doinstalować wcześniej nie zaszkodzi, a unikniemy problemów.

Po zakończonej operacji można już wygenerować sobie pliczek z autoryzacją. UWAGA !! jeśli w ssh mamy zablokowane logowanie na konto root, trzeba to zrobić na użytkowniku, który może się logować. Jeśli tego nie sprawdzimy wcześniej to czeka Nas wyprawa do serwera ☺))

[piotr@toor]$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/piotr@zfs%3Fsecret%3D4J7HMT2O2JUR2UMJ

TU PIĘKNY OBRAZEK BY ZROBIĆ ZDJĘCIE TELEFONEM !!

Your new secret key is: 4J7HMT2O2JUR2UMJ
Your verification code is 749225
Your emergency scratch codes are:
  21020080
  87408497
  62094299
  82524514
  30315016

Do you want me to update your "/home/piotr/.google_authenticator" file (y/n)y
Do you want me to update your "/home/piotr/.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) n

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

Poczytać i ustawić sobie zgodnie z zapotrzebowaniem :))) nie sugerujcie się kodami , które tu są podawane dla przykładu nie włamiecie mi się na serwer to tylko przykład ☺))

Teraz musimy pobrać aplikację na nasz telefon, hmm smartfon ? na innym nie testowałem. Aplikacja jest dostępna w Sklepie Gogle na Android, i AppStore iPhone na Windows nie wiem nie mam ☺ Nazywa się Authenticator, pobieramy i instalujemy. Do aplikacji można wpisać kod ręcznie , lub zrobić za pomocą niej zdjęcie, tego obrazka co powstał nam podczas generowania kodu. Kod do wpisania ręcznego to **Your new secret key is: 4J7HMT2O2JUR2UMJ ** pierwsza linijka. Potem można go podejrzeć w katalogu domowym

[piotr@toor]$ cat /home/piotr/.google_authenticator

No dobra aplikacja zainstalowana, kod przepisany do telefonu no to pora na odcięcie się od ssh ☺)). Nie sprawdzałem czy działa jak ktoś ma klucze, ale to pozostawiam Wam do zweryfikowania. Musimy dokonać zmian w pliku

[root@toor]# vim /etc/pam.d/sshd

Ja dokonałem zmiany ok ~ linijki 6 i wpisałem to auth required pam_google_authenticator.so

Wychodzimy zapisujemy i edytujemy konfigurację SSH.

[root@toor]# vim /etc/ssh/sshd_config

Szukamy linijki ok ~36 ChallengeResponseAuthentication no i zmieniamy ją na

ChallengeResponseAuthentication yes

Restartujemy ssh [root@toor]# service ssh restart

Iii dziękuję zablokowałem sobie dostęp do serwera w stanach … uuuppssss to kurtka na grzbiet i lecisz. Czytać uważnie przetrenować gdzieś na testowych maszynach.

Powodzonka i miłej zabawy !!!