Двофакторска аутентификација за ССХ

„Сигурна шкољка“ ССХ је мрежни протокол за успостављање безбедне везе између хостова, стандардно преко порта 22 (који је боље променити). ССХ клијенти и ССХ сервери су доступни за већину оперативних система. Скоро сваки други мрежни протокол ради унутар ССХ-а, односно можете радити на даљину на другом рачунару, преносити аудио или видео ток преко шифрованог канала итд. Осим тога, преко СОЦКС проксија на удаљеном хосту можете се повезати са другим хостовима у име овог удаљеног хоста.

Потврда аутентичности се дешава помоћу лозинке, али програмери и системски администратори традиционално користе ССХ кључеве. Проблем је што приватни кључ може бити украден. Додавање приступне фразе теоретски штити од крађе приватног кључа, али у пракси, приликом прослеђивања и кеширања кључева, и даље може да се користи без потврде. Двофакторска аутентификација решава овај проблем.

Како имплементирати двофакторску аутентификацију

Програмери из Хонеицомб-а су недавно објавили детаљна упутства, како имплементирати одговарајућу инфраструктуру на клијенту и серверу.

Упутства претпостављају да имате одређени основни хост отворен за Интернет (бастион). Желите да се повежете са овим хостом са лаптопа или рачунара преко Интернета и приступите свим другим уређајима који се налазе иза њега. 2ФА осигурава да нападач не може учинити исто чак и ако добије приступ вашем лаптопу, на пример инсталирањем малвера.

Прва опција је ОТП

ОТП - једнократне дигиталне лозинке, које ће се у овом случају користити за ССХ аутентификацију заједно са кључем. Програмери пишу да ово није идеална опција, јер би нападач могао да подигне лажни бастион, пресретне ваш ОТП и искористи га. Али то је боље него ништа.

У овом случају, на страни сервера, следеће линије су уписане у Цхеф конфигурацију:

  • metadata.rb
  • attributes/default.rb (од attributes.rb)
  • files/sshd
  • recipes/default.rb (копија из recipe.rb)
  • templates/default/users.oath.erb

Било која ОТП апликација је инсталирана на страни клијента: Гоогле Аутхентицатор, Аутхи, Дуо, Ластпасс, инсталиран brew install oath-toolkit или apt install oathtool openssl, онда се генерише насумични низ (кључ) басе16. Конвертује се у Басе32 формат који мобилни аутентификатори користе и увози директно у апликацију.

Као резултат тога, можете се повезати са Бастионом и видети да сада захтева не само приступну фразу, већ и ОТП код за аутентификацију:

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

Друга опција је хардверска аутентификација

У овом случају, корисник не мора сваки пут да уноси ОТП код, пошто други фактор постаје хардверски уређај или биометрија.

Овде је конфигурација Цхеф-а мало компликованија, а конфигурација клијента зависи од ОС-а. Али након што заврше све кораке, клијенти на МацОС-у могу да потврде аутентификацију у ССХ користећи приступну фразу и стављајући прст на сензор (други фактор).

Власници иОС-а и Андроид-а потврђују пријаву притиском на једно дугме на паметном телефону. Ово је посебна технологија компаније Крипт.цо, која је чак и сигурнија од ОТП-а.

На Линук/ЦхромеОС-у постоји опција за рад са ИубиКеи УСБ токенима. Наравно, нападач може украсти ваш токен, али још увек не зна приступну фразу.

Извор: ввв.хабр.цом

Додај коментар