Как защитить SSH с двухфакторной аутентификацией в CentOS

Фактор аутентификации — это часть информации, которая доказывает, что у вас есть права на вход в систему, SSH использует аутентификацию по паролю по умолчанию, и это нехорошо, потому что это всего лишь один фактор, поэтому, если каким-то образом ваш пароль был скомпрометирован, вам нечего делать. помешать злоумышленнику завладеть вашей системой. и это то, что мы называем «единая точка отказа».

В этом руководстве мы собираемся настроить двухэтапную аутентификацию с помощью мобильного приложения Google-Authenticator, которое дает вам одноразовый пароль (OTP) каждый раз, когда вы входите в свою систему.

Установка Google Authenticator

Приложение Google Authenticator доступно на всех мобильных телефонах, вы можете загрузить приложение для Android из Google Play и приложение для IOS (для пользователей iPhone) из App Store.

Установка Google PAM

PAM (Pluggable Authentication Module) — это инфраструктура аутентификации, основанная на системе Linux для аутентификации пользователя.

Прежде всего установите репозиторий EPEL с помощью следующей команды:
dnf install epel-release -y

Теперь установите Google PAM:
dnf install google-authenticator -y

Настройка Google PAM

После завершения процесса установки вы можете запустить сценарий, который поможет вам сгенерировать ключ для пользователя, для которого вы хотите добавить второй фактор, этот ключ генерируется в пользовательской системе, а не в системе, это означает, что каждый пользователь, который хотят использовать OTP-аутентификацию, должны войти в систему и запустить скрипт генератора, чтобы получить свой собственный ключ.

Выполните следующую команду, чтобы запустить сценарий инициализации:
google-authenticator

После запуска команды вам будет задано несколько вопросов. Первый спрашивает, должны ли токены аутентификации основываться на времени. рекомендуется отвечать «Y».

После этого на вашем терминале появится огромный QR-код, который вы должны отсканировать своим телефоном, чтобы профиль автоматически добавился в ваше приложение Google-Authenticator.

А также обязательно запишите «секретный ключ», «код подтверждения» и «аварийные скретч-коды». Так что, если вы потеряли свой телефон или случайно удалили с него Приложение, вы сможете войти на свой сервер.

Теперь вам будут предложены некоторые вопросы, которые информируют PAM о том, как работать, продолжайте и отвечайте на них «Y» или «N», и довольно легко выбрать то, что лучше для вас.

Настройка SSH

После того, как вы ответили на все вопросы, ваш Google PAM готов и настроен. теперь нам просто нужно настроить наш SSH.

Откройте файл конфигурации SSH с помощью следующей команды:
nano /etc/pam.d/sshd

Добавьте следующую строку в самый конец файла:
auth required pam_google_authenticator.so nullok

Теперь мы настроим SSH для поддержки такого типа аутентификации. Откройте файл «sshd_config» с помощью следующей команды:
nano /etc/ssh/sshd_config

Найдите строку, которая ссылается на «ChallengeResponseAuthentication», и установите для нее значение «да». как показано ниже:
ChallengeResponseAuthentication yes

Перезапустите службу SSH, и все готово:
systemctl restart sshd

С этого момента вам будет предложено ввести «Код подтверждения», который вы должны получить, если используете приложение Google Authenticator на своем телефоне.
Поделиться:

Похожие публикации

Тут ничего нет

Нет комментариев