Как Настроить Roundcube/Dovecot для *Эффективный* Аутентификация С 2 факторами

Существует несколько плагинов Roundcube, которые обеспечивают двухфакторную аутентификацию. Однако проблема, которую я теперь вижу, - то, что я могу все еще просто зарегистрировать на пути IMAP/SMTP без с 2 FA (очевидно). С 2 FA (эффективно) бесполезно здесь.

Я думал, что мог решить эту проблему путем представления специализированных паролей и выполнения чего-то подобного, как Google также делает с их с 2 FA и приложениями, которые не поддерживают его.

Теперь я думал, что мог автоматически генерировать определенный для приложения пароль для Roundcube для каждого пользователя, который отличается от того, используемого для входа в систему в веб-интерфейс Roundcube. Результат состоял бы в том, что у пользователя может все еще быть их собственный пароль + с 2 FA для входа в Roundcube, но тот же пароль не может использоваться для IMAP/SMTP непосредственно. Однако я, может казаться, не нахожу, что способ настроить Roundcube для использования другого пароля IMAP для того раньше входил в веб-интерфейс.

И Roundcube и Голубятня работают на той же машине.

Я пропускаю что-то здесь? То, что я делаю разумный? Это походит на проблему, которая могла быть разрешима более изящным способом, чем, чего я делаю попытку, таким образом, я пропускаю что-то там? Все, что я действительно хочу, еще является аутентификацией с 2 FA везде, где возможные и специализированные пароли везде.

Спасибо!

2
задан 2 October 2015 в 20:27
1 ответ

Попробовав ещё немного, я нашёл два разумных решения/обходных пути, по крайней мере, для этого простого случая.

Вариант 1: использование allow_nets. Dovecot позволяет возвращать различные дополнительные поля через passdb, в том числе 'allow_nets' (http://wiki2.dovecot.org/PasswordDatabase/ExtraFields/AllowNets). При установке allow_nets в 127.0.0.1 для пароля, который будет использоваться Roundcube, любые попытки входа из других источников будут безуспешными. Если Roundcube находится на другой машине, то, очевидно, IP нужно будет скорректировать. Проблемы с таким подходом заключаются в нестатических IP-адресах, и если у пользователей есть другие, не 2-FA, способы входа, например, через прокси, запущенный на той же машине, что и Roundcube.

Опция 2: Использование CheckPassword для написания пользовательского сценария аутентификации. Использование драйвера Check Password (http://wiki2.dovecot.org/AuthDatabase/CheckPassword) для passdb позволяет написать пользовательский сценарий аутентификации. Вы можете проверить там IP клиента или сделать что-то совершенно другое. Возможные проблемы здесь - это производительность, и вам может понадобиться дополнительная настройка для поиска пользователей, так как checkpassword не поддерживает поиск пользователей. Также остается проблема проверки того, как пользователь на самом деле пытается войти в систему

.
1
ответ дан 3 December 2019 в 12:44

Теги

Похожие вопросы