Divfaktoru autentifikācija SSH

«Drošs apvalks» SSH ir tīkla protokols, kas nodrošina drošu savienojumu starp hostiem, noklusējuma ports ir 22 (ko labāk mainīt). SSH klienti un SSH serveri ir pieejami vairumam operētājsistēmu. SSH iekšienē praktiski jebkurš cits tīkla protokols var darboties, tātad var strādāt attālināti uz cita datora, pārsūtīt audio vai video plūsmu šifrētā kanālā utt. Turklāt, izmantojot SOCKS proksi attālinātajā hostā , var pieslēgties citiem hostiem jau šī attālinātā hosta vārdā.

Autentifikācija notiek, izmantojot paroli, taču izstrādātāji un sistēmu administratori tradicionāli izmanto SSH atslēgas. Problēma ir tā, ka slepeno atslēgu var nozagt. Paroles frāzes pievienošana teorētiski aizsargā pret slepenās atslēgas zādzību, taču praksē, veicot pārsūtīšanu un kešošanu, tās tomēr var tikt izmantotas bez apstiprinājuma. Divu faktoru autentifikācija atrisina šo problēmu.

Kā īstenot divu faktoru autentifikāciju

Izstrādātāji no uzņēmuma Honeycomb nesen publicēja detalizētu instrukciju, kā izveidot attiecīgo infrastruktūru klientā un serverī.

Instrukcija pieņem, ka jums ir kāds pamata host, kas ir atvērts internetā (bastions). Jūs vēlaties pieslēgties šim hostam no klēpjdatoriem vai datoriem caur internetu un saņemt pieeju visiem citiem ierīcēm, kas atrodas aiz tā. 2FA garantē, ka uzbrucējs nevarēs veikt to pašu, pat ja iegūs piekļuvi jūsu klēpjdatoram, piemēram, instalējot ļaunprātīgu programmatūru.

Pirmais variants — OTP

OTP — vienreizējie digitālie parolītes, kuras šajā gadījumā tiks izmantotas SSH autentifikācijai kopā ar atslēgu. Izstrādātāji raksta, ka tas nav ideāls variants, jo uzbrucējs var izveidot viltotu bastionu, izķert jūsu OTP un izmantot to. Bet tas ir labāk nekā nekas.

Šajā gadījumā servera pusē Chef konfigurācijas failā tiek norādītas šādas rindas:

  • metadata.rb
  • attributes/default.rb (no attributes.rb)
  • files/sshd
  • recipes/default.rb (kopija no recipe.rb)
  • templates/default/users.oath.erb

Klienta pusē tiek uzstādīta kāda OTP lietojumprogramma: Google Authenticator, Authy, Duo, Lastpass, uzstādās brew install oath-toolkit vai apt install oathtool openssl, tad tiek ģenerēta nejauša base16 virkne (atslēga). Tā tiek konvertēta Base32 formātā, ko izmanto mobilie autentifikatori, un tiek tieši importēta lietotnē.

Rezultātā jūs varat pieslēgties bastionam un pārliecināties, ka tagad tas prasa ne tikai parolfrāzi, bet arī OTP kodu autentifikācijai:

➜ ssh -A bastion
Ievadiet parolfrāzi atslēgai '[snip]': 
Vienreizējais parole (OATH) lietotājam '[user]': 
Laipni lūdzam Ubuntu 18.04.1 LTS...

Otrais variants — aparatūras autentifikācija

Šajā gadījumā no lietotāja netiek prasīts katru reizi ievadīt OTP kodu, jo otrais faktors kļūst par aparatūras ierīci vai biometriju.

Šeit Chef konfigurācija ir nedaudz sarežģītāka, un klientu konfigurācija ir atkarīga no OS. Bet pēc visu darbību veikšanas klienti uz MacOS var apstiprināt autentifikāciju SSH ar parolfrāzi un pirkstu pieliekšanu pie sensora (otrais faktors).

iOS un Android lietotāji apstiprina ieeju ar vienas pogas nospiešanu uz viedtālruņa. Tā ir īpaša tehnoloģija no Krypt.co, kas ir pat drošāka nekā OTP.

Linux/ChromeOS pastāv iespēja strādāt ar USB YubiKey drošības marķieriem. Protams, uzbrucējs var nokopēt jūsu marķieri, taču viņam joprojām nav zināma parolfrāze.

Avots: habr.com

Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster