Портал для настройки по сети двухфакторной аутентификации на удаленных хостах (клиентах). Предусмотрено два типа аутентификации: сертификат OpenSSL и одноразовый пароль через сервер Radius. Настройка PKI для выпуска сертификатов описана здесь: https://github.com/rapidsp/karen/wiki/OpenSSL
На удаленный ПК копируется bash-скрипт и другие файлы. Далее посредством SSH на этом ПК запускается полученный с сервера скрипт на выполнение.
Сервер.
ОС Debian - протестировано.
Установленные пакеты:
Клиент.
Протестировано на дистрибутивах:
Должен быть установлен сервер SSH (sshd). Необходимо разрешить вход в SSH для суперпользователя (root). Для этого в файле /etc/ssh/sshd_config установить параметр:
PermitRootLogin yes
При работе с OpenSSL в файле /etc/hosts необходимо настроить имя сервера, где находится УЦ, либо сделать это через DNS.
Распакуйте архив. Установите разрешение на выполнение на скрипты установки:
chmod +x install.sh
chmod +x test-inst.sh
Запустите установку от имени рута:
./install.sh
Введите имя вашего сервера. Это должно быть fqdn-имя, которое будет доступно по сети.
Задайте имя пользователя, под которым будет осуществляться вход. По-умолчанию авторизация настроена при помощи htpasswd.
Задайте пароль для учетной записи authit, под которой сервер будет подключаться к БД.
Дождитесь окончания установки. Управление порталом будет доступно на указанном хосте по порту 2222.
Здесь размещен список компьютеров, которые мы собираемся настраивать для двухфакторного входа. Клик на имя ПК позволяет открыть страницу его редактирования, а также действий.
Также имеются кнопки для добавления драйверов, сертификатов УЦ и списков отозванных сертификатов (CRL), которые будут использоваться при настройке.
Для удобства вся информация о ПК хранится в БД. После добавления можно приступать к его настройке.
Имя (IP) компьютера - Имя или адрес ПК. Используется для соединения с этим компьютером по SSH.
Пароль root - вводится непосредственно перед настройкой ПК. В БД не сохраняется.
Описание - произвольная информация о хосте.
Тип аутентификации:
Сертификат OpenSSL - сертификат на смарт-карте, выпущенный в среде OpenSSL при помощи соответствующего модуля pkcs#11.
Одноразовый пароль - аутентификация по одноразовому паролю при помощи сервера Radius.
Сервер Radius - адрес сервера Radius при выборе варианта аутентификации "Одноразовый пароль".
Секрет сервера - секрет (пароль) для подключения к серверу Radius при выборе варианта аутентификации "Одноразовый пароль".
Исключить другие способы аутентификации - для входа в систему будет необходимо использовать только двухфакторную аутентификацию. То есть в конфиге pam.d будет использоваться ключ required вместо sufficient.
Настроить:
Для всего компьютера - будут внесены изменения для любой аутентификации через pam.d. Параметры добавятся в файл common-auth или system-auth.
Для определенных служб - можно задать двухфакторную аутентификацию только для определенных систем. Например в gdm, sddm входим по паролю, а su и sudo будут требовать двухфакторную аутентификацию. При выборе этого пункта необходимо отметить какие именно службы pam.d требуют двухфакторного входа. При установке добавляются службы, присутствующие на сервере. В список можно добавить другие службы в панели справа.
Корневой сертификат - сертификат центра сертификации. Необходим при выборе варианта "Сертификат OpenSSL".
Список отозванных сертификатов (CRL) - файл со списком отозванных сертификатов. Необходим при выборе варианта "Сертификат OpenSSL".
Установить драйвер - будет установлен драйвер смарт-карт (токенов). Необходимо драйвер (deb или rpm) разместить в каталоге /var/www/authit/drv, чтобы он был доступен для выбора. Может быть необходим при выборе варианта "Сертификат OpenSSL".
По окончании ввода информации нажмите кнопку Добавить.
Для запуска процедуры настройки необходимо в списке выбрать нужный ПК.
На указанном ПК будут установлены необходимые пакеты и изменены конфиги. После этого следующая процедура аутентификации будет произведена согласно заданным параметрам.