เบเบฒเบ™เบžเบดเบชเบนเบ”เบขเบทเบ™เบขเบฑเบ™เบชเบญเบ‡เบ›เบฑเบ”เปƒเบˆเบชเปเบฒเบฅเบฑเบš SSH

"Secure shell" SSH เปเบกเปˆเบ™เป‚เบ›เป‚เบ•เบ„เบญเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบ›เบญเบ”เป„เบžเบฅเบฐเบซเบงเปˆเบฒเบ‡เป‚เบฎเบ”, เบ•เบฒเบกเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบœเปˆเบฒเบ™เบžเบญเบ” 22 (เป€เบŠเบดเปˆเบ‡เบ”เบตเบเบงเปˆเบฒเบ—เบตเปˆเบˆเบฐเบ›เปˆเบฝเบ™). เบฅเบนเบเบ„เป‰เบฒ SSH เปเบฅเบฐเป€เบŠเบตเบšเป€เบงเบต SSH เบกเบตเปƒเบซเป‰เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบชเปˆเบงเบ™เปƒเบซเบเปˆ. เป€เบเบทเบญเบšเบ—เบธเบเป‚เบ›เป‚เบ•เบ„เบญเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบญเบทเปˆเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™ SSH, เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบงเบฝเบเบซเปˆเบฒเบ‡เป„เบเบชเบญเบเบซเบผเบตเบเปƒเบ™เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเป€เบ„เบทเปˆเบญเบ‡เบญเบทเปˆเบ™, เบชเบปเปˆเบ‡เบเบฐเปเบชเบชเบฝเบ‡เบซเบผเบทเบงเบดเบ”เบตเป‚เบญเบœเปˆเบฒเบ™เบŠเปˆเบญเบ‡เบ—เบฒเบ‡เบ—เบตเปˆเบ–เบทเบเป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”, เปเบฅเบฐเบญเบทเปˆเบ™เป†. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบœเปˆเบฒเบ™ SOCKS proxy เปƒเบ™เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบฒเบ‡เป„เบ เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเป‚เบฎเบ”เบญเบทเปˆเบ™เปƒเบ™เบ™เบฒเบกเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเบžเบฒเบšเบ—เบฒเบ‡เป„เบเบ™เบตเป‰.

เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ„เบงเบฒเบกเบ–เบทเบเบ•เป‰เบญเบ‡เป€เบเบตเบ”เบ‚เบถเป‰เบ™เป‚เบ”เบเปƒเบŠเป‰เบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™, เปเบ•เปˆเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ เปเบฅเบฐเบœเบนเป‰เบšเปเบฅเบดเบซเบฒเบ™เบฅเบฐเบšเบปเบšเปƒเบŠเป‰เบ›เบธเปˆเบก SSH เปเบšเบšเบ”เบฑเป‰เบ‡เป€เบ”เบตเบก. เบšเบฑเบ™เบซเบฒเปเบกเปˆเบ™เบงเปˆเบฒเบเบฐเปเบˆเบชเปˆเบงเบ™เบ•เบปเบงเบชเบฒเบกเบฒเบ”เบ–เบทเบเบฅเบฑเบเป„เบ”เป‰. เบเบฒเบ™เป€เบžเบตเปˆเบกเบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เบ—เบฒเบ‡เบ—เบดเบ”เบชเบฐเบ”เบตเบ›เป‰เบญเบ‡เบเบฑเบ™เบเบฒเบ™เบฅเบฑเบเบ‚เบญเบ‡เบเบฐเปเบˆเบชเปˆเบงเบ™เบ•เบปเบง, เปเบ•เปˆเปƒเบ™เบ—เบฒเบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”, เป€เบกเบทเปˆเบญเบชเบปเปˆเบ‡เบ•เปเปˆเปเบฅเบฐเป€เบเบฑเบšเบเบฐเปเบˆ, เบžเบงเบเบกเบฑเบ™. เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบขเบทเบ™เบขเบฑเบ™. เบเบฒเบ™เบžเบดเบชเบนเบ”เบขเบทเบ™เบขเบฑเบ™เบชเบญเบ‡เบ›เบฑเบ”เปƒเบˆเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ™เบตเป‰.

เบงเบดเบ—เบตเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบชเบญเบ‡เบ›เบฑเบ”เปƒเบˆ

เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบˆเบฒเบ Honeycomb เบˆเบฑเบ”เบžเบตเบกเบกเบฒเบšเปเปˆเบ”เบปเบ™เบกเบฒเบ™เบตเป‰ เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบขเปˆเบฒเบ‡เบฅเบฐเบญเบฝเบ”, เบงเบดเบ—เบตเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบเปˆเบฝเบงเบเบฑเบšเบฅเบนเบเบ„เป‰เบฒเปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ.

เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบชเบปเบกเบกเบธเบ”เบงเปˆเบฒเบ—เปˆเบฒเบ™เบกเบตเป€เบˆเบปเป‰เบฒเบžเบฒเบšเบžเบทเป‰เบ™เบ–เบฒเบ™เบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™เป€เบ›เบตเบ”เบเบฑเบšเบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ” (bastion). เบ—เปˆเบฒเบ™โ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹เป€เบŠเบทเปˆเบญเบกโ€‹เบ•เปเปˆโ€‹เบเบฑเบšโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบžเบฒเบšโ€‹เบ™เบตเป‰โ€‹เบˆเบฒเบโ€‹เบ„เบญเบกโ€‹เบžเบดเบงโ€‹เป€เบ•เบตโ€‹เบซเบผเบทโ€‹เบ„เบญเบกโ€‹เบžเบดเบงโ€‹เป€เบ•เบตโ€‹เป‚เบ”เบโ€‹เบœเปˆเบฒเบ™โ€‹เบญเบดเบ™โ€‹เป€เบ•เบตโ€‹เป€เบ™เบฑเบ”โ€‹, เปเบฅเบฐโ€‹เบเบฒเบ™โ€‹เป€เบ‚เบปเป‰เบฒโ€‹เป€เบ–เบดเบ‡โ€‹เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™โ€‹เบญเบทเปˆเบ™เป†โ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เบ—เบตเปˆโ€‹เบขเบนเปˆโ€‹เบ—เบฒเบ‡โ€‹เบซเบฅเบฑเบ‡โ€‹เบ‚เบญเบ‡โ€‹เบกเบฑเบ™โ€‹. 2FA เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบœเบนเป‰เป‚เบˆเบกเบ•เบตเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เปเบšเบšเบ”เบฝเบงเบเบฑเบ™เป„เบ”เป‰ เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เปเบฅเบฑเบšเบ—เบฑเบญเบšเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ, เบ•เบปเบงเบขเปˆเบฒเบ‡เป‚เบ”เบเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ malware.

เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เปเบฒเบญเบดเบ”เปเบกเปˆเบ™ 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, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, string base16 random (key) เปเบกเปˆเบ™เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™. เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบ›เปˆเบฝเบ™เป€เบ›เบฑเบ™เบฎเบนเบšเปเบšเบš 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 เบ—เบธเบเป†เบ„เบฑเป‰เบ‡, เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบ›เบฑเบ”เปƒเบˆเบ—เบตเบชเบญเบ‡เบเบฒเบเป€เบ›เบฑเบ™เบญเบธเบ›เบฐเบเบญเบ™เบฎเบฒเบ”เปเบงเบซเบผเบท biometrics.

เบ—เบตเปˆเบ™เบตเป‰เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ Chef เปเบกเปˆเบ™เบชเบฑเบšเบชเบปเบ™เป€เบฅเบฑเบเบ™เป‰เบญเบ, เปเบฅเบฐเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบฅเบนเบเบ„เป‰เบฒเปเบกเปˆเบ™เบ‚เบถเป‰เบ™เบเบฑเบš OS. เปเบ•เปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบชเปเบฒเป€เบฅเบฑเบ”เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”, เบฅเบนเบเบ„เป‰เบฒเปƒเบ™ MacOS เบชเบฒเบกเบฒเบ”เบขเบทเบ™เบขเบฑเบ™เบเบฒเบ™เบžเบดเบชเบนเบ”เบขเบทเบ™เบขเบฑเบ™เปƒเบ™ SSH เป‚เบ”เบเปƒเบŠเป‰เบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เปเบฅเบฐเบงเบฒเบ‡เบ™เบดเป‰เบงเบกเบทเปƒเบชเปˆเป€เบŠเบฑเบ™เป€เบŠเบต (เบ›เบฑเบ”เปƒเบˆเบ—เบตเบชเบญเบ‡).

เป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡ iOS เปเบฅเบฐ Android เบขเบทเบ™เบขเบฑเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบชเบนเปˆเบฅเบฐเบšเบปเบš เป‚เบ”เบเบเบฒเบ™เบเบปเบ”เบ›เบธเปˆเบกเบ”เบฝเบงเปƒเบ™เป‚เบ—เบฅเบฐเบชเบฑเบšเบชเบฐเบซเบผเบฒเบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™. เบ™เบตเป‰เปเบกเปˆเบ™เป€เบ—เบเป‚เบ™เป‚เบฅเบเบตเบžเบดเป€เบชเบ”เบˆเบฒเบ Krypt.co, เป€เบŠเบดเปˆเบ‡เบกเบตเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบซเบผเบฒเบเบเบงเปˆเบฒ OTP.

เปƒเบ™ Linux/ChromeOS เบกเบตเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš YubiKey USB tokens. เปเบ™เปˆเบ™เบญเบ™, เบœเบนเป‰เป‚เบˆเบกเบ•เบตเบชเบฒเบกเบฒเบ”เบฅเบฑเบเป‚เบ—เป€เบ„เบฑเบ™เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ, เปเบ•เปˆเบฅเบฒเบงเบเบฑเบ‡เบšเปเปˆเบฎเบนเป‰เบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™