SSH üçün iki faktorlu autentifikasiya

“Təhlükəsiz qabıq” SSH, standart olaraq 22 port üzərindən (dəyişdirmək daha yaxşıdır) hostlar arasında təhlükəsiz əlaqə yaratmaq üçün şəbəkə protokoludur. SSH müştəriləri və SSH serverləri əksər əməliyyat sistemləri üçün mövcuddur. Demək olar ki, hər hansı digər şəbəkə protokolu SSH daxilində işləyir, yəni başqa bir kompüterdə uzaqdan işləyə, şifrələnmiş kanal üzərindən audio və ya video axını ötürə və s. Bundan başqa, uzaq hostda SOCKS proxy vasitəsilə bu uzaq host adından digər hostlara qoşula bilərsiniz.

Doğrulama paroldan istifadə etməklə baş verir, lakin tərtibatçılar və sistem administratorları ənənəvi olaraq SSH açarlarından istifadə edirlər. Problem ondadır ki, şəxsi açar oğurlana bilər. Parolun əlavə edilməsi nəzəri olaraq şəxsi açarın oğurlanmasından qoruyur, lakin praktikada açarların yönləndirilməsi və keşləşdirilməsi zamanı onlar hələ də təsdiq olmadan istifadə edilə bilər. İki faktorlu autentifikasiya bu problemi həll edir.

İki faktorlu autentifikasiyanı necə həyata keçirmək olar

Bu yaxınlarda Honeycomb-dan tərtibatçılar nəşr etdi ətraflı təlimatlar, müştəri və serverdə müvafiq infrastrukturun necə həyata keçirilməsi.

Təlimatlar İnternetə açıq müəyyən bir əsas hostunuz olduğunu güman edir (bastion). İnternet vasitəsilə noutbuk və ya kompüterlərdən bu hosta qoşulmaq və onun arxasında yerləşən bütün digər cihazlara daxil olmaq istəyirsiniz. 2FA, təcavüzkarın, məsələn, zərərli proqram quraşdırmaqla, laptopunuza daxil olsa belə, eyni şeyi edə bilməyəcəyini təmin edir.

Birinci seçim OTP-dir

OTP - bu halda açarla birlikdə SSH autentifikasiyası üçün istifadə ediləcək birdəfəlik rəqəmsal parollar. Tərtibatçılar yazır ki, bu ideal variant deyil, çünki təcavüzkar saxta bastion qaldıra, OTP-ni ələ keçirə və ondan istifadə edə bilər. Amma heç yoxdan yaxşıdır.

Bu halda, server tərəfində Chef konfiqurasiyasına aşağıdakı sətirlər yazılır:

  • metadata.rb
  • attributes/default.rb ( attributes.rb)
  • files/sshd
  • recipes/default.rb (dan kopyalayın recipe.rb)
  • templates/default/users.oath.erb

İstənilən OTP proqramı müştəri tərəfində quraşdırılıb: Google Authenticator, Authy, Duo, Lastpass, quraşdırılıb brew install oath-toolkit və ya apt install oathtool openssl, sonra təsadüfi base16 sətri (açar) yaradılır. O, mobil autentifikatorların istifadə etdiyi Base32 formatına çevrilir və birbaşa tətbiqə idxal olunur.

Nəticədə, siz Bastion-a qoşula və görə bilərsiniz ki, o, indi autentifikasiya üçün yalnız parol deyil, həm də OTP kodu tələb edir:

➜ ssh -A bastion
Enter passphrase for key '[snip]': 
One-time password (OATH) for '[user]': 
Welcome to Ubuntu 18.04.1 LTS...

İkinci seçim hardware identifikasiyasıdır

Bu halda istifadəçidən hər dəfə OTP kodunu daxil etmək tələb olunmur, çünki ikinci amil hardware cihazı və ya biometrika olur.

Burada Chef konfiqurasiyası bir az daha mürəkkəbdir və müştəri konfiqurasiyası OS-dən asılıdır. Lakin bütün addımları tamamladıqdan sonra MacOS-da müştərilər paroldan istifadə edərək və barmağını sensora yerləşdirməklə SSH-də autentifikasiyanı təsdiq edə bilərlər (ikinci amil).

iOS və Android sahibləri girişi təsdiqləyirlər smartfonunuzda bir düyməyə basaraq. Bu, Krypt.co-dan OTP-dən daha təhlükəsiz olan xüsusi texnologiyadır.

Linux/ChromeOS-da YubiKey USB tokenləri ilə işləmək imkanı var. Əlbəttə ki, təcavüzkar nişanınızı oğurlaya bilər, lakin o, hələ də parolu bilmir.

Mənbə: www.habr.com

Добавить комментарий