This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
2fa_на_предприятии [2025/08/11 14:11] val [Техническое задание] |
2fa_на_предприятии [2025/08/18 06:32] (current) val [2FA на предприятии] |
||
---|---|---|---|
Line 5: | Line 5: | ||
* [[https://2fa.zone/|Get 2FA Verification Code]] | * [[https://2fa.zone/|Get 2FA Verification Code]] | ||
+ | * [[https://2fa.fb.rip/]] | ||
+ | * [[https://2fa.live/]] | ||
+ | |||
* [[https://winitpro.ru/index.php/2021/12/21/2fa-dlya-ssh-v-linux/|Включаем двухфакторную аутентификацию (2FA) для SSH входа в Linux]] | * [[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://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. Как обычно, сделали материл максимально воспроизводимым в домашних условиях, "делай с нами, делай, как мы, делай лучше нас"! |
===== Техническое задание ===== | ===== Техническое задание ===== | ||
Line 22: | Line 30: | ||
* Тэги: | * Тэги: | ||
- | ===== Методическая подготовка ===== | + | ===== История вопроса ===== |
+ | |||
+ | * [[https://youtu.be/-fcJ8MkoLts|Использование одноразовых паролей OPIE]] | ||
+ | * [[https://habr.com/ru/articles/713582/|Безопасное подключение с чужого компьютера]] | ||
+ | |||
+ | ===== Шаг 1. Разворачиваем сеть предприятия ===== | ||
+ | |||
+ | * Шаг 1 и 2 из статьи [[https://habr.com/ru/articles/813799/|DPI из подручных материалов]] | ||
+ | |||
+ | <code> | ||
+ | debian:~# nft flush ruleset | ||
+ | </code> | ||
+ | |||
+ | ===== Шаг 2. Настраиваем SSH доступ с 2FA ===== | ||
+ | |||
+ | ===== Шаг 3. Настраиваем OpenVPN доступ с 2FA ===== | ||
+ | |||
+ | <code> | ||
+ | debian:~# cat /etc/pam.d/openvpn | ||
+ | </code><code> | ||
+ | auth required pam_google_authenticator.so authtok_prompt=pin | ||
+ | #auth required pam_google_authenticator.so authtok_prompt=pin user=root secret=/etc/openvpn/google-auth/${USER} | ||
+ | ... | ||
+ | </code><code> | ||
+ | # systemctl edit openvpn@openvpn1 | ||
+ | </code><code> | ||
+ | [Service] | ||
+ | ProtectHome=no | ||
+ | </code><code> | ||
+ | # cat /etc/openvpn/openvpn1.conf | ||
+ | </code><code> | ||
+ | ... | ||
+ | plugin /usr/lib/x86_64-linux-gnu/openvpn/plugins/openvpn-plugin-auth-pam.so "openvpn login USERNAME password PASSWORD pin OTP" | ||
+ | ... | ||
+ | </code> | ||
+ | ===== Шаг 4. Настраиваем 2FA доступ к GitLab ===== | ||
+ | |||
+ | * [[https://docs.gitlab.com/user/profile/account/two_factor_authentication/|GitLab Two-factor authentication]] | ||
+ | |||
+ | ===== Черновик ===== | ||
+ | <code> | ||
+ | # apt-get install libpam-google-authenticator | ||
+ | |||
+ | student@debian:~$ google-authenticator | ||
+ | |||
+ | Your new secret key is: Q7LD2KDIYCU6DEL37JFLLFIQUY | ||
+ | Enter code from app (-1 to skip): 626315 | ||
+ | Code confirmed | ||
+ | Your emergency scratch codes are: | ||
+ | 99306402 | ||
+ | 91750171 | ||
+ | 46620301 | ||
+ | 47719792 | ||
+ | 57203818 | ||
+ | |||
+ | # cp /etc/pam.d/other /etc/pam.d/openvpn | ||
+ | |||
+ | # pamtester openvpn student authenticate | ||
+ | Verification code: | ||
+ | Password: | ||
+ | pamtester: successfully authenticated | ||
- | * | ||
- | ===== Шаг 1. Что у нас есть для начала ===== | + | </code> |