Двухфакторная аутентификация в Linux

Двухфакторная аутентификация в Linux Изучение

Двухфакторная аутентификация (2FA) — это процесс входа в систему, состоящий из механизма двойной аутентификации. Наиболее известные реализации включают в себя классическое подтверждение кода SMS или электронной почты для новых / неизвестных браузеров и устройств.

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

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

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

Двухфакторная аутентификация в Linux с использованием Google Authenticator

Примечание. Прежде чем продолжить, убедитесь, что на вашем мобильном устройстве установлен Google Authenticator.

Для начала выполните следующую команду, чтобы установить Google Authenticator (дистрибутивы Linux на основе Debian):

sudo apt install libpam-google-authenticator -y

Для начала выполните следующую команду, чтобы установить

Чтобы установить Google Authenticator в дистрибутивах Linux на базе Red Hat (CentOS, Fedora), выполните следующую команду:

sudo dnf install google-authenticator -y

После установки запустите Google Authenticator, как показано на скриншоте ниже.

google-authenticator

После установки запустите Google Authenticator

Как видите, появляется QR-код. Вам необходимо добавить новую учетную запись, щелкнув значок + в мобильном приложении Google Authenticator и выбрав Сканировать QR-код.

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

Вам будут заданы некоторые вопросы, которые подробно описаны ниже, и вы можете принять все параметры по умолчанию, выбрав Y для всех вопросов:

  • После сканирования QR-кода в процессе установки потребуется разрешение на редактирование вашего дома. Нажмите Y,чтобы перейти к следующему вопросу.
  • Второй вопрос рекомендует отключить несколько логинов с использованием одного и того же проверочного кода. Нажмите Y,чтобы продолжить.
  • Третий вопрос касается срока действия каждого сгенерированного кода. Опять же, вы можете позволить временной сдвиг, нажмите Y,чтобы продолжить.
  • Включите ограничение скорости, до 3 попыток входа каждые 30 секунд. Нажмите Y,чтобы продолжить.

Вам будут заданы некоторые вопросы, которые подробно описаны ниже

После установки Google Authenticator вам необходимо отредактировать файл /etc/pam.d/sshd, чтобы добавить новый модуль аутентификации. Используйте nano или любой другой редактор, как показано на скриншоте ниже, чтобы отредактировать файл /etc/pam.d/sshd:

nano /etc/pam.d/sshd

После установки Google Authenticator вам необходимо отредактировать

Добавьте следующую строку в /etc/pam.d/sshd, как показано на изображении ниже:

auth required pam_google_authenticator.so nullok
Добавьте следующую строку в

Примечание. В инструкциях Red Hat упоминается строка, содержащая #auth substack password-auth. Если вы найдете эту строку в своем /etc/pam.d./sshd, прокомментируйте ее.

Сохраните /etc/pam.d./sshd и отредактируйте файл / etc / ssh / sshd_config, как показано в примере ниже:

nano /etc/ssh/sshd_config

как показано в примере ниже

Найдите строку:

#ChallengeResponseAuthentication no

Раскоментируйте на него и заменить не с да:

ChallengeResponseAuthentication yes

Раскоментируйте на него и заменить не с д

Выйдите из сохранения изменений и перезапустите службу SSH:

sudo systemctl restart sshd.service

Выйдите из сохранения изменений и перезапустите службу SSH

Вы можете протестировать двухфакторную аутентификацию, подключившись к своему локальному хосту, как показано ниже:

ssh localhost

Вы можете протестировать двухфакторную аутентификацию, подключившись к своему

Вы можете найти код в своем мобильном приложении Google Authentication. Без этого кода никто не сможет получить доступ к вашему устройству через SSH. Примечание: этот код меняется через 30 секунд. Следовательно, вам нужно быстро это проверить.

Как видите, процесс 2FA сработал успешно. Ниже вы можете найти инструкции по другой реализации двухфакторной аутентификации с использованием SMS вместо мобильного приложения.

Двухфакторная аутентификация в Linux с использованием Authy-ssh (SMS)

Вы также можете реализовать двухфакторную аутентификацию с помощью Authy (Twilio). В этом примере мобильное приложение не потребуется, и процесс будет выполняться с помощью проверки по SMS.

Для того, чтобы начать работу, перейдите на https: // www.twilio.com/try-twilio и заполнить регистрационную форму.

Для того, чтобы начать работу, перейдите на https

Напишите и подтвердите свой номер телефона:

Напишите и подтвердите свой номер телефона

Подтвердите номер телефона с помощью кода, отправленного по SMS:

Подтвердите номер телефона с помощью кода, отправленного по SMS

После регистрации перейдите на https://www.twilio.com/console/authy и нажмите кнопку Get Started :

После регистрации перейдите на https

Нажмите кнопку «Подтвердить номер телефона» и выполните следующие действия, чтобы подтвердить свой номер:

Нажмите кнопку «Подтвердить номер телефона» и выполните

Подтвердите свой номер:

Подтвердите номер телефона с помощью кода, отправленного по SMS

После проверки вернитесь в консоль, нажав » Вернуться в консоль»:

После проверки вернитесь в консоль, нажав

Выберите имя для API и нажмите Create Application:

Выберите имя для API и нажмите Create Application

Заполните запрашиваемую информацию и нажмите Сделать запрос:

Заполните запрашиваемую информацию и нажмите Сделать запрос

Выберите SMS-токен и нажмите Сделать запрос:

Выберите SMS-токен и нажмите Сделать запрос

Перейдите на https://www.twilio.com/console/authy/applications и щелкните приложение, созданное на предыдущих шагах:

applications и щелкните приложение, созданное на предыдущих шагах

После выбора вы увидите в левом меню параметр » Настройки». Нажмите » Настройки» и скопируйте КЛЮЧ PRODUCTION API. Мы будем использовать его на следующих этапах:

После выбора вы увидите в левом меню параметр

С консоли загрузите authy-ssh, выполнив следующую команду:

git clone https://github.com/authy/authy-ssh

Затем войдите в каталог authy-ssh:

cd authy-ssh

Затем войдите в каталог authy-ssh

Внутри каталога authy-ssh запустите:

sudo bash authy-ssh install /usr/local/bin

Вам будет предложено вставить КЛЮЧ PRODUCTION API KEY, который я просил скопировать, вставить и нажать ENTER, чтобы продолжить.

На вопрос о действии по умолчанию, когда невозможно связаться с api.authy.com, выберите 1. И нажмите ENTER.

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

Примечание. Если вы вставили неверный ключ API, вы можете отредактировать его в файле /usr/local/bin/authy-ssh.conf, как показано на изображении ниже. Замените содержимое после «api_key =» своим ключом API:

Если вы вставили неверный ключ API

Включите authy-ssh, запустив:

sudo /usr/local/bin/authy-ssh enable `whoami`

Заполните необходимую информацию и нажмите Y:

Заполните необходимую информацию и нажмите

Вы можете протестировать выполнение authy-ssh:

authy-ssh test

Вы можете протестировать выполнение authy-ssh

Как видите, 2FA работает исправно. Перезапустите службу SSH, запустите:

sudo service ssh restart

Как видите, 2FA работает исправно

Вы также можете проверить это, подключившись через SSH к localhost:

Вы также можете проверить это, подключившись через SSH

Как показано, 2FA сработала успешно.

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

Заключение

Как видите, 2FA может быть легко реализована на любом уровне пользователя Linux. Оба варианта, упомянутые в этом руководстве, можно применить в течение нескольких минут.

Ssh-authy — отличный вариант для пользователей без смартфонов, которые не могут установить мобильное приложение.

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

Читайте также:  10 распространенных уязвимостей безопасности веб-приложений и способы их предотвращения
Оцените статью
bestprogrammer.ru
Добавить комментарий