====== 2FA на предприятии ====== * [[https://ru.wikipedia.org/wiki/Одноразовый_пароль]] * [[https://datatracker.ietf.org/doc/html/rfc6238]] * [[https://play.google.com/store/apps/details?id=ru.yandex.key&hl=en|Yandex Key – Google Play]] * [[https://2fa.zone/]] * [[https://2fa.fb.rip/]] * [[https://2fa.live/]] * [[https://winitpro.ru/index.php/2021/12/21/2fa-dlya-ssh-v-linux/|Включаем двухфакторную аутентификацию (2FA) для SSH входа в Linux]] * [[https://networkjutsu.com/ssh-google-authenticator/|Securing SSH with Google Authenticator]] * [[https://perfecto25.medium.com/openvpn-community-2fa-with-google-authenticator-4f2a7cb08128|OpenVPN Community + 2FA with Google Authenticator]] * [[https://askubuntu.com/questions/1444599/does-ubuntu-openvpn-client-supports-static-challenge]] * [[https://networkjutsu.com/freeradius-google-authenticator/|Adding Two-Factor Authentication to FreeRADIUS]] ===== Реклама ===== * Всем привет! Сегодня, в рамках "Дня открытых дверей Инженер линукс систем", раскроем завесу над очень важной темой - многофакторной аутентификацией. Обнаружим, что это совсем не сложное в настройке и использовании, но невероятно мощное решение для защиты предприятия от доступа посторонних. Тем не менее нам понадобятся не совсем очевидные знания о подсистемах SystemD и PAM. Как обычно, сделали материл максимально воспроизводимым в домашних условиях, "делай с нами, делай, как мы, делай лучше нас"! ===== Техническое задание ===== * Разобраться в вариантах 2FA и как работает TOTP * Настроить 2FA для сервисов SSH, OpenVPN и GitLab ===== Запись вебинара ===== * https://youtu.be/VMIi5-XY7Gk * https://rutube.ru/video/private/7fb7b99656ae3819fcabccc090412065/ * https://ok.ru/specialistru/topic/158109049773425 * https://vk.com/video-2190892_456239493 * Тэги: 2FA, OTP, TOTP, SSH, PAM, OpenVPN ===== История вопроса ===== * [[https://youtu.be/-fcJ8MkoLts|Использование одноразовых паролей OPIE]] (youtube) * [[https://habr.com/ru/articles/713582/|Безопасное подключение с чужого компьютера]] (habr) ===== Шаг 1. Настраиваем SSH доступ с 2FA ===== * Шаг 1 из статьи [[https://habr.com/ru/articles/716454/|Самый простой пример CI/CD]] используя образ [[https://val.bmstu.ru/unix/img/My%20Documents/debian_13.0_64_01.ova|Debian 13]] $ timedatectl status #!!! $ sudo apt-get install libpam-google-authenticator * Сделать окно терминала на 82x41 символ student@debian:~$ man google-authenticator student@debian:~$ google-authenticator student@debian:~$ google-authenticator -t -f -d -w 3 -e 5 -r 3 -R 30 Your new secret key is: NNNNNNNNNNNNNNNNNNNNNNNN Enter code from app (-1 to skip): NNNNNN Code confirmed Your emergency scratch codes are: ... NNNNNNNN student@debian:~$ more .google_authenticator ... debian:~# cat /etc/pam.d/sshd ... # Enable MFA using Google Authenticator PAM auth required pam_google_authenticator.so #nullok debian:~# cat /etc/ssh/sshd_config ... KbdInteractiveAuthentication yes ... debian:~# systemctl reload sshd ===== Шаг 2. Разворачиваем "сеть" предприятия ===== * Шаг 2 из статьи [[https://habr.com/ru/articles/813799/|DPI из подручных материалов]] debian:~# nft flush ruleset debian:~# ip r ===== Шаг 3. Настраиваем OpenVPN доступ с 2FA ===== * [[Пакет OpenSSL#Создание самоподписанного сертификата]] * [[Пакет OpenVPN]] * [[Пакет OpenVPN#Использование PAM аутентификации]] ===== Шаг 4. Настраиваем 2FA доступ к GitLab ===== * [[https://docs.gitlab.com/user/profile/account/two_factor_authentication/|GitLab Two-factor authentication]] ===== Проблемы ===== * [[https://docs.user.com/imap-for-account-with-2-step-verification/|How to configure IMAP/SMTP for account with a 2-step verification]] ===== Итоги/Вопросы =====