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

Материал из Rosalab Wiki
Перейти к: навигация, поиск
Строка 9: Строка 9:
  
 
Двухфакторная (многофакторная) аутентификация нужна для '''усиления безопасности''' при попытке входа в операционную систему и во всех остальных случаях, требующих подтверждения подлинности пользователя.
 
Двухфакторная (многофакторная) аутентификация нужна для '''усиления безопасности''' при попытке входа в операционную систему и во всех остальных случаях, требующих подтверждения подлинности пользователя.
Таким образом, она существенно повышает безопасность вообще всякий раз, когда требуется ввести пароль.  
+
Таким образом, она существенно повышает безопасность всякий раз, когда требуется ввести пароль.  
  
 
Пароль требуется при необходимости:
 
Пароль требуется при необходимости:
  
* осуществить штатный вход в графическую оболочку;
+
* осуществить штатный вход в графическую оболочку ОС;
 
* разблокировать компьютер (ноутбук) при работающем хранителе экрана;  
 
* разблокировать компьютер (ноутбук) при работающем хранителе экрана;  
 
* осуществить повторный вход (скажем, требуется войти в систему параллельно еще раз);
 
* осуществить повторный вход (скажем, требуется войти в систему параллельно еще раз);
Строка 52: Строка 52:
  
 
* Вам понадобится установить на компьютер из нашего репозитория программу google-authenticator.
 
* Вам понадобится установить на компьютер из нашего репозитория программу google-authenticator.
* Вам понадобится смартфон или планшет (Windows Mobile©, Android© или Apple© iOS©, без разницы), который превратится в ваш токен с ключом и станет генератором одноразовых паролей;
+
* Вам понадобится смартфон или планшет (Windows Phone©, Android© или Apple© iOS©, без разницы), который превратится в ваш токен с ключом и станет генератором одноразовых паролей;
 
* Время на смартфоне и на компьютере должно будет совпадать, это ключевое. Допустимо только незначительное отклонение времени между устройствами;
 
* Время на смартфоне и на компьютере должно будет совпадать, это ключевое. Допустимо только незначительное отклонение времени между устройствами;
 
** Для синхронизации времени лучше всего использовать серверы точного времени.  
 
** Для синхронизации времени лучше всего использовать серверы точного времени.  
Строка 80: Строка 80:
 
* будет использоваться односторонний алгоритм аутентификации по одноразовым паролям на основе времени TOTP (Time-based One Time Password Algorithm, [https://tools.ietf.org/html/rfc6238 RFC 6238]);
 
* будет использоваться односторонний алгоритм аутентификации по одноразовым паролям на основе времени TOTP (Time-based One Time Password Algorithm, [https://tools.ietf.org/html/rfc6238 RFC 6238]);
 
* на компьютере при установке и первичной настройке для каждого пользователя генерируется 80-битный секретный ключ. Он отображается с помощью QR кода (по-умолчанию) или отображается как 16-ти (по-умолчанию), 26-ти или 32-ух значный код в кодировке Base32.;
 
* на компьютере при установке и первичной настройке для каждого пользователя генерируется 80-битный секретный ключ. Он отображается с помощью QR кода (по-умолчанию) или отображается как 16-ти (по-умолчанию), 26-ти или 32-ух значный код в кодировке Base32.;
* QR код фотографируется прямо с экрана компьютера приложением телефона (или в телефонное приложение вручную вводится образованный на компьютере цифровой 16-ти значный код);
+
* QR код сканируется прямо с экрана компьютера специальным приложением телефона (или в телефонное приложение вручную вводится образованный на компьютере цифровой 16-ти значный код);
 
* приложение на телефоне создает HMAC-SHA1 используя этот секретный QR код (16-ти значный код) в качестве основы (ключа) для расчетов;
 
* приложение на телефоне создает HMAC-SHA1 используя этот секретный QR код (16-ти значный код) в качестве основы (ключа) для расчетов;
* затем часть HMAC извлекается и преобразуется в шестизначный (по-умолчанию) одноразовый пароль, отображаемый на экране телефона;
+
* затем часть HMAC извлекается и преобразуется в шестизначный (по-умолчанию) одноразовый пароль, отображаемый телефонной программой на экране телефона;
 
* одноразовый пароль действует 30 секунд (по-умолчанию).
 
* одноразовый пароль действует 30 секунд (по-умолчанию).
  
Строка 102: Строка 102:
 
* установите программу [https://itunes.apple.com/ru/app/google-authenticator/id388497605?mt=8 Google Authenticator];
 
* установите программу [https://itunes.apple.com/ru/app/google-authenticator/id388497605?mt=8 Google Authenticator];
  
==== Для смартфона с системой Microsoft© Windows Mobile© или планшета Microsoft© Surface© ====
+
==== Для смартфона с системой Microsoft© Windows Phone© или планшета Microsoft© Surface© ====
  
 
* установите программу [https://www.microsoft.com/ru-ru/store/p/microsoft-authenticator/9nblgggzmcj6 Microsoft Authenticator].
 
* установите программу [https://www.microsoft.com/ru-ru/store/p/microsoft-authenticator/9nblgggzmcj6 Microsoft Authenticator].
Строка 114: Строка 114:
 
Затем установите соответствующую программу на смартфон. Смотрите [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 Программы для смартфонов или планшетов, необходимые к установке.]
 
Затем установите соответствующую программу на смартфон. Смотрите [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:
+
Затем переключитесь на Вашем компьютере в контекст суперпользователя (администратора) '''root''':
  
   '''su -'''
+
   '''su -''' или '''sudo -i'''
 
   
 
   
 
Для администратора лучше в первую очередь настроить одноразовый пароль. Так как если что-то пойдет не так, то Вы возможно получите сложности при дальнейшей настройке.
 
Для администратора лучше в первую очередь настроить одноразовый пароль. Так как если что-то пойдет не так, то Вы возможно получите сложности при дальнейшей настройке.
Строка 123: Строка 123:
 
   '''google-authenticator'''
 
   '''google-authenticator'''
  
[[File:2FA_pic1.png|center|format|100px|frame|Получение QR кода или цифрового ключа.]]
+
[[File:2FA_pic1.png|center|format|800px|thumb|Получение QR кода или цифрового ключа.]]
  
  '''ipa-adtrust-install --netbios-name=IPA -a mypassword1'''
+
Затем запустите приложение на телефоне и просканируйте получившийся QR-код.
 +
Либо, если Ваше приложение не поддерживает сканирование QR кодов, то вручную введите шестнадцатизначный ключ, сгенерированный прямо под QR кодом и подписанный как:
  
Далее рекомендуется настроить синхронизацию времени между контроллерами домена AD и IPA.
+
Your new secret key is: ABCDEFGH12345678
 +
 
 +
Пример сканирования кода на рисунке ниже:
 +
 
 +
[[File:2FA_pic2.png|center|format|thumb|Получение QR кода или цифрового ключа.]]
  
 
== Настройка DNS ==
 
== Настройка DNS ==

Версия 12:00, 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

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

Затем переключитесь на Вашем компьютере в контекст суперпользователя (администратора) 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