«Secure shell» SSH-ը ցանցային արձանագրություն է՝ հոսթինգների միջև անվտանգ կապ հաստատելու համար, ստանդարտ 22 պորտի միջոցով (որն ավելի լավ է փոխել): SSH հաճախորդները և SSH սերվերները հասանելի են օպերացիոն համակարգերի մեծ մասի համար: Գրեթե ցանկացած այլ ցանցային արձանագրություն աշխատում է SSH-ի ներսում, այսինքն՝ դուք կարող եք հեռակա աշխատել մեկ այլ համակարգչի վրա, փոխանցել աուդիո կամ վիդեո հոսք գաղտնագրված ալիքով և այլն: Բացի այդ,
Նույնականացումն իրականացվում է գաղտնաբառի միջոցով, սակայն մշակողները և համակարգի ադմինիստրատորները ավանդաբար օգտագործում են SSH ստեղները: Խնդիրն այն է, որ անձնական բանալին կարող է գողանալ: Անցաբառի ավելացումը տեսականորեն պաշտպանում է մասնավոր բանալին գողանալուց, սակայն գործնականում բանալիները փոխանցելիս և քեշավորելիս դրանք
Ինչպես իրականացնել երկգործոն նույնականացում
Մեղրախորիսխի մշակողները վերջերս հրապարակեցին
Հրահանգները ենթադրում են, որ դուք ունեք որոշակի հիմնական հոսթ բաց ինտերնետի համար (բաստիոն): Դուք ցանկանում եք միանալ այս հոսթին նոութբուքներից կամ համակարգչից ինտերնետի միջոցով և մուտք գործել բոլոր մյուս սարքերը, որոնք գտնվում են դրա հետևում: 2FA-ն ապահովում է, որ հարձակվողը չի կարող անել նույնը, նույնիսկ եթե նրանք մուտք ունենան դեպի ձեր նոութբուքը, օրինակ՝ չարամիտ ծրագրեր տեղադրելով:
Առաջին տարբերակը OTP-ն է
OTP - մեկանգամյա թվային գաղտնաբառեր, որոնք այս դեպքում կօգտագործվեն բանալիի հետ միասին SSH նույնականացման համար: Մշակողները գրում են, որ սա իդեալական տարբերակ չէ, քանի որ հարձակվողը կարող է կեղծ բաստիոն բարձրացնել, խափանել ձեր OTP-ն և օգտագործել այն։ Բայց դա ավելի լավ է, քան ոչինչ:
Այս դեպքում, սերվերի կողմից, հետևյալ տողերը գրված են Chef config-ում.
metadata.rb
attributes/default.rb
(տեսանյութ)attributes.rb
)files/sshd
recipes/default.rb
(պատճենիցrecipe.rb
)templates/default/users.oath.erb
Ցանկացած OTP հավելված տեղադրված է հաճախորդի կողմից՝ տեղադրված է Google Authenticator, Authy, Duo, Lastpass: brew install oath-toolkit
կամ apt install oathtool openssl
, ապա ստեղծվում է պատահական base16 տող (բանալին): Այն փոխարկվում է Base32 ձևաչափի, որն օգտագործում են բջջային իսկորոշիչները և ներմուծվում անմիջապես հավելվածում:
Արդյունքում, դուք կարող եք միանալ Bastion-ին և տեսնել, որ այն այժմ պահանջում է ոչ միայն անցաբառ, այլ նաև վավերացման համար OTP կոդ.
➜ ssh -A bastion
Enter passphrase for key '[snip]':
One-time password (OATH) for '[user]':
Welcome to Ubuntu 18.04.1 LTS...
Երկրորդ տարբերակը ապարատային վավերացումն է
Այս դեպքում օգտվողից չի պահանջվում ամեն անգամ մուտքագրել OTP կոդը, քանի որ երկրորդ գործոնը դառնում է ապարատային սարքը կամ կենսաչափությունը:
Այստեղ Chef-ի կոնֆիգուրացիան մի փոքր ավելի բարդ է, և հաճախորդի կոնֆիգուրացիան կախված է ՕՀ-ից: Բայց բոլոր քայլերն ավարտելուց հետո MacOS-ի հաճախորդները կարող են հաստատել նույնականացումը SSH-ում՝ օգտագործելով անցաբառը և մատը դնելով սենսորի վրա (երկրորդ գործոն):
iOS-ի և Android-ի սեփականատերերը հաստատում են մուտքը
Linux/ChromeOS-ում կա YubiKey USB նշանների հետ աշխատելու տարբերակ: Իհարկե, հարձակվողը կարող է գողանալ ձեր նշանը, բայց նա դեռ չգիտի անցաբառը:
Source: www.habr.com