Настройка двухфакторной аутентификации в ОС ROSA Desktop

Материал из Rosalab Wiki
Версия от 12:00, 17 июня 2017; Consta (обсуждение | вклад)

Это снимок страницы. Он включает старые, но не удалённые версии шаблонов и изображений.
Перейти к: навигация, поиск

Настройка двухфакторной аутентификации в ОС РОСА Desktop Fresh R9

Применимость

Назначение

Инструкция предназначена для описания процесса настройки двухфакторной аутентификации (2FA) в ОС ROSA Desktop Fresh R9.

Зачем использовать двухфакторную (многофакторную) аутентификацию и для чего она вообще нужна?

Двухфакторная (многофакторная) аутентификация нужна для усиления безопасности при попытке входа в операционную систему и во всех остальных случаях, требующих подтверждения подлинности пользователя. Таким образом, она существенно повышает безопасность всякий раз, когда требуется ввести пароль.

Пароль требуется при необходимости:

  • осуществить штатный вход в графическую оболочку ОС;
  • разблокировать компьютер (ноутбук) при работающем хранителе экрана;
  • осуществить повторный вход (скажем, требуется войти в систему параллельно еще раз);
  • осуществить удаленное подключение к операционной системе (например по протоколу SSH);
  • осуществить вход в текстовый терминал GETTY (ALT+F2...F6);
  • переключить контекст пользователя - если нужно использовать su, sudo или выполнить действия от имени другого пользователя или администратора root.

А теперь представьте:

  • Вы подозреваете, что кому-то возможно стал известен Ваш текущий пароль, а поменять его сразу нет возможности;
  • Ваш текущий пароль кто-то может подсмотреть во время ввода, к примеру незаметно встав у Вас за спиной;
  • Вы подключаетесь к своему компьютеру по SSH из интернет-кафе или используя чужой компьютер. Можно предположить, что когда Вы набираете на чужом компьютере символы Вашего имени и пароля - информация может быть перехвачена и использована злоумышленником;
  • Вы опасаетесь, что ваш пароль слишком слабый или очевидный. И может быть легко подобран в уме злобными железными дядьками и тётьками из Мегатрона.

Во всех перечисленных случаях хорошей мерой противодействия может быть использование двухфакторной аутентификации. И в этом Вам поможет это руководство. Дочитав его до конца, Вы научитесь настраивать еще один барьер безопасности в своей системе. И Вам останется лишь криво ухмыляться (ну или адски гоготать), глядя на работу интернет-бота, тщетно пытающегося подобрать пароли к Вашей системе.

Многофакторная (в т.ч. двухфакторная) аутентификация основана на принципе, гласящем, что для подтверждения подлинности пользователя необходимо сочетание нескольких факторов:

  • Пользователь знает что-то, чего не знает никто (например, свой пароль);
  • Пользователь имеет что-то, чего не имеет никто (это может быть, например, одноразовый пароль или токен, содержащий ключ, и т.п.);
  • Пользователь неотъемлемо обладает чем-то (как субъект материального мира), чем кроме него, не обладает никто (например отпечаток пальца, радужка глаза, голос, и т.п.). В последнем случае, речь, как правило, идет о применении т.н. биометрической аутентификации или биометрии.

Для ОС ROSA Desktop Fresh R9 мы предлагаем использовать двухфакторную аутентификацию с использованием одноразовых TOTP паролей, которые актуальны всего 30 секунд. Такая настройка рекомендуется нами как наиболее приемлемая и удобная для пользователя.

Для ее применения, в целом, не нужно производить никаких особенно сложных настроек и не требуется применять никаких редких программ или использовать дорогостоящее оборудование. И 2FA можно будет использовать после правильной настройки без всякого подключения к сети Internet.

Список поддерживаемых ОС семейства РОСА.

В настоящее время поддерживаются следующие ОС (не ниже):

  • ROSA Desktop Fresh R9 GNOME;
  • ROSA Desktop Fresh R9 KDE (обязательно изменить менеджер входа с KDM на LightDM);
  • ROSA Desktop Fresh R9 PLASMA (обязательно изменить менеджер входа с SDDM на LightDM);
  • Любая ОС РОСА (Fresh/RED) платформы 2014.1 или 2016.1 с менеджером входа GDM либо LightDM.

Что Вам потребуется для настройки.

  • Вам понадобится установить на компьютер из нашего репозитория программу google-authenticator.
  • Вам понадобится смартфон или планшет (Windows Phone©, Android© или Apple© iOS©, без разницы), который превратится в ваш токен с ключом и станет генератором одноразовых паролей;
  • Время на смартфоне и на компьютере должно будет совпадать, это ключевое. Допустимо только незначительное отклонение времени между устройствами;
    • Для синхронизации времени лучше всего использовать серверы точного времени.
    • Например, Вы можете использовать наши публичные и общедоступные серверы времени: ntp.rosalinux.ru и ntp2.rosalinux.ru или любые другие по Вашему желанию.
  • Шапочка из фольги (шутка).

Ограничения, о которых нужно знать.

  • Если Вы утратите смартфон или там сядет батарейка, то Вы не сможете без своего работающего смартфона зайти в ОС штатным способом;
  • Если у Вас будет отличаться время на компьютере и на телефоне, то Вы тоже не сможете зайти в ОС штатным способом;
  • Помните, что с ростом безопасности снижается удобство использования. Вам теперь постоянно придется иметь под рукой работающий телефон и вводить два пароля вместо одного;

Что Вы получите в итоге.

  • Существенно вырастет безопасность. Теперь можно не опасаться, что Вы случайно или специально скомпрометируете пароль пользователя или даже администратора (root);
  • Вам не потребуется покупать дорогостоящее оборудование или программное обеспечение, чтобы повысить безопасность. Вы сможете сделать это себе бесплатно после несложной настройки (или соседу за тысячу рублей);
  • Вы будете знать, что Ваша система повышения безопасности - только Ваша, и ничья еще, никакие сторонние сервисы не используются;
  • Вы будете на практике использовать современные технологии информационной безопасности в повседневной жизни;
  • Кто-то может перенять Ваш опыт, и начать использовать 2FA и тоже повысит безопасность своей системы;
  • Вы теперь сможете повысить свою самооценку перед родными, друзьями и знакомыми :)))

Принцип настройки и работы 2FA в ОС ROSA Desktop Fresh R9.

Работа 2FA в ОС РОСА базируется на следующих принципах:

  • требуется установить программу google-authenticator;
  • будет использоваться односторонний алгоритм аутентификации по одноразовым паролям на основе времени TOTP (Time-based One Time Password Algorithm, RFC 6238);
  • на компьютере при установке и первичной настройке для каждого пользователя генерируется 80-битный секретный ключ. Он отображается с помощью QR кода (по-умолчанию) или отображается как 16-ти (по-умолчанию), 26-ти или 32-ух значный код в кодировке Base32.;
  • QR код сканируется прямо с экрана компьютера специальным приложением телефона (или в телефонное приложение вручную вводится образованный на компьютере цифровой 16-ти значный код);
  • приложение на телефоне создает HMAC-SHA1 используя этот секретный QR код (16-ти значный код) в качестве основы (ключа) для расчетов;
  • затем часть HMAC извлекается и преобразуется в шестизначный (по-умолчанию) одноразовый пароль, отображаемый телефонной программой на экране телефона;
  • одноразовый пароль действует 30 секунд (по-умолчанию).

Программы для смартфонов или планшетов, необходимые к установке.

Ниже приведен список бесплатных программ (на момент написания статьи) для генерации одноразовых паролей. Мы постарались охватить в этом руководстве весь спектр современных смартфонов, по крайней мере, абсолютное большинство. Помимо бесплатных приложений, есть еще и платные. Но в данном руководстве мы их описывать не будем. Мы в руководстве охватили только самые популярные приложения для телефона. Нет нужды описывать их все.

Для смартфона/планшета с системой Android©

Для смартфона/планшета компании Apple© с системой iOS©

Для смартфона с системой Microsoft© Windows Phone© или планшета Microsoft© Surface©

Настройка операционной системы ROSA Desktop Fresh R9 Gnome для работы двухфакторной аутентификации

Сперва установите google-authenticator:

 urpmi google-authenticator

Затем установите соответствующую программу на смартфон. Смотрите Программы для смартфонов или планшетов, необходимые к установке.

Затем переключитесь на Вашем компьютере в контекст суперпользователя (администратора) root:

 su - или sudo -i

Для администратора лучше в первую очередь настроить одноразовый пароль. Так как если что-то пойдет не так, то Вы возможно получите сложности при дальнейшей настройке. Создайте ключ для администратора командой:

 google-authenticator
Получение QR кода или цифрового ключа.

Затем запустите приложение на телефоне и просканируйте получившийся QR-код. Либо, если Ваше приложение не поддерживает сканирование QR кодов, то вручную введите шестнадцатизначный ключ, сгенерированный прямо под QR кодом и подписанный как:

Your new secret key is: ABCDEFGH12345678

Пример сканирования кода на рисунке ниже:

Получение QR кода или цифрового ключа.

Настройка DNS

Необходимо добавить данные о DNS зоне IPA сервера в домен AD:

 dnscmd 127.0.0.1 /ZoneAdd lintest.ru	/Forwarder 192.168.76.82

Добавим информацию о DNS зоне домена AD в настройки DNS домена IPA:

 ipa dnszone-add test.dom --name-server=windc.test.dom --admin-email='hostmaster@test.dom' --force --forwarder=192.168.76.93 --forward-policy=only --ip-address=192.168.76.93

Проверить настройки DNS можно:

  • На сервере IPA командой:
 dig SRV _ldap._tcp.test.dom

При этом в зоне AD должна быть найдена информация об ответственных серверах с каталогом LDAP в этой зоне;

  • на сервере AD командами (как показано на рис.1):
 nslookup
 > set type=srv
 > _ldap._tcp.ad_domain
 > _ldap._tcp.ipa_domain
 > quit

Ipa dns.jpg

Включение доверительных отношений

Включим доверительные отношения между с AD командой:

 ipa trust-add --type=ad test.dom --admin Administrator --password
 Active directory domain administrator's password: 
 -------------------------------------------------
 Added Active Directory trust for realm "test.dom"
 -------------------------------------------------
 Realm name: test.dom
 Domain NetBIOS name: TEST
 Domain Security Identifier: S-1-5-21-994480235-3382885224-2559249864
 Trust direction: Two-way trust
 Trust type: Active Directory domain
 Trust status: Established and verified

Если вы получили ошибку вида:

ipa: ERROR: неверный(ое) Gettext('missing base_id', domain='ipa', localedir=None): pysss_murmur is not available on the server and no base-id is given

То необходимо установить пакет python-sss-murmur командой:

 yum install python-sss-murmur

После чего перезагрузить домен IPA командой:

 /etc/init.d/ipa restart

Далее повторить попытку включения доверительных отношений, не забыв перед этим заново получить билет администратора домена:

 kinit admin

Настройка рабочей станции

Для осуществления возможности авторизации пользователя AD в домене IPA по средством Kerberos, на ПК, где будет осуществляться авторизация нужно добавить два параметра в файл /etc/krb5.conf. В секцию [realms]:

 [realms]
 LINTEST.RU = {
 ---
 auth_to_local = RULE:[1:$1@$0](^.*@TEST.DOM$)s/@TEST.DOM/@test.dom/
 auth_to_local = DEFAULT

Где TEST.DOM — соответственно имя вашего домена AD.

Далее можно входить на ПК из IPA домена с использованием пользователя AD с указанием логина в виде user@TEST.DOM

Ipa enter.jpg