Як можна використовувати генератор паролів для автентифікації для віддалених входів?


55

Я хотів би посилити автентифікацію моїх реєстраційних даних для SSH, додавши ще один фактор: пристрій генератора паролів або додаток для генерації паролів на мобільному телефоні. Єдині очевидні параметри в налаштуваннях за замовчуванням - це фіксований пароль і пара ключів. Як я можу це зробити?

(Якщо я використовую пароль плюс генератор пароля, це забезпечує двофакторну автентифікацію (2FA): пароль - це "те, що я знаю", а пароль - "те, що я маю".)

Відповіді:


49

Один із способів зробити це - за допомогою інструменту, який надає Google під назвою Google Authenticator .

  1. Встановіть libpam-google-автентифікатор Встановіть libpam-google-автентифікатор

    • або просто sudo apt-get install libpam-google-authenticator
  2. Змініть, /etc/pam.d/sshdщоб включити модуль:

    • sudoedit /etc/pam.d/sshd
    • а потім додайте цей рядок у верхній частині файлу та збережіть:

      auth required pam_google_authenticator.so
      
  3. Відредагуйте свій конфігураційний файл SSH, щоб увімкнути виклик:

    • sudoedit /etc/ssh/sshd_config а потім змінити автентифікацію відповіді з:

      ChallengeResponseAuthentication no 
      

      до

      ChallengeResponseAuthentication yes
      

      а потім збережіть файл.

  4. sudo restart ssh перезапустити SSH

  5. Біжи google-authenticator

    • Це дасть вам свій секретний ключ, код підтвердження та коди подряпини для надзвичайних ситуацій. Він також задасть вам питання, що обмежують швидкість.

Мобільні додатки:

Вам знадобиться одна з них, щоб отримати код автентифікації на іншому пристрої.

Пов'язані та корисні:

Зауважте, що поєднання пароля з однокористувальними кодами є двофакторною автентифікацією: воно поєднує "те, що ви знаєте" (пароль), і "що у вас є" (пристрій генератора паролів). З іншого боку, якщо ви комбінуєте одноразові паролі коду з парою ключів SSH, все стосується "того, що у вас є". Коли два коефіцієнти аутентифікації однотипні, у вас немає двофакторної аутентифікації; це іноді називають "автентифікацією з половиною фактора".


12

Google Authenticator чудово підходить для ваших особистих серверів, але ви можете виявити, що він не добре поєднується з існуючою інфраструктурою ідентичності. Якщо ви хочете вивчити інші параметри, подумайте про використання RADIUS в якості протоколу аутентифікації та плагіну pam-radius. Усі орієнтовані на підприємство двофакторні системи аутентифікації підтримують радіус. Ми написали документ про те, як додати двофакторну автентифікацію WiKID через pam-radius до Ubuntu .

Використання радіуса дозволяє прив’язати інші системи, крім SSH, до того ж сервера аутентифікації. Ви також можете направляти запити на авторизацію через freeradius до LDAP, а потім на свій 2FA-сервер, щоб відокремити авторизацію від автентифікації. Можна зробити те ж саме з AD btw.


1

Я закликаю всіх поставити наступний рядок в верхній частині , а не в нижній частині , /etc/pam.d/sshdяк описано вище , раніше (тепер виправлено):

auth required pam_google_authenticator.so

Інакше ваша система залишатиметься відкритою для жорстоких атак на ваш пароль, компромісуючи першу частину двофакторної автентифікації: ваш пароль.

Спочатку вам буде запропоновано код підтвердження, а потім ваш пароль (незалежно від того, чи був правильний код). Якщо будь-який з них помиляється, вам потрібно ввести обидва ще раз. Ви можете налаштувати його навпаки, але це трохи складніше змінити для опису в поточній конфігурації sshd ubuntu (15.04) за замовчуванням.

Детальніше, чому це потрібно, перевірте це питання:

https://github.com/google/google-authenticator/isissue/514

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.