“Secure shell” SSH ir tīkla protokols droša savienojuma izveidei starp saimniekiem, parasti izmantojot portu 22 (kuru labāk mainīt). SSH klienti un SSH serveri ir pieejami lielākajai daļai operētājsistēmu. Gandrīz jebkurš cits tīkla protokols darbojas SSH iekšienē, tas ir, jūs varat strādāt attālināti citā datorā, pārraidīt audio vai video straumi pa šifrētu kanālu utt. Turklāt,
Autentifikācija notiek, izmantojot paroli, bet izstrādātāji un sistēmas administratori tradicionāli izmanto SSH atslēgas. Problēma ir tā, ka privāto atslēgu var nozagt. Ieejas frāzes pievienošana teorētiski aizsargā pret privātās atslēgas zādzību, taču praksē, pārsūtot un saglabājot atslēgas, tās
Kā ieviest divu faktoru autentifikāciju
Izstrādātāji no Honeycomb nesen publicēja
Instrukcijās tiek pieņemts, ka jums ir noteikts pamata resursdators, kas ir atvērts internetam (bastions). Jūs vēlaties izveidot savienojumu ar šo resursdatoru no klēpjdatoriem vai datoriem, izmantojot internetu, un piekļūt visām pārējām ierīcēm, kas atrodas aiz tā. 2FA nodrošina, ka uzbrucējs nevar darīt to pašu, pat ja viņš iegūst piekļuvi jūsu klēpjdatoram, piemēram, instalējot ļaunprātīgu programmatūru.
Pirmā iespēja ir OTP
OTP - vienreizējas digitālās paroles, 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 pacelt viltus bastionu, pārtvert jūsu OTP un to izmantot. Bet tas ir labāk nekā nekas.
Šajā gadījumā servera pusē Chef konfigurācijā tiek ierakstītas šādas rindas:
metadata.rb
attributes/default.rb
(noattributes.rb
)files/sshd
recipes/default.rb
(kopēt norecipe.rb
)templates/default/users.oath.erb
Jebkura OTP lietojumprogramma ir instalēta klienta pusē: Google Authenticator, Authy, Duo, Lastpass, instalēta brew install oath-toolkit
vai apt install oathtool openssl
, tad tiek ģenerēta nejauša base16 virkne (atslēga). Tas tiek konvertēts uz Base32 formātu, ko izmanto mobilie autentifikatori, un importēts tieši lietojumprogrammā.
Rezultātā varat izveidot savienojumu ar Bastion un redzēt, ka tagad autentifikācijai ir nepieciešama ne tikai ieejas frāze, bet arī OTP kods:
➜ ssh -A bastion
Enter passphrase for key '[snip]':
One-time password (OATH) for '[user]':
Welcome to Ubuntu 18.04.1 LTS...
Otrā iespēja ir aparatūras autentifikācija
Šajā gadījumā lietotājam nav jāievada OTP kods katru reizi, jo otrais faktors kļūst par aparatūras ierīci vai biometriju.
Šeit Chef konfigurācija ir nedaudz sarežģītāka, un klienta konfigurācija ir atkarīga no OS. Bet pēc visu darbību veikšanas MacOS klienti var apstiprināt autentifikāciju SSH, izmantojot ieejas frāzi un novietojot pirkstu uz sensora (otrais faktors).
iOS un Android īpašnieki apstiprina pieteikšanos
Operētājsistēmā Linux/ChromeOS ir iespēja strādāt ar YubiKey USB marķieriem. Protams, uzbrucējs var nozagt jūsu pilnvaru, taču viņš joprojām nezina ieejas frāzi.
Avots: www.habr.com