- PVSM.RU - https://www.pvsm.ru -

Двухфакторная sms-авторизация в Redmine

image
Как мой коллега [1] и обещал в одной из предыдущих статей, делимся опытом по настройке двухфакторной sms-авторизации для использования в Redmine в рамках работы.

Идея о добавлении второго шага авторизации обоснована все тем же усилением безопасности данных при использовании системы тикетов.
Вначале была опробована система OTP [2] на основе Google Authenticator.
Не всем оказалось удобно этим пользоваться, потому решили добавить по просьбам трудящихся другой вариант авторизации — по sms.

Для реализации был разработан плагин для Redmine нашим разработчиком, который тоже успел тут засветиться. [3]

Плагин назван банально redmine_sms_auth [4], ставится просто и работает стабильно.

Установка и настройка плагина

Останавливаем редмайн.

Вытягиваем плагин с github:

git clone https://github.com/olemskoi/redmine_sms_auth.git  /opt/redmine/plugins/redmine_sms_auth

Выполняем миграцию:

bundle exec rake redmine:plugins:migrate RAILS_ENV="production"

Включаем плагин в конфиге Redmine /opt/redmine/config/configuration.yml в секции production:

  sms_auth:
    command: '/usr/bin/curl --silent --show-error "https://smsc.ru/sys/send.php?charset=utf-8&login=LOGIN&psw=PASSWORD&phones=%{phone}&mes=factory.southbridge.ru code: %{password}"'
    password_length: 4

Мы пользуемся сервисом smsc.ru [5] для отправки сообщений не на правах рекламы

По переменным:
command — это способ использования сервиса сообщений, плагин вызывает именно эту комманду для отправки sms. В нашем случае с smsc.ru удобнее использовать curl;

LOGIN и PASSWORD — тут указываются логин/пароль, используемые для авторизации в сервисе sms;

phones=%{phone} — номер телефона, берется из поля в учетных данных пользователя;

mes=factory.southbridge.ru — это чтобы пользователи видели от кого пришел непонятный набор цифр и не пугались;

password_length: 4 — длина пароля.

Запускаем Redmine.

Настройка со стороны редмайна

Со стороны настройки редмайна все выглядит следующим образом.
На странице с учетными данными пользователя заносится номер телефона в поле Мобильный телефон в формате +7ХХХХХХХХХХ (или в любом другом, главное, чтобы его сторонний сервис отправки принимал).

Режим аутентификации меняем с «Внутренний» на «СМС» и применяем изменения.

Теперь при авторизации после ввода логина/пароля будет запрошиваться код в таком виде:
image

При необходимости, можно запросить sms повторно.

Конец!

Все замечания/рекомендации/дополнения принимаются с удовольствием.

Спасибо за внимание!

Автор: akhaustov

Источник [6]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/upravlenie-proektami/33118

Ссылки в тексте:

[1] мой коллега: http://centos-admin.ru/

[2] опробована система OTP: http://habrahabr.ru/company/centosadmin/blog/168063/

[3] который тоже успел тут засветиться. : http://habrahabr.ru/company/centosadmin/blog/163947/

[4] redmine_sms_auth: https://github.com/olemskoi/redmine_sms_auth

[5] smsc.ru: http://smsc.ru

[6] Источник: http://habrahabr.ru/post/178073/