SSH үчүн эки фактордук аутентификация

"Коопсуз кабык" SSH - стандарттуу түрдө 22-порттун (өзгөртүү жакшыраак) үстүнөн хосттордун ортосунда коопсуз байланышты орнотуу үчүн тармактык протокол. SSH кардарлары жана SSH серверлери көпчүлүк операциялык системалар үчүн жеткиликтүү. Дээрлик бардык башка тармак протоколдору SSH ичинде иштейт, башкача айтканда, сиз башка компьютерде алыстан иштей аласыз, шифрленген канал аркылуу аудио же видео агымын өткөрө аласыз ж.б. Мындан тышкары, алыскы хостто SOCKS прокси аркылуу бул алыскы хосттун атынан башка хостторго туташа аласыз.

Аутентификация сырсөз аркылуу ишке ашат, бирок иштеп чыгуучулар жана системалык администраторлор адатта SSH ачкычтарын колдонушат. Маселе купуя ачкычты уурдап кетиши мүмкүн. Купуя сөз айкашын кошуу теориялык жактан жеке ачкычты уурдоодон коргойт, бирок иш жүзүндө ачкычтарды багыттоодо жана кэштөөдө алар дагы эле ырастоосуз колдонсо болот. Эки фактордук аутентификация бул маселени чечет.

Эки фактордук аутентификацияны кантип ишке ашыруу керек

Honeycomb компаниясынын иштеп чыгуучулары жакында жарыяланган Мындай кылдат көрсөтмөлөр, кардар жана серверде тиешелүү инфраструктураны кантип ишке ашыруу керек.

Көрсөтмөлөр сизде Интернетке ачык белгилүү бир негизги хост бар деп болжолдойт (бастион). Сиз бул хостко ноутбуктардан же компьютерлерден Интернет аркылуу туташып, анын артында жайгашкан бардык башка түзмөктөргө киргиңиз келет. 2FA чабуулчу сиздин ноутбукка кирүү мүмкүнчүлүгүнө ээ болсо да, мисалы, кесепеттүү программаны орнотуу менен ушундай кыла албашын камсыздайт.

Биринчи параметр OTP болуп саналат

OTP - бул учурда ачкыч менен бирге SSH аутентификациясы үчүн колдонула турган бир жолку санариптик сырсөздөр. Иштеп чыгуучулар бул идеалдуу вариант эмес деп жазышат, анткени чабуулчу жасалма бастионду көтөрүп, сиздин OTPңызды кармап, аны колдонушу мүмкүн. Бирок бул эч нерседен жакшы.

Бул учурда, сервер тарабында Chef конфигурациясына төмөнкү саптар жазылат:

  • 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 ээлери логинди ырасташат смартфонуңуздагы бир баскычты басуу менен. Бул Krypt.co компаниясынын атайын технологиясы, ал OTPден да коопсуз.

Linux/ChromeOSто YubiKey USB энбелгилери менен иштөө мүмкүнчүлүгү бар. Албетте, чабуулчу сиздин энбелгиңизди уурдашы мүмкүн, бирок ал дагы эле купуя сөз айкашын билбейт.

Source: www.habr.com

Комментарий кошуу