Настройка двухфакторной аутентификации в ОС ROSA Desktop — различия между версиями

Материал из Rosalab Wiki
Перейти к: навигация, поиск
Строка 107: Строка 107:
  
 
== Настройка операционной системы ROSA Desktop Fresh R9 Gnome для работы двухфакторной аутентификации ==
 
== Настройка операционной системы ROSA Desktop Fresh R9 Gnome для работы двухфакторной аутентификации ==
 
+
=== Установка приложения на компьютер. ===
 
Сперва установите google-authenticator:
 
Сперва установите google-authenticator:
  
 
   '''urpmi google-authenticator'''
 
   '''urpmi google-authenticator'''
  
Затем установите соответствующую программу на смартфон. Смотрите [http://wiki.rosalab.ru/ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B4%D0%B2%D1%83%D1%85%D1%84%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%BD%D0%BE%D0%B9_%D0%B0%D1%83%D1%82%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_%D0%9E%D0%A1_ROSA_Desktop_Fresh_R9.&action=edit#.D0.9F.D1.80.D0.BE.D0.B3.D1.80.D0.B0.D0.BC.D0.BC.D1.8B_.D0.B4.D0.BB.D1.8F_.D1.81.D0.BC.D0.B0.D1.80.D1.82.D1.84.D0.BE.D0.BD.D0.B0.2C_.D0.BA.D0.BE.D1.82.D0.BE.D1.80.D1.8B.D0.B5_.D0.BF.D0.BE.D0.B4.D0.B4.D0.B5.D1.80.D0.B6.D0.B8.D0.B2.D0.B0.D1.8E.D1.82_.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D1.83_2FA.|1.8 Программы для смартфонов или планшетов, необходимые к установке.]
+
=== Установка приложения на смартфон (планшет). ===
  
Затем переключитесь на Вашем компьютере в контекст суперпользователя (администратора) '''root''':
+
==== Для смартфона/планшета с системой Android© ====
  
  '''su -''' или '''sudo -i'''
+
* установите программу [https://play.google.com/store/apps/details?id=org.fedorahosted.freeotp FreeOTP Authenticator];
+
* установите программу [https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2 Google Authenticator];
Для администратора лучше в первую очередь настроить одноразовый пароль. Так как если что-то пойдет не так, то Вы возможно получите сложности при дальнейшей настройке.
+
Создайте ключ для администратора командой:  
+
  
  '''google-authenticator'''
+
==== Для смартфона/планшета компании Apple© с системой iOS© ====
  
[[File:2FA_pic1.png|center|format|800px|thumb|Получение QR кода или цифрового ключа.]]
+
* установите программу [https://itunes.apple.com/ru/app/freeotp-authenticator/id872559395?mt=8 FreeOTP Authenticator];
 +
* установите программу [https://itunes.apple.com/ru/app/google-authenticator/id388497605?mt=8 Google Authenticator];
  
Затем запустите приложение на телефоне и просканируйте получившийся QR-код.
+
==== Для смартфона с системой Microsoft© Windows Phone© или планшета Microsoft© Surface© ====
Либо, если Ваше приложение не поддерживает сканирование QR кодов, то вручную введите шестнадцатизначный ключ, сгенерированный прямо под QR кодом и подписанный как:
+
  
Your new secret key is: ABCDEFGH12345678
+
* установите программу [https://www.microsoft.com/ru-ru/store/p/microsoft-authenticator/9nblgggzmcj6 Microsoft Authenticator].
  
Пример сканирования кода на рисунке ниже:
+
=== Создание на компьютере QR кода (ключа) для администратора ('''root'''). ===
  
[[File:2FA_pic2.png|center|format|thumb|Получение QR кода или цифрового ключа.]]
+
Затем переключитесь на Вашем компьютере в контекст суперпользователя (администратора) '''root''':
  
== Настройка DNS ==
+
   '''su -''' или '''sudo -i'''
Необходимо добавить данные о 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 командой:
+
И тогда Вам пригодится уже настроенный вход администратора ('''root'''). Создайте ключ для администратора командой (лучше всего это делать в терминале '''xterm'''):
  '''dig SRV _ldap._tcp.test.dom'''
+
  
При этом в зоне AD должна быть найдена информация об ответственных серверах с каталогом LDAP в этой зоне;
+
  '''google-authenticator'''
  
* на сервере AD командами (как показано на рис.1):
+
[[File:2FA_pic1.png|640px|center|thumb|Рисунок 1.Получение QR кода или цифрового ключа.]]
  
  '''nslookup
+
=== Ввод QR кода (цифрового ключа) в приложение на смартфоне (планшете). ===
  > set type=srv
+
  > _ldap._tcp.ad_domain
+
  > _ldap._tcp.ipa_domain
+
  > quit'''
+
[[File:Ipa dns.jpg]]
+
  
== Включение доверительных отношений ==
+
Затем запустите на Ваш смартфон или планшет уже установленное выше приложение, и, следуя его подсказкам, просканируйте получившийся QR-код.
 +
Либо, если Ваше приложение не поддерживает сканирование QR кодов, то вручную введите шестнадцатизначный ключ, сгенерированный прямо под QR кодом и подписанный как:
  
Включим доверительные отношения между с AD командой:
+
Your new secret key is: ABCDEFGH12345678
 
+
  '''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
+
Пример сканирования QR кода на рисунке ниже:
  
То необходимо установить пакет ''python-sss-murmur'' командой:
+
[[File:2FA_pic2.png|200px|center|thumb|Рисунок 2. Пример сканирования QR кода приложением на смартфоне.]]
  
  '''yum install python-sss-murmur'''
+
=== Создание на компьютере и ввод в смартфон QR кода для обычного пользователя. ===
  
После чего перезагрузить домен IPA командой:
+
Создание QR кода для рядового пользователя системы ничем не отличается от создания его для администратора.
  '''/etc/init.d/ipa restart'''
+
Сперва запустите '''xterm'''. Затем переключитесь в контекст этого пользователя командой:
  
Далее повторить попытку включения доверительных отношений, не забыв перед этим заново получить билет администратора домена:
+
  '''su - <имя_желаемого_пользователя>''',  
  '''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.
+
  '''google-authenticator'''
  
Далее можно входить на ПК из IPA домена с использованием пользователя AD с указанием логина в виде '''user@TEST.DOM'''
+
В ответ Вы увидите еще один QR-код для пользователя. Пример QR-кода уже показан на '''рисунке 1'''.
  
[[File:Ipa enter.jpg]]
+
Далее, как уже было описано выше, введите (просканируете) в Ваш смартфон (планшет) еще один QR-код. Или введите шестнадцатизначный ключ.
 +
Пример этой операции уже показан на '''рисунке 2'''. Повторите операции по генерации QR-кодов столько раз, сколько потребуется для каждого отдельного пользователя. Не забываете для этого каждый раз переключаться в контекст нового по

Версия 19:40, 17 июня 2017

Настройка двухфакторной аутентификации в ОС РОСА 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

Установка приложения на смартфон (планшет).

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

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

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

Создание на компьютере QR кода (ключа) для администратора (root).

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

 su - или sudo -i

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

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

Ввод QR кода (цифрового ключа) в приложение на смартфоне (планшете).

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

Your new secret key is: ABCDEFGH12345678

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

Рисунок 2. Пример сканирования QR кода приложением на смартфоне.

Создание на компьютере и ввод в смартфон QR кода для обычного пользователя.

Создание QR кода для рядового пользователя системы ничем не отличается от создания его для администратора. Сперва запустите xterm. Затем переключитесь в контекст этого пользователя командой:

  su - <имя_желаемого_пользователя>, 

и выполните команду:

  google-authenticator

В ответ Вы увидите еще один QR-код для пользователя. Пример QR-кода уже показан на рисунке 1.

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