- Начало работы
- Интеграция
- HTTP API
- OpenID Connect
- RADIUS протокол
- RADIUS адаптер
- LDAP адаптер
- Портал самообслуживания
- Windows Logon
- MacOS logon
- Регистрация пользователей
- .NET Core
- 1с-Bitrix24
- 1с-плагин двухфакторной аутентификации
- ADFS
- ASP.NET
- Ansible AWX
- Atlassian Cloud
- BearPass
- Check Point VPN
- Cisco ASA VPN
- Citrix Gateway
- FortiGate VPN
- HRBOX
- Huawei Cloud
- Huawei VPN
- Ideco UTM
- Keycloak
- Let's Encrypt Windows Server
- Linux logon (GUI)
- Linux SSH
- Linux SUDO
- MikroTik L2TP VPN
- NGate VPN
- Network Policy Server (NPS)
- Nextcloud
- OpenVPN
- OpenVPN + AD
- OpenVPN Access Server
- OpenVPN pfSense
- Outlook Web Access (OWA)
- Passwork
- RD Gateway (RDGW)
- Redmine
- UserGate VPN
- VMware Horizon Cloud
- VMware Horizon View
- VMware vCloud Director
- VMware vSphere
- Vault
- ViPNET
- Windows VPN
- Yandex.Cloud
- Zabbix
- АйТи-Бастион
- Континент 4 VPN
- МТС Линк (бывш. webinar.ru)
- С-Терра VPN
- Точка доступа Wi-Fi
- ФПСУ-IP/Клиент
Настройка двухфакторной аутентификации команды SUDO
В статье описывается настройка сервера Linux для включения двухфакторной аутентификации с одноразовым кодом доступа (OTP) или PUSH уведомлением при выполнении команды sudo.
Перед началом работы
Внимание!
Перед продолжением убедитесь, что у вас есть root-доступ для сброса конфигурации sudo в случае некорректной настройки.
Возможные способы аутентификации:
Мобильное приложение Multifactor
СМС
Аппаратные OTP токены
Приложения OTP: Google Authenticator или Яндекс.Ключ
Telegram
Принцип работы
- SUDO использует модуль PAM_RADIUS для второго фактора проверки подлинности;
- Модуль подключается через протокол RADIUS к сервису MULTIFACTOR;
- MULTIFACTOR отправляет одноразовый пароль или подтверждение запроса доступа на телефон пользователя;
- Пользователь вводит одноразовый пароль или подтверждает запрос в телефоне.
Настройка Мультифактора
Зайдите в систему управления MULTIFACTOR, далее в раздел «Ресурсы» и создайте новый Linux сервер. После создания вам будут доступны два параметра: NAS Identifier и Shared Secret, они потребуются для последующих шагов.
Установка и настройка модуля PAM_RADIUS
$ sudo yum -y install epel-release
$ sudo yum -y install pam_radius
$ sudo apt update
$ sudo apt install libpam-radius-auth
$ sudo apt install debian-archive-keyring dirmngr
$ echo deb https://mirror.yandex.ru/debian/ stretch main contrib non-free | sudo tee -a /etc/apt/sources.list
$ sudo apt update
$ sudo apt install libpam-radius-auth
Далее создайте файл конфигурации
$ sudo vi /etc/pam_radius_sudo.conf
Впишите в него настройки RADIUS сервера MULTIFACTOR, сохраните и закройте редактор (:x)
radius.multifactor.ru SHARED_SECRET 40
где:
radius.multifactor.ru
: адрес облачного сервера- SHARED_SECRET: скопируйте из соответствующего параметра настроек Linux ресурса MULTIFACTOR
- 40: таймаут ожидания запроса с запасом
В файле хранится секретный ключ, поэтому установите на него права доступа на чтение только пользователю root
$ sudo chmod 0600 /etc/pam_radius_sudo.conf
Настройка sudo
Убедитесь, что для пользователей установлен пароль на вызов sudo.
Откройте для редактирования файл /etc/sudoers
$ sudo vi /etc/sudoers
Для пользователей в группе sudo стандартная конфигурация будет иметь следующий вид (отсутствует флаг NOPASSWD):
%sudo ALL=(ALL:ALL) ALL
Для запроса пароля при каждом вызове sudo добавьте строку:
Defaults timestamp_timeout=0
Сохраните файл и закройте редактор (:x).
Настройка common-auth
sudo nano /etc/pam.d/common-auth
Добавляем в конце файла конфигурации, заменяя NAS_Identifier:
auth required pam_radius_auth.so client_id=NAS_Identifier conf=/etc/pam_radius_ssh.conf
Настройка PAM модулей sudo
Откройте для редактирования файл /etc/pam.d/sudo:
$ sudo vi /etc/pam.d/sudo
Отредактируйте файл согласно необходимой конфигурации:
Пароль и второй фактор
#%PAM-1.0
auth substack system-auth
auth required pam_radius_auth.so skip_passwd client_id=NAS_Identifier conf=/etc/pam_radius_sudo.conf
account include system-auth
password include system-auth
session include system-auth
#%PAM-1.0
auth required pam_radius_auth.so skip_passwd client_id=NAS_Identifier conf=/etc/pam_radius_sudo.conf
@include common-auth
@include common-account
@include common-session-noninteractive
#%PAM-1.0
auth required pam_env.so readenv=1 user_readenv=0
auth required pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
auth required pam_radius_auth.so skip_passwd client_id=NAS_Identifier conf=/etc/pam_radius_sudo.conf
@include common-auth
@include common-account
@include common-session-noninteractive
#%PAM-1.0
auth required pam_radius_auth.so skip_passwd client_id=NAS_Identifier conf=/etc/pam_radius_sudo.conf
@include common-auth
@include common-account
@include common-session-noninteractive
account required pam_tally.so
Только второй фактор
#%PAM-1.0
auth required pam_radius_auth.so skip_passwd client_id=NAS_Identifier conf=/etc/pam_radius_sudo.conf
account include system-auth
password include system-auth
session include system-auth
где:
- NAS_Identifier: скопируйте из соответствующего параметра настроек Linux ресурса MULTIFACTOR.
Сохраните файл и закройте редактор (:x).