Как защитить SSH с помощью двухфакторной аутентификации Google Authenticator

Оглавление:

Как защитить SSH с помощью двухфакторной аутентификации Google Authenticator
Как защитить SSH с помощью двухфакторной аутентификации Google Authenticator

Видео: Как защитить SSH с помощью двухфакторной аутентификации Google Authenticator

Видео: Как защитить SSH с помощью двухфакторной аутентификации Google Authenticator
Видео: Как зашифровать данные в облаке? | How to encrypt data in the cloud? (EncFS MP) - YouTube 2024, Апрель
Anonim
Хотите защитить свой SSH-сервер простой в использовании двухфакторной аутентификацией? Google предоставляет необходимое программное обеспечение для интеграции системы одноразового пароля Google Authenticator (TOTP) с вашим SSH-сервером. При подключении вам нужно будет ввести код со своего телефона.
Хотите защитить свой SSH-сервер простой в использовании двухфакторной аутентификацией? Google предоставляет необходимое программное обеспечение для интеграции системы одноразового пароля Google Authenticator (TOTP) с вашим SSH-сервером. При подключении вам нужно будет ввести код со своего телефона.

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

Установите Google Authenticator

Чтобы реализовать многофакторную аутентификацию с помощью Google Authenticator, нам понадобится модуль PAM с открытым исходным кодом Google Authenticator. PAM означает «подключаемый модуль аутентификации» - это способ легко подключить различные формы аутентификации в систему Linux.

Репозитории программного обеспечения Ubuntu содержат простой в установке пакет для модуля PAM Google Authenticator. Если ваш дистрибутив Linux не содержит пакет для этого, вам придется загрузить его с страницы загрузки Google Authenticator в Google Code и скомпилировать ее самостоятельно.

Чтобы установить пакет на Ubuntu, выполните следующую команду:

sudo apt-get install libpam-google-authenticator

(Это установит только модуль PAM в нашей системе - нам придется активировать его для входа в SSH вручную).

Image
Image

Создание ключа аутентификации

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

Разрешите команде обновить файл Google Authenticator, набрав y. Затем вам будет предложено несколько вопросов, которые позволят вам ограничить использование одного и того же временного токена безопасности, увеличить временное окно, в котором могут использоваться токены, и ограничить допустимые попытки доступа, чтобы помешать попыткам взлома грубой силы. Эти выборы все торгуют некоторой безопасностью для некоторой простоты использования.

Google Authenticator представит вам секретный ключ и несколько «кодов аварийной царапины». Запишите коды аварийной царапины где-нибудь в безопасности - их можно использовать только один раз, и они предназначены для использования, если вы потеряете свой телефон.
Google Authenticator представит вам секретный ключ и несколько «кодов аварийной царапины». Запишите коды аварийной царапины где-нибудь в безопасности - их можно использовать только один раз, и они предназначены для использования, если вы потеряете свой телефон.
Image
Image

Введите секретный ключ в приложении Google Authenticator на своем телефоне (официальные приложения доступны для Android, iOS и Blackberry). Вы также можете использовать функцию сканирования штрих-кода - перейдите к URL-адресу, расположенному в верхней части вывода команды, и вы можете сканировать QR-код с помощью камеры вашего телефона.

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

Активировать Google Authenticator

Затем вам понадобится Google Authenticator для входа в систему SSH. Для этого откройте /etc/pam.d/sshd файл в вашей системе (например, с помощью sudo nano /etc/pam.d/sshd ) и добавьте следующую строку в файл:

auth required pam_google_authenticator.so

Затем откройте / И т.д. / SSH / sshd_config файл, найдите ChallengeResponseAuthentication и измените его следующим образом:

ChallengeResponseAuthentication yes

(Если ChallengeResponseAuthentication строка еще не существует, добавьте вышеприведенную строку в файл.)

Наконец, перезапустите SSH-сервер, чтобы ваши изменения вступили в силу:

sudo service ssh restart

Рекомендуемые: