Tveggja þátta auðkenning fyrir SSH

„Secure shell“ SSH er netsamskiptareglur til að koma á öruggri tengingu á milli hýsils, venjulega yfir port 22 (sem er betra að breyta). SSH viðskiptavinir og SSH netþjónar eru fáanlegir fyrir flest stýrikerfi. Næstum allar aðrar netsamskiptareglur virka inni í SSH, það er að segja að þú getur unnið fjarstýrt á annarri tölvu, sent hljóð- eða myndstraum yfir dulkóðaða rás osfrv. Að auki, í gegnum SOCKS proxy á ytri hýsil þú getur tengst öðrum gestgjöfum fyrir hönd þessa ytri gestgjafa.

Auðkenning á sér stað með því að nota lykilorð, en forritarar og kerfisstjórar nota venjulega SSH lykla. Vandamálið er að hægt er að stela einkalyklinum. Að bæta við lykilorði verndar fræðilega gegn þjófnaði á einkalyklinum, en í reynd, þegar lyklar eru framsendir og vistaðir í skyndiminni, enn hægt að nota án staðfestingar. Tvíþætt auðkenning leysir þetta vandamál.

Hvernig á að innleiða tvíþætta auðkenningu

Hönnuðir frá Honeycomb birtu nýlega nákvæmar leiðbeiningar, hvernig á að innleiða viðeigandi innviði á biðlara og netþjón.

Leiðbeiningarnar gera ráð fyrir að þú sért með ákveðinn grunnhýsil sem er opinn fyrir internetinu (bastion). Þú vilt tengjast þessum gestgjafa úr fartölvum eða tölvum í gegnum internetið og fá aðgang að öllum öðrum tækjum sem eru staðsett á bak við hann. 2FA tryggir að árásarmaður geti ekki gert slíkt hið sama þótt þeir fái aðgang að fartölvunni þinni, til dæmis með því að setja upp spilliforrit.

Fyrsti kosturinn er OTP

OTP - stafræn lykilorð í eitt skipti, sem í þessu tilfelli verða notuð fyrir SSH auðkenningu ásamt lyklinum. Hönnuðir skrifa að þetta sé ekki tilvalinn kostur, vegna þess að árásarmaður gæti reist falsa bastion, stöðvað OTP þinn og notað það. En það er betra en ekkert.

Í þessu tilviki, á miðlarahliðinni, eru eftirfarandi línur skrifaðar inn í Chef config:

  • metadata.rb
  • attributes/default.rb (af attributes.rb)
  • files/sshd
  • recipes/default.rb (afrit frá recipe.rb)
  • templates/default/users.oath.erb

Sérhvert OTP forrit er sett upp á biðlarahlið: Google Authenticator, Authy, Duo, Lastpass, uppsett brew install oath-toolkit eða apt install oathtool openssl, þá er tilviljunarkenndur base16 strengur (lykill) búinn til. Það er breytt í Base32 sniðið sem farsímaauðkenningarar nota og flutt beint inn í forritið.

Fyrir vikið geturðu tengst Bastion og séð að það þarf nú ekki aðeins aðgangsorð heldur einnig OTP kóða fyrir auðkenningu:

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

Annar valkosturinn er auðkenning á vélbúnaði

Í þessu tilviki þarf notandinn ekki að slá inn OTP kóðann í hvert skipti, þar sem seinni þátturinn verður vélbúnaðartækið eða líffræðileg tölfræði.

Hér er Chef stillingin aðeins flóknari og biðlarastillingin fer eftir stýrikerfinu. En eftir að hafa lokið öllum skrefunum geta viðskiptavinir á MacOS staðfest auðkenningu í SSH með því að nota lykilorð og setja fingur á skynjarann ​​(annar þáttur).

iOS og Android eigendur staðfesta innskráningu með því að ýta á einn hnapp á snjallsímanum þínum. Þetta er sérstök tækni frá Krypt.co, sem er enn öruggari en OTP.

Á Linux/ChromeOS er möguleiki á að vinna með YubiKey USB táknum. Auðvitað getur árásarmaður stolið tákninu þínu, en hann kann samt ekki lykilorðið.

Heimild: www.habr.com

Bæta við athugasemd