"Secure shell" SSH ni itifaki ya mtandao ya kuanzisha muunganisho salama kati ya wapangishi, kwa kawaida juu ya bandari 22 (ambayo ni bora kubadilisha). Wateja wa SSH na seva za SSH zinapatikana kwa mifumo mingi ya uendeshaji. Takriban itifaki nyingine yoyote ya mtandao hufanya kazi ndani ya SSH, yaani, unaweza kufanya kazi kwa mbali kwenye kompyuta nyingine, kusambaza mtiririko wa sauti au video kupitia chaneli iliyosimbwa, n.k. Mbali na hilo,
Uthibitishaji hutokea kwa kutumia nenosiri, lakini wasanidi programu na wasimamizi wa mfumo kwa kawaida hutumia funguo za SSH. Shida ni kwamba ufunguo wa kibinafsi unaweza kuibiwa. Kuongeza neno la siri kinadharia hulinda dhidi ya wizi wa ufunguo wa kibinafsi, lakini katika mazoezi, wakati wa kusambaza na funguo za kuhifadhi,
Jinsi ya kutekeleza uthibitishaji wa sababu mbili
Watengenezaji kutoka Asali iliyochapishwa hivi majuzi
Maagizo yanafikiri kuwa una seva pangishi ya msingi iliyofunguliwa kwa Mtandao (bastion). Unataka kuunganisha kwa seva pangishi hii kutoka kwa kompyuta ndogo au kompyuta kupitia Mtandao, na kufikia vifaa vingine vyote vilivyo nyuma yake. 2FA huhakikisha kwamba mshambulizi hawezi kufanya vivyo hivyo hata kama atapata ufikiaji wa kompyuta yako ndogo, kwa mfano kwa kusakinisha programu hasidi.
Chaguo la kwanza ni OTP
OTP - nywila za wakati mmoja za dijiti, ambazo katika kesi hii zitatumika kwa uthibitishaji wa SSH pamoja na ufunguo. Wasanidi programu wanaandika kuwa hili si chaguo bora, kwa sababu mshambulizi anaweza kuinua ngome bandia, kukatiza OTP yako na kuitumia. Lakini ni bora kuliko chochote.
Katika kesi hii, kwa upande wa seva, mistari ifuatayo imeandikwa kwenye usanidi wa Chef:
metadata.rb
attributes/default.rb
(yaattributes.rb
)files/sshd
recipes/default.rb
(nakala kutokarecipe.rb
)templates/default/users.oath.erb
Programu yoyote ya OTP imesakinishwa kwa upande wa mteja: Kithibitishaji cha Google, Authy, Duo, Lastpass, kimesakinishwa brew install oath-toolkit
au apt install oathtool openssl
, kisha kamba ya msingi16 (ufunguo) hutolewa. Inabadilishwa kuwa umbizo la Base32 ambalo vithibitishaji vya simu hutumia na kuingizwa moja kwa moja kwenye programu.
Kama matokeo, unaweza kuunganisha kwa Bastion na kuona kwamba sasa inahitaji sio tu neno la siri, lakini pia msimbo wa OTP kwa uthibitishaji:
β ssh -A bastion
Enter passphrase for key '[snip]':
One-time password (OATH) for '[user]':
Welcome to Ubuntu 18.04.1 LTS...
Chaguo la pili ni uthibitishaji wa vifaa
Katika kesi hii, mtumiaji hatakiwi kuingiza msimbo wa OTP kila wakati, kwa kuwa sababu ya pili inakuwa kifaa cha vifaa au biometriska.
Hapa usanidi wa Chef ni ngumu zaidi, na usanidi wa mteja unategemea OS. Lakini baada ya kukamilisha hatua zote, wateja kwenye MacOS wanaweza kuthibitisha uthibitishaji katika SSH kwa kutumia neno la siri na kuweka kidole kwenye sensor (sababu ya pili).
Wamiliki wa iOS na Android wanathibitisha kuingia
Kwenye Linux/ChromeOS kuna chaguo la kufanya kazi na tokeni za USB za YubiKey. Bila shaka, mshambuliaji anaweza kuiba ishara yako, lakini bado hajui neno la siri.
Chanzo: mapenzi.com