🚋 Как настроить двухфакторную аутентификацию для SSH в Fedora |

🚋 Как настроить двухфакторную аутентификацию для SSH в Fedora

Мануал

Мы уже как то затрагивали тему хардеринга SSH в Fedora:

Как защитить ssh в CentOS / RHEL / Fedora

Идем дальше 🙂

Кажется, каждый день сообщается о множестве нарушений, когда наши данные находятся в опасности.

Несмотря на то, что SSH является безопасным способом удаленного установления соединения с системой Linux, но все же неизвестный пользователь может получить доступ к вашей машине Linux, если они украдут ваши ключи SSH, даже если вы отключите пароли или разрешите подключения SSH только через открытый и закрытый ключи.

В этой статье мы расскажем, как настроить двухфакторную аутентификацию (2FA) для SSH в дистрибутиве Fedora Linux, используя Google Authenticator для более безопасного доступа к удаленной системе Linux, предоставив TOTP ( Одноразовый пароль) число, сгенерированное случайным образом приложением-аутентификатором на мобильном устройстве.

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

Существует множество бесплатных приложений для Android или IOS, которые поддерживают TOTP как и Google Authenticator, но в этой статье в качестве примера используется Google Authenticator.

Установка Google Authenticator на Fedora

Сначала установите приложение Google Authenticator на свой сервер Fedora, используя следующую команду dnf.

$ sudo dnf install -y google-authenticator

После установки Google Authenticator вы можете запустить приложение.

$ google-authenticator

Приложение предложит вам ряд вопросов.

В следующих фрагментах показано, как ответить на вопросы относительно разумной настройки безопасности.

Do you want authentication tokens to be time-based (y/n) y Do you want me to update your "/home/user/.google_authenticator" file (y/n)? y

Приложение предоставляет вам секретный ключ, код подтверждения и коды восстановления.

Сохраните эти ключи в надежном безопасном месте, так как эти ключи – единственный способ получить доступ к вашему серверу, если вы потеряете мобильное устройство.

Настройка проверки подлинности мобильного телефона

На вашем мобильном телефоне перейдите в магазин приложений Google Play или iTunes, найдите Google Authenticator и установите приложение.

Теперь откройте приложение Google Authenticator на своем мобильном телефоне и отсканируйте QR-код, отображаемый на экране терминала Fedora.

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

Завершите настройку Google Authenticator

Приложение Google Authenticator предлагает дополнительные вопросы, а в следующем примере показано, как ответить на них, чтобы настроить безопасную конфигурацию.

Теперь вам нужно настроить SSH для использования новой двухфакторной аутентификации, как описано ниже.

Настройте SSH для использования Google Authenticator

Чтобы настроить SSH для использования приложения-аутентификатора, сначала необходимо иметь работающее соединение SSH с использованием открытых ключей SSH, поскольку мы будем отключать парольные соединения.

Откройте файл /etc/pam.d/sshd на своем сервере.

$ sudo vi /etc/pam.d/sshd

Закомментируйте строку auth substack password-auth в файле настроек.

#auth       substack     password-auth

Затем поместите следующую строку в конец файла.

auth sufficient pam_google_authenticator.so

Сохраните и закройте файл.

Затем откройте и отредактируйте файл /etc/ssh/sshd_config.

$ sudo vi /etc/ssh/sshd_config

Найдите строку ChallengeResponseAuthentication и измените ее на yes.

ChallengeResponseAuthentication yes

Найдите строку PasswordAuthentication и измените ее на no.

PasswordAuthentication no

Затем поместите следующую строку в конец файла.

AuthenticationMethods publickey,password publickey,keyboard-interactive

Сохраните и закройте файл, а затем перезапустите SSH.

$ sudo systemctl restart sshd

Тестирование двухфакторной аутентификации на Fedora

Теперь попробуйте подключиться к вашему серверу удаленно, он попросит вас ввести проверочный код.

$ ssh user@example.com

Verification code:

Код подтверждения генерируется случайным образом на вашем мобильном телефоне с помощью вашего приложения для проверки подлинности.

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

Если вы введете неправильный код подтверждения, вы не сможете подключиться к системе и получите следующую ошибку «Permission denied».

$ ssh user@example.com

Verification code:
Verification code:
Verification code:
Permission denied (keyboard-interactive).

Заключение

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

См. также:

Как настроить SSH двухфакторную аутентификацию на Ubuntu 18.04, 18.10 Server

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий