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

Материал из Rosalab Wiki
Перейти к: навигация, поиск
(орфография/пунктуация, стилевые правки, оформление)
Строка 1: Строка 1:
<big>[[Настройка двухфакторной аутентификации в ОС РОСА Desktop Fresh R9]]</big>
+
<big>Настройка двухфакторной аутентификации в ОС ROSA Desktop Fresh R9</big>
 
== Применимость ==
 
== Применимость ==
  
 
=== Назначение ===
 
=== Назначение ===
  
Инструкция предназначена для описания процесса настройки двухфакторной аутентификации (2FA) в ОС ROSA Desktop Fresh R9.  
+
В данной инструкции описан процесс настройки двухфакторной аутентификации (2FA) в ОС ROSA Desktop Fresh R9.  
  
 
=== Зачем использовать двухфакторную (многофакторную) аутентификацию и для чего она нужна? ===
 
=== Зачем использовать двухфакторную (многофакторную) аутентификацию и для чего она нужна? ===
  
Двухфакторная (многофакторная) аутентификация нужна для '''усиления безопасности''' при попытке входа в операционную систему и во всех остальных случаях, требующих подтверждения подлинности пользователя.
+
Двухфакторная (многофакторная) аутентификация нужна для '''усиления безопасности''' при попытке входа в операционную систему и во всех остальных случаях, когда требуется подтверждение подлинности пользователя. Таким образом, она существенно повышает безопасность всякий раз, когда нужно ввести пароль.  
Таким образом, она существенно повышает безопасность всякий раз, когда требуется ввести пароль.  
+
  
Пароль требуется для того, чтобы:
+
Пароль необходим, чтобы:
  
 
* осуществить штатный вход в графическую оболочку ОС;
 
* осуществить штатный вход в графическую оболочку ОС;
 
* разблокировать компьютер (ноутбук) при работающем хранителе экрана;  
 
* разблокировать компьютер (ноутбук) при работающем хранителе экрана;  
* осуществить повторный вход (скажем, требуется войти в систему параллельно еще раз);
+
* осуществить повторный вход (скажем, когда требуется параллельно войти в систему ещё раз);
* осуществить удаленное подключение к операционной системе (например по протоколу SSH);  
+
* осуществить удалённое подключение к операционной системе (например, по протоколу SSH);  
* осуществить вход в текстовый терминал getty (ALT+F2...F6);
+
* осуществить вход в текстовый терминал getty (Alt+F2...F6);
* переключить контекст пользователя - если нужно использовать su, sudo и выполнить действия от имени другого пользователя или администратора root.
+
* переключить контекст пользователя (если нужно использовать ''su'', ''sudo'' и выполнить действия от имени другого пользователя или администратора root).
  
 
А теперь представьте:
 
А теперь представьте:
  
* Вы подозреваете, что кому-то, возможно, стал известен Ваш текущий пароль, а поменять его сразу нет возможности;
+
* Вы подозреваете, что кому-то, возможно, стал известен ваш текущий пароль, а поменять его сразу нет возможности
* Ваш текущий пароль кто-то может подсмотреть во время ввода, к примеру незаметно встав у Вас за спиной или применив зеркальце;
+
* Ваш текущий пароль кто-то может подсмотреть во время ввода, например, незаметно встав у вас за спиной или применив зеркальце
* Вы подключаетесь к своему компьютеру по SSH из интернет-кафе или используя чужой компьютер. Можно предположить, что когда Вы набираете на чужом компьютере символы Вашего имени и пароля - информация может быть перехвачена и использована злоумышленником;
+
* Вы подключаетесь к своему компьютеру по SSH из интернет-кафе или с чужого компьютера. Можно предположить, что когда вы набираете на чужом компьютере символы вашего имени и пароля, информация может быть перехвачена и использована злоумышленником
** В интернете масса простых и бесплатных программ, которые осуществляют перехват ввода с клавиатуры и запись его в файл. Файл затем можно скопировать или передать;
+
** в интернете есть масса простых и бесплатных программ, которые осуществляют перехват ввода с клавиатуры и запись его в файл. Файл затем можно скопировать или передать;
** В интернете можно приобрести особую клавиатуру, которая запишет ввод символов во встроенную в неё флеш-память. В интернете можно купить (или спаять самостоятельно) специальный USB-переходник для клавиатуры, который делает то же самое;
+
** в интернете можно приобрести особую клавиатуру, которая запишет ввод символов во встроенную в неё флеш-память. Также можно купить (или спаять самостоятельно) специальный USB-переходник для клавиатуры, который делает то же самое
* Вы опасаетесь, что ваш пароль слишком слабый или очевидный. И может быть легко подобран в уме злобными железными дядьками и тётьками из Мегатрона.
+
* Вы опасаетесь, что ваш пароль слишком слабый или очевидный, и может быть легко подобран в уме злобными железными дядьками и тётьками из Мегатрона
  
Во всех перечисленных случаях хорошей мерой противодействия может быть использование двухфакторной аутентификации.
+
Во всех перечисленных случаях хорошей мерой противодействия может быть использование двухфакторной аутентификации (2FA). Как это сделать, вам подскажет данное руководство. В результате вы научитесь настраивать ещё один барьер безопасности в своей системе. И вам останется лишь криво ухмыляться (ну или адски гоготать), глядя на работу интернет-бота, тщетно пытающегося подобрать пароли к вашей системе.
И в этом Вам поможет это руководство. Дочитав его до конца, Вы научитесь настраивать еще один барьер безопасности в своей системе. И Вам останется лишь криво ухмыляться (ну или адски гоготать), глядя на работу интернет-бота, тщетно пытающегося подобрать пароли к Вашей системе.
+
  
Многофакторная (в т.ч. двухфакторная) аутентификация основана на принципе, гласящем, что для подтверждения подлинности пользователя необходимо '''сочетание нескольких факторов''':
+
Многофакторная (в т. ч. двухфакторная) аутентификация основана на принципе, гласящем, что для подтверждения подлинности пользователя необходимо '''сочетание нескольких факторов''':
  
* Пользователь '''знает''' что-то, чего не знает никто (например, свой '''пароль''');
+
* Пользователь '''знает''' что-то, чего не знает никто (например, свой '''пароль''')
* Пользователь '''имеет''' что-то, чего не имеет никто (это может быть, например, '''одноразовый пароль''' или токен, содержащий ключ, и т.п.);
+
* Пользователь '''имеет''' что-то, чего не имеет никто (это может быть, например, '''одноразовый пароль''' или токен, содержащий ключ, и т. п.)
* Пользователь неотъемлемо '''обладает''' чем-то (как субъект материального мира), чем кроме него, не обладает никто (например '''отпечаток пальца''', радужка глаза, голос, и т.п.). В последнем случае, речь, как правило, идет о применении т.н. '''биометрической аутентификации''' или биометрии.
+
* Пользователь неотъемлемо '''обладает''' чем-то (как субъект материального мира), чем кроме него, не обладает никто ('''отпечаток пальца''', радужка глаза, голос, и т. п.). В последнем случае, речь, как правило, идёт о применении т. н. '''биометрической аутентификации''' или биометрии.
  
Для ОС ROSA Desktop Fresh R9 мы предлагаем использовать двухфакторную аутентификацию с использованием одноразовых TOTP паролей, которые актуальны всего 30 секунд.
+
Для ОС ROSA Desktop Fresh R9 мы предлагаем использовать двухфакторную аутентификацию с использованием одноразовых TOTP-паролей, которые актуальны всего 30 секунд.
  
Строго говоря, ниже описана двухэтапная аутентификация.  
+
Строго говоря, ниже описана двухэтапная аутентификация.
  
Для тех, кто в теме и кому не все равно, а так же специалистам по ИБ рекомендуется сразу читать последний параграф данной статьи.
+
Тем, кто «в теме» и кому не всё равно, а также специалистам по ИБ рекомендуем сразу читать последний параграф данной статьи.
  
Настройка, описанная ниже, рекомендуется нами как наиболее приемлемая и удобная для пользователя.  
+
Процесс настройки, описанный ниже, рекомендуется нами как наиболее приемлемый и удобный для пользователя. Вам не нужно производить каких-либо сложных действий, не требуется применять редкие программы или использовать дорогостоящее оборудование. К тому же после правильной настройки двухфакторную аутентификацию можно будет использовать без подключения к интернету.
  
Для ее применения, в целом, не нужно производить никаких особенно сложных настроек и не требуется применять никаких редких программ или использовать дорогостоящее оборудование. И 2FA можно будет использовать после правильной настройки без всякого подключения к сети Internet.
+
=== Список поддерживаемых ОС семейства РОСА ===
 
+
=== Список поддерживаемых ОС семейства РОСА. ===
+
  
 
В настоящее время поддерживаются следующие ОС (не ниже):
 
В настоящее время поддерживаются следующие ОС (не ниже):
* ROSA Desktop Fresh R9 GNOME;
+
* ROSA Desktop Fresh R9 Gnome
* ROSA Desktop Fresh R9 KDE (обязательно изменить менеджер входа с KDM на LightDM);
+
* ROSA Desktop Fresh R9 KDE (обязательно изменить менеджер входа с KDM на LightDM)
* ROSA Desktop Fresh R9 PLASMA (обязательно изменить менеджер входа с SDDM на LightDM);
+
* ROSA Desktop Fresh R9 Plasma (обязательно изменить менеджер входа с SDDM на LightDM)
* Любая ОС РОСА (Fresh/RED) платформы 2014.1 или 2016.1 с менеджером входа GDM либо LightDM.
+
* Любая ОС РОСА (Fresh/RED) платформы 2014.1 или 2016.1 с менеджером входа GDM либо LightDM
  
=== Что Вам потребуется для настройки. ===
+
=== Что потребуется для настройки ===
  
* Вам понадобится установить на компьютер из нашего репозитория программу google-authenticator.
+
* Установить на компьютер из нашего репозитория программу google-authenticator
* Вам понадобится смартфон или планшет (Windows Phone&copy;, Android&copy; или Apple&copy; iOS&copy;, без разницы), который превратится в ваш токен с ключом и станет генератором одноразовых паролей;
+
* Взять смартфон или планшет (Windows Phone&copy;, Android&copy; или Apple&copy; iOS&copy;, без разницы), который превратится в ваш токен с ключом и станет генератором одноразовых паролей
* Время на смартфоне и на компьютере должно будет совпадать, это ключевое. Допустимо только незначительное отклонение времени между устройствами;
+
* Сделать так, чтобы время на смартфоне и на компьютере совпадало. Допускается только незначительное расхождение по времени между устройствами
** Для синхронизации времени лучше всего использовать серверы точного времени.  
+
** Для синхронизации времени лучше всего использовать серверы точного времени. Например, вы можете использовать наши публичные и общедоступные серверы времени —  ntp.rosalinux.ru и ntp2.rosalinux.ru или любые другие по вашему желанию
** Например, Вы можете использовать наши публичные и общедоступные серверы времени: ntp.rosalinux.ru и ntp2.rosalinux.ru или любые другие по Вашему желанию.
+
* Шапочка из фольги (шутка)
* Шапочка из фольги (шутка).
+
  
=== Ограничения, о которых нужно знать. ===
+
=== Ограничения, о которых нужно знать ===
  
* Если Вы утратите смартфон или там сядет батарейка, то Вы не сможете без своего работающего смартфона зайти в ОС штатным способом;
+
* Если вы потеряете смартфон или в нём сядет батарейка, вы не сможете зайти в ОС штатным способом
* Если у Вас будет отличаться время на компьютере и на телефоне, то Вы тоже не сможете зайти в ОС штатным способом;
+
* Если у вас будет различаться время на компьютере и на телефоне, вы также не сможете зайти в ОС штатным способом
* Помните, что с ростом безопасности снижается удобство использования. Вам теперь постоянно придется иметь под рукой работающий телефон и вводить два пароля вместо одного;
+
* Помните, что с ростом безопасности снижается удобство использования. Вам теперь постоянно придётся иметь под рукой работающий телефон и вводить два пароля вместо одного
* Осуществить переключение в контекст другого пользователя может стать проблемой. Помимо пароля другого пользователя, потребуется раздобыть его одноразовый пароль.
+
* Переключение в контекст другого пользователя может стать проблемой: помимо пароля другого пользователя нужно будет знать его одноразовый пароль
  
=== Что Вы получите в итоге. ===
+
=== Что вы получите в итоге ===
  
* Существенно вырастет безопасность. Теперь можно не опасаться, что Вы случайно или специально скомпрометируете пароль пользователя или даже администратора (root);
+
* Существенно вырастет безопасность. Теперь можно не опасаться скомпрометировать пароль пользователя или даже администратора (root)
 
* Вам не потребуется покупать дорогостоящее оборудование или программное обеспечение, чтобы повысить безопасность. Вы сможете сделать это себе бесплатно после несложной настройки (или соседу за тысячу рублей);
 
* Вам не потребуется покупать дорогостоящее оборудование или программное обеспечение, чтобы повысить безопасность. Вы сможете сделать это себе бесплатно после несложной настройки (или соседу за тысячу рублей);
 
* Вы будете знать, что Ваша система повышения безопасности - только Ваша, и ничья еще, никакие сторонние сервисы не используются;
 
* Вы будете знать, что Ваша система повышения безопасности - только Ваша, и ничья еще, никакие сторонние сервисы не используются;
Строка 81: Строка 76:
 
* Вы теперь сможете повысить свою самооценку перед родными, друзьями и знакомыми :)))
 
* Вы теперь сможете повысить свою самооценку перед родными, друзьями и знакомыми :)))
  
=== Принцип настройки и работы 2FA в ОС ROSA Desktop Fresh R9. ===
+
=== Принцип настройки и работы 2FA в ROSA Desktop Fresh R9 ===
  
Работа 2FA в ОС РОСА базируется на следующих принципах:
+
Работа 2FA в ROSA Fresh базируется на следующих принципах:
  
 
* требуется установить программу google-authenticator;
 
* требуется установить программу google-authenticator;
Строка 93: Строка 88:
 
* одноразовый пароль действует 30 секунд (по-умолчанию).
 
* одноразовый пароль действует 30 секунд (по-умолчанию).
  
=== Программы для смартфонов или планшетов, необходимые к установке. ===
+
=== Программы для смартфонов или планшетов, необходимые к установке ===
  
 
Ниже приведен список бесплатных программ (на момент написания статьи) для генерации одноразовых паролей.
 
Ниже приведен список бесплатных программ (на момент написания статьи) для генерации одноразовых паролей.
Строка 116: Строка 111:
 
== Настройка операционной системы ROSA Desktop Fresh R9 Gnome для работы двухфакторной аутентификации ==
 
== Настройка операционной системы ROSA Desktop Fresh R9 Gnome для работы двухфакторной аутентификации ==
  
=== Установка приложения на компьютер и синхронизация часов. ===
+
=== Установка приложения на компьютер и синхронизация часов ===
  
 
   '''Сперва обязательно проверьте точное время и убедитесь, что оно верное!'''
 
   '''Сперва обязательно проверьте точное время и убедитесь, что оно верное!'''
  
Иначе ничего не выйдет. Если время на компьютере отличается от времени на смартфоне - сначала синхронизируйте время между устройствами.
+
Иначе ничего не выйдет. Если время на компьютере отличается от времени на смартфоне, сначала синхронизируйте время между устройствами.
  
 
Для настройки времени можно использовать программу '''drakclock'''. Запустите её ('''ALT+F2''' и напишите '''drakclock''') и проверьте время и часовой пояс.
 
Для настройки времени можно использовать программу '''drakclock'''. Запустите её ('''ALT+F2''' и напишите '''drakclock''') и проверьте время и часовой пояс.
  
Хорошим решением будет использование любого сервера времени из списка программы drakclock. Либо вы можете сами вписать любой сервер времени, по Вашему желанию.
+
Хорошим решением будет использование любого сервера времени из списка программы drakclock. Либо вы можете сами вписать любой сервер времени по вашему желанию.
  
Например, можно использовать наши собственные серверы времени - ntp.rosalinux.ru и ntp2.rosalinux.ru.
+
Например, можно использовать наши собственные серверы времени ntp.rosalinux.ru и ntp2.rosalinux.ru.
  
 
[[File:drakclock.png|300px|center|thumb|Рисунок 1. Синхронизация времени с помощью '''drakclock'''.]]
 
[[File:drakclock.png|300px|center|thumb|Рисунок 1. Синхронизация времени с помощью '''drakclock'''.]]
Строка 134: Строка 129:
 
   '''urpmi google-authenticator'''
 
   '''urpmi google-authenticator'''
  
=== Установка приложения на смартфон (планшет). ===
+
=== Установка приложения на смартфон (планшет) ===
  
Прежде чем Вы установите приложение:
+
Прежде чем вы установите приложение:
  
   '''Первым делом, проверьте время. Если на вашем смартфоне или планшете оно не совпадает со времением на компьютере , то ничего не заработает'''
+
   '''Первым делом проверьте время. Если на вашем смартфоне или планшете оно не совпадает со временем на компьютере, ничего не заработает'''
  
Сверьтесь с документацией на Ваш телефон или планшет, чтобы установить на нём точное время.
+
Сверьтесь с документацией на ваш телефон или планшет, чтобы установить на нём точное время.
  
 
После синхронизации времени можно установить программу.
 
После синхронизации времени можно установить программу.
Строка 158: Строка 153:
 
* установите программу [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].
  
=== Создание на компьютере QR кода (ключа) для администратора ('''root'''). ===
+
=== Создание на компьютере QR кода (ключа) для администратора ('''root''') ===
  
Затем переключитесь на Вашем компьютере в контекст суперпользователя (администратора) '''root''':
+
Переключитесь на Вашем компьютере в контекст администратора (суперпользователя) '''root''':
  
 
   '''su -''' или '''sudo -i'''
 
   '''su -''' или '''sudo -i'''
 
   
 
   
Для администратора лучше в первую очередь настроить одноразовый пароль. Так как если что-то пойдет не так, то Вы возможно получите сложности при дальнейшей настройке.
+
Для администратора лучше в первую очередь настроить одноразовый пароль, чтобы избежать сложностей при дальнейшей настройке. Если что-то пойдёт не так, вам пригодится уже настроенный вход администратора ('''root'''). Создайте ключ для администратора следующей командой (лучше всего это делать в терминале '''xterm'''):  
И тогда Вам пригодится уже настроенный вход администратора ('''root'''). Создайте ключ для администратора командой (лучше всего это делать в терминале '''xterm'''):  
+
  
 
   '''google-authenticator'''
 
   '''google-authenticator'''
  
[[File:2FA_pic1.png|640px|center|thumb|Рисунок 2. Получение QR кода или цифрового ключа.]]
+
[[File:2FA_pic1.png|640px|center|thumb|Рисунок 2. Получение QR-кода или цифрового ключа.]]
  
=== Ввод QR кода (цифрового ключа) в приложение на смартфоне (планшете). ===
+
=== Ввод QR-кода (цифрового ключа) в приложение на смартфоне (планшете) ===
  
Затем запустите на Ваш смартфон или планшет уже установленное выше приложение, и, следуя его подсказкам, просканируйте получившийся QR-код.  
+
Запустите на смартфоне или планшете установленное выше приложение, и, следуя его подсказкам, просканируйте получившийся QR-код.  
Либо, если Ваше приложение не поддерживает сканирование QR кодов, то вручную введите шестнадцатизначный ключ, сгенерированный прямо под QR кодом и подписанный как:
+
Либо, если ваше приложение не поддерживает сканирование QR-кодов, вручную введите шестнадцатизначный ключ, сгенерированный прямо под QR-кодом и подписанный следующим образом:
  
Your new secret key is: ABCDEFGH12345678
+
Your new secret key is: ABCDEFGH12345678
  
Пример сканирования QR кода на рисунке ниже:
+
Пример сканирования QR-кода на рисунке ниже:
  
[[File:2FA_pic2.png|200px|center|thumb|Рисунок 3. Пример сканирования QR кода приложением на смартфоне.]]
+
[[File:2FA_pic2.png|200px|center|thumb|Рисунок 3. Пример сканирования QR-кода приложением на смартфоне.]]
  
=== Создание на компьютере и ввод в смартфон QR кода для обычного пользователя. ===
+
=== Создание на компьютере и ввод в смартфон QR-кода для обычного пользователя ===
  
Создание QR кода для рядового пользователя системы ничем не отличается от создания его для администратора.  
+
Создание QR-кода для рядового пользователя системы ничем не отличается от создания его для администратора.  
Сперва запустите '''xterm'''. Затем переключитесь в контекст этого пользователя командой:
+
Сперва запустите '''xterm'''. Затем переключитесь в контекст этого пользователя:
  
 
   '''su - <имя_желаемого_пользователя>''',  
 
   '''su - <имя_желаемого_пользователя>''',  
Строка 195: Строка 189:
 
В ответ Вы увидите еще один QR-код для пользователя. Пример QR-кода уже показан на '''рисунке 2'''.
 
В ответ Вы увидите еще один QR-код для пользователя. Пример QR-кода уже показан на '''рисунке 2'''.
  
Далее, как уже было описано выше, введите (просканируете) в Ваш смартфон (планшет) еще один QR-код. Или введите шестнадцатизначный ключ.
+
Далее, как уже было описано выше, просканируйте вашим смартфоном (планшетом) ещё один QR-код или введите шестнадцатизначный ключ. Пример этой операции уже показан на '''рисунке 3'''.  
Пример этой операции уже показан на '''рисунке 3'''.  
+
  
 
Повторите операции по генерации QR-кодов столько раз, сколько потребуется.  
 
Повторите операции по генерации QR-кодов столько раз, сколько потребуется.  
  
Скорее всего, Вам потребуется создать свой QR код для каждого пользователя Вашей системы. Ведь как только Вы закончите настройку - войти в систему без одноразового пароля станет невозможно.
+
Скорее всего, вам потребуется создать свой QR-код для каждого пользователя системы. Ведь как только вы закончите настройку, войти в систему без одноразового пароля станет невозможно.
  
Не забываете при создании QR кодов каждый раз переключаться в контекст нового пользователя.
+
Не забываете при создании QR-кодов каждый раз переключаться в контекст нового пользователя.
  
 
=== Настройка графического менеджера GDM ===
 
=== Настройка графического менеджера GDM ===
  
Если у Вас установлена ОС ROSA Fresh R9 с графическим окружением GNOME, то ниже описывается как настроить Gnome Dislay Manager (GDM) для работы с 2FA.
+
Если у вас установлена ОС ROSA Fresh R9 с графическим окружением Gnome, ниже вы можете прочитать, как настроить Gnome Dislay Manager (GDM) для работы с 2FA.
  
 
Для настройки GDM Вам потребуются полномочия администратора '''root'''.  
 
Для настройки GDM Вам потребуются полномочия администратора '''root'''.  
  
Отредактируйте файл '''/etc/pam.d/gdm-password'''. Измените верхние строки, так, как указано в примере:
+
Отредактируйте файл '''/etc/pam.d/gdm-password'''. Измените верхние строки, как указано в примере:
  
 
   '''#%PAM-1.0'''
 
   '''#%PAM-1.0'''
Строка 218: Строка 211:
 
   '''auth      sufficient  pam_succeed_if.so user ingroup nopasswdlogin'''
 
   '''auth      sufficient  pam_succeed_if.so user ingroup nopasswdlogin'''
  
Помните, что настройки модуля PAM применяются немедленно. Никакой перезагрузки выполнять не нужно. Теперь у Вас настроена 2FA для входа в графическую оболочку.
+
Помните, что настройки модуля PAM применяются немедленно. Никакой перезагрузки выполнять не нужно. Теперь у вас настроена 2FA для входа в графическую оболочку.
  
 
Введите первый пароль как обычно.
 
Введите первый пароль как обычно.
Строка 224: Строка 217:
 
[[File:gdmscreen2.png|640px|center|thumb|Рисунок 4. Ввод пароля в GDM.]]
 
[[File:gdmscreen2.png|640px|center|thumb|Рисунок 4. Ввод пароля в GDM.]]
  
Запустите приложение на вашем смартфоне, выберете учетную запись и приготовьтесь ввести одноразовый пароль.
+
Запустите приложение на вашем смартфоне, выберите учетную запись и приготовьтесь ввести одноразовый пароль.
  
 
Помните, что он действует 30 секунд. В приложении обычно имеется индикатор срока действия.
 
Помните, что он действует 30 секунд. В приложении обычно имеется индикатор срока действия.
Строка 230: Строка 223:
 
[[File:2FA_pic3.png|200px|center|thumb|Рисунок 5. Работа генератора одноразового пароля на смартфоне.]]
 
[[File:2FA_pic3.png|200px|center|thumb|Рисунок 5. Работа генератора одноразового пароля на смартфоне.]]
  
Введите цифры с экрана смартфона в менеджер входа GDM как только будет запрошен одноразовый пароль (TOTP).
+
Введите цифры с экрана смартфона в менеджер входа GDM, как только будет запрошен одноразовый пароль (TOTP).
  
Теперь у Вас настроен вход в графическую оболочку с применением двухфакторной аутентификации.  
+
Теперь у вас настроен вход в графическую оболочку с применением двухфакторной аутентификации.  
  
 
[[File:gdmscreen1.png|640px|center|thumb|Рисунок 6. Ввод одноразового пароля в GDM.]]
 
[[File:gdmscreen1.png|640px|center|thumb|Рисунок 6. Ввод одноразового пароля в GDM.]]
  
Однако, еще НЕ настроено:
+
Однако ещё НЕ настроены:
 
* вход в текстовую консоль и переключение контекста пользователя;
 
* вход в текстовую консоль и переключение контекста пользователя;
 
* механизм sudo;
 
* механизм sudo;
 
* удаленный вход по протоколу SSH.
 
* удаленный вход по протоколу SSH.
  
Если Вы хотите все это тоже настроить для применения 2FA - читайте далее.
+
Если вы хотите всё это тоже настроить для применения 2FA, читайте далее.
  
=== Настройка 2FA для текстовой консоли, а также для переключения контекста пользователя. ===
+
=== Настройка 2FA для текстовой консоли, а также для переключения контекста пользователя ===
  
Для этой настройки Вам опять потребуются полномочия администратора '''root'''.
+
Для этой настройки вам опять потребуются полномочия администратора '''root'''.
 
Отредактируйте файл '''/etc/pam.d/system-auth''' и приведите первые 4 строчки к следующему виду:
 
Отредактируйте файл '''/etc/pam.d/system-auth''' и приведите первые 4 строчки к следующему виду:
  
Строка 253: Строка 246:
 
   '''auth        required      pam_deny.so'''
 
   '''auth        required      pam_deny.so'''
  
Немедленно после этого, для входа в текстовую консоль тоже потребуется вводить одноразовый пароль.
+
Немедленно после этого для входа в текстовую консоль также потребуется вводить одноразовый пароль.
  
 
[[File:Tty2 2FA.png|300px|center|thumb|Рисунок 7. 2FA в текстовой консоли getty.]]
 
[[File:Tty2 2FA.png|300px|center|thumb|Рисунок 7. 2FA в текстовой консоли getty.]]
  
То же самое заработает и для переключения контекста полномочий. Например, при использовании команды '''su'''.
+
То же самое заработает и для переключения контекста полномочий. Например, при использовании команды ''su''.
  
 
[[File:Su 2FA.png|300px|center|thumb|Рисунок 8. 2FA при переключении контекста полномочий пользователя.]]
 
[[File:Su 2FA.png|300px|center|thumb|Рисунок 8. 2FA при переключении контекста полномочий пользователя.]]
  
=== Настройка 2FA для использования '''sudo''' ===
+
=== Настройка 2FA для использования ''sudo'' ===
 
Потребуются полномочия администратора '''root''':
 
Потребуются полномочия администратора '''root''':
 
  '''visudo'''
 
  '''visudo'''
Строка 270: Строка 263:
 
Двухфакторная аутентификация для '''sudo''' работает уже после редактирования файла '''system-auth'''. В данном случае мы лишь сделали так, чтобы пароль при использовании '''sudo''' запрашивался каждый раз, повысив таким образом безопасность системы.
 
Двухфакторная аутентификация для '''sudo''' работает уже после редактирования файла '''system-auth'''. В данном случае мы лишь сделали так, чтобы пароль при использовании '''sudo''' запрашивался каждый раз, повысив таким образом безопасность системы.
  
=== Настройка 2FA для удаленного входа по SSH. ===
+
=== Настройка 2FA для удаленного входа по SSH ===
  
 
Сперва переключитесь в контекст администратора '''root'''.
 
Сперва переключитесь в контекст администратора '''root'''.
Строка 280: Строка 273:
 
и измените '''no''' на '''yes'''
 
и измените '''no''' на '''yes'''
  
Должно получится:
+
Должно получиться:
  
 
   '''UsePAM yes'''
 
   '''UsePAM yes'''
Строка 288: Строка 281:
 
   '''systemctl restart sshd'''
 
   '''systemctl restart sshd'''
  
После перезапуска службы '''sshd''' у Вас заработает двухфакторная аутентификация при использовании удаленного подключения по SSH к своему компьютеру.
+
После перезапуска службы '''sshd''' у Вас заработает двухфакторная аутентификация при использовании удалённого подключения по SSH к своему компьютеру.
  
== Настройка 2FA в ОС ROSA Fresh с рабочим столом KDE или PLASMA. ==
+
== Настройка 2FA в ОС ROSA Fresh с рабочим столом KDE или Plasma ==
  
Настройка двухфакторной аутентификации ОС ROSA Fresh с окружениями рабочего стола KDE либо PLASMA практически полностью совпадает с описанной выше.  
+
Настройка двухфакторной аутентификации ROSA Fresh с окружениями рабочего стола KDE либо PLASMA практически полностью совпадает с описанной выше.
  
 
Отличия минимальны. Как обычно, не забудьте сверить время. Для настройки потребуются полномочия администратора '''root'''.
 
Отличия минимальны. Как обычно, не забудьте сверить время. Для настройки потребуются полномочия администратора '''root'''.
 
  
 
* Сперва установите программу LightDM:
 
* Сперва установите программу LightDM:
Строка 303: Строка 295:
 
* Затем отключите текущий менеджер входа и активизируйте '''lightdm''':
 
* Затем отключите текущий менеджер входа и активизируйте '''lightdm''':
  
   '''systemctl disable sddm''' - если Вы используете PLASMA
+
   '''systemctl disable sddm''' если вы используете Plasma
  
   '''systemctl disable kdm''' - если Вы используете KDE
+
   '''systemctl disable kdm''' если Вы используете KDE
  
 
   '''systemctl enable lightdm'''
 
   '''systemctl enable lightdm'''
Строка 319: Строка 311:
 
После этого можно будет выполнить перезагрузку и получить двухфакторную аутентификацию в графической консоли.
 
После этого можно будет выполнить перезагрузку и получить двухфакторную аутентификацию в графической консоли.
  
Настройка 2FA для входа в текстовый терминал, для переключения контекста полномочий, для работы с ''sudo'' и '''ssh''' - идентичны версии для GNOME.
+
Процедуры настройки 2FA для входа в текстовый терминал, для переключения контекста полномочий и для работы с ''sudo'' и '''ssh''' идентичны версии для Gnome.
  
== Известные на данный момент ошибки и рецепт их лечения ==
+
== Известные на данный момент ошибки и способы их исправления ==
  
После постоянного использования отмечены случаи, когда пользователь не может пройти аутентификацию.
+
В процессе использования были отмечены случаи, когда пользователь не может пройти аутентификацию.
  
 
Симптомы:
 
Симптомы:
Строка 335: Строка 327:
 
== Существенная оговорка для специалистов по ИБ ==
 
== Существенная оговорка для специалистов по ИБ ==
  
Да, мы знаем, что строго говоря, речь в статье выше шла не про '''Двухфакторную (Two-factor authentication)''', а т.н. '''Двухэтапную (Two-step authentication)''' аутентификацию.
+
Да, мы знаем, что, строго говоря, речь в статье выше шла не про '''двухфакторную (Two-factor authentication)''', а т. н. '''двухэтапную (Two-step authentication)''' аутентификацию.
 
+
Да, мы понимаем отличия между сертификатом, расположенным в хранилище токена (которое (хранилище) закрыто PIN-кодом) или отпечатком пальца и одноразовым паролем.
+
  
Да, мы отдаем себе отчет, что, строго говоря, двухфакторная аутентификация должна быть:
+
Да, мы понимаем отличия между сертификатом, расположенным в хранилище токена (которое (хранилище) закрыто PIN-кодом), или отпечатком пальца и одноразовым паролем.
  
а) строгой;
+
Да, мы отдаем себе отчёт, что, строго говоря, двухфакторная аутентификация должна:
  
б) основываться на действительно независимом факторе, которым, строго говоря, не является одноразовый пароль;
+
а) быть строгой;
  
в) независимо проверенной (например, путем испытаний a.k.a "сертификационные испытания") и подтвержденной с помощью, например, испытательной лаборатории.
+
б) основываться на действительно независимом факторе, которым, вообще говоря, не является одноразовый пароль;
  
Но, с другой стороны, мы опубликовали эту статью с той целью, чтобы наши пользователи могли иметь возможность быстро и дешево усилить безопасность своих данных дома, для своей семьи, себя или друзей.
+
в) независимо проверенной (например, путём испытаний a.k.a «сертификационные испытания») и подтвержденной с помощью, например, испытательной лаборатории.
  
Мы хотим, чтобы обычный домашний пользователь мог бы быть немного более защищен. Способ, описанный выше, для этого как раз отлично годится.
+
Но, с другой стороны, мы опубликовали эту статью, чтобы наши пользователи могли иметь возможность быстро и без особых усилий повысить безопасность своих данных.
  
У нас в стране не так много бесплатных решений для этого.
+
Мы хотим, чтобы обычный домашний пользователь мог позволить себе немного более высокий уровень защиты. Способ, описанный выше, для этого отлично подходит. У нас в стране не так много бесплатных решений для этого.
  
Просим простить нам эту неточность. Ибо обычного пользователя необязательно погружать в тонкую грань терминологии и описывать отличия между двухфакторной и двухэтапной аутентификацией.
+
Просим простить нам эту неточность, ибо простого пользователя необязательно погружать в тонкости терминологии и описывать отличия между двухфакторной и двухэтапной аутентификацией.
  
Более того, обычно, если пользователь использует телефон для просмотра OTP, а телефон предварительно требует для разблокирования ввода собственного пароля, жеста или отпечатка пальца - тогда это начинает сильно напоминаеть 2FA :)
+
Более того, обычно, если пользователь использует телефон для просмотра OTP, а телефон предварительно требует для разблокирования ввода собственного пароля, жеста или отпечатка пальца, тогда это начинает сильно напоминать 2FA :)
  
 
С уважением, команда разработчиков ROSA Linux.
 
С уважением, команда разработчиков ROSA Linux.

Версия 17:28, 6 ноября 2018

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

Содержание

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

Назначение

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

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

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

Пароль необходим, чтобы:

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

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

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

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

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

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

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

Строго говоря, ниже описана двухэтапная аутентификация.

Тем, кто «в теме» и кому не всё равно, а также специалистам по ИБ рекомендуем сразу читать последний параграф данной статьи.

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

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

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

  • 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 в ROSA Fresh базируется на следующих принципах:

  • требуется установить программу 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 для работы двухфакторной аутентификации

Установка приложения на компьютер и синхронизация часов

  Сперва обязательно проверьте точное время и убедитесь, что оно верное!

Иначе ничего не выйдет. Если время на компьютере отличается от времени на смартфоне, сначала синхронизируйте время между устройствами.

Для настройки времени можно использовать программу drakclock. Запустите её (ALT+F2 и напишите drakclock) и проверьте время и часовой пояс.

Хорошим решением будет использование любого сервера времени из списка программы drakclock. Либо вы можете сами вписать любой сервер времени по вашему желанию.

Например, можно использовать наши собственные серверы времени — ntp.rosalinux.ru и ntp2.rosalinux.ru.

Рисунок 1. Синхронизация времени с помощью drakclock.

Затем установите google-authenticator:

 urpmi google-authenticator

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

Прежде чем вы установите приложение:

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

Сверьтесь с документацией на ваш телефон или планшет, чтобы установить на нём точное время.

После синхронизации времени можно установить программу.

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

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

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

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

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

 su - или sudo -i

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

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

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

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

Your new secret key is: ABCDEFGH12345678

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

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

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

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

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

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

  google-authenticator

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

Далее, как уже было описано выше, просканируйте вашим смартфоном (планшетом) ещё один QR-код или введите шестнадцатизначный ключ. Пример этой операции уже показан на рисунке 3.

Повторите операции по генерации QR-кодов столько раз, сколько потребуется.

Скорее всего, вам потребуется создать свой QR-код для каждого пользователя системы. Ведь как только вы закончите настройку, войти в систему без одноразового пароля станет невозможно.

Не забываете при создании QR-кодов каждый раз переключаться в контекст нового пользователя.

Настройка графического менеджера GDM

Если у вас установлена ОС ROSA Fresh R9 с графическим окружением Gnome, ниже вы можете прочитать, как настроить Gnome Dislay Manager (GDM) для работы с 2FA.

Для настройки GDM Вам потребуются полномочия администратора root.

Отредактируйте файл /etc/pam.d/gdm-password. Измените верхние строки, как указано в примере:

  #%PAM-1.0
  auth       required    pam_env.so
  auth       required    pam_unix.so
  auth       sufficient  pam_google_authenticator.so
  auth       sufficient  pam_succeed_if.so user ingroup nopasswdlogin

Помните, что настройки модуля PAM применяются немедленно. Никакой перезагрузки выполнять не нужно. Теперь у вас настроена 2FA для входа в графическую оболочку.

Введите первый пароль как обычно.

Рисунок 4. Ввод пароля в GDM.

Запустите приложение на вашем смартфоне, выберите учетную запись и приготовьтесь ввести одноразовый пароль.

Помните, что он действует 30 секунд. В приложении обычно имеется индикатор срока действия.

Рисунок 5. Работа генератора одноразового пароля на смартфоне.

Введите цифры с экрана смартфона в менеджер входа GDM, как только будет запрошен одноразовый пароль (TOTP).

Теперь у вас настроен вход в графическую оболочку с применением двухфакторной аутентификации.

Рисунок 6. Ввод одноразового пароля в GDM.

Однако ещё НЕ настроены:

  • вход в текстовую консоль и переключение контекста пользователя;
  • механизм sudo;
  • удаленный вход по протоколу SSH.

Если вы хотите всё это тоже настроить для применения 2FA, читайте далее.

Настройка 2FA для текстовой консоли, а также для переключения контекста пользователя

Для этой настройки вам опять потребуются полномочия администратора root. Отредактируйте файл /etc/pam.d/system-auth и приведите первые 4 строчки к следующему виду:

  auth        required      pam_env.so
  auth        required      pam_unix.so try_first_pass nullok
  auth        sufficient    pam_google_authenticator.so
  auth        required      pam_deny.so

Немедленно после этого для входа в текстовую консоль также потребуется вводить одноразовый пароль.

Рисунок 7. 2FA в текстовой консоли getty.

То же самое заработает и для переключения контекста полномочий. Например, при использовании команды su.

Рисунок 8. 2FA при переключении контекста полномочий пользователя.

Настройка 2FA для использования sudo

Потребуются полномочия администратора root:

visudo

Поменять строку

Defaults    env_reset

на

Defaults    env_reset, timestamp_timeout=0

Двухфакторная аутентификация для sudo работает уже после редактирования файла system-auth. В данном случае мы лишь сделали так, чтобы пароль при использовании sudo запрашивался каждый раз, повысив таким образом безопасность системы.

Настройка 2FA для удаленного входа по SSH

Сперва переключитесь в контекст администратора root.

В файле /etc/ssh/sshd_config найдите строку:

  UsePAM no

и измените no на yes

Должно получиться:

  UsePAM yes

Затем перезапустите службу sshd:

  systemctl restart sshd

После перезапуска службы sshd у Вас заработает двухфакторная аутентификация при использовании удалённого подключения по SSH к своему компьютеру.

Настройка 2FA в ОС ROSA Fresh с рабочим столом KDE или Plasma

Настройка двухфакторной аутентификации ROSA Fresh с окружениями рабочего стола KDE либо PLASMA практически полностью совпадает с описанной выше.

Отличия минимальны. Как обычно, не забудьте сверить время. Для настройки потребуются полномочия администратора root.

  • Сперва установите программу LightDM:
  urpmi lightdm
  • Затем отключите текущий менеджер входа и активизируйте lightdm:
  systemctl disable sddm — если вы используете Plasma 
  systemctl disable kdm — если Вы используете KDE
  systemctl enable lightdm
  • Отредактируйте файл /etc/pam.d/lightdm:

Первые три строки должны принять вид:

  auth       required    pam_env.so
  auth       required    pam_unix.so
  auth       sufficient  pam_google_authenticator.so

После этого можно будет выполнить перезагрузку и получить двухфакторную аутентификацию в графической консоли.

Процедуры настройки 2FA для входа в текстовый терминал, для переключения контекста полномочий и для работы с sudo и ssh идентичны версии для Gnome.

Известные на данный момент ошибки и способы их исправления

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

Симптомы: - пользователь не может зайти, при попытке аутентификации возникает отказ. - в домашнем каталоге пользователя образуется файл ~/.google-authenticator~

Рецепт лечения: - зайдите в систему в контексте учетной записи администратора (root) - удалите из каталога пользователя файл ~/.google-authenticator~

Существенная оговорка для специалистов по ИБ

Да, мы знаем, что, строго говоря, речь в статье выше шла не про двухфакторную (Two-factor authentication), а т. н. двухэтапную (Two-step authentication) аутентификацию.

Да, мы понимаем отличия между сертификатом, расположенным в хранилище токена (которое (хранилище) закрыто PIN-кодом), или отпечатком пальца и одноразовым паролем.

Да, мы отдаем себе отчёт, что, строго говоря, двухфакторная аутентификация должна:

а) быть строгой;

б) основываться на действительно независимом факторе, которым, вообще говоря, не является одноразовый пароль;

в) независимо проверенной (например, путём испытаний a.k.a «сертификационные испытания») и подтвержденной с помощью, например, испытательной лаборатории.

Но, с другой стороны, мы опубликовали эту статью, чтобы наши пользователи могли иметь возможность быстро и без особых усилий повысить безопасность своих данных.

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

Просим простить нам эту неточность, ибо простого пользователя необязательно погружать в тонкости терминологии и описывать отличия между двухфакторной и двухэтапной аутентификацией.

Более того, обычно, если пользователь использует телефон для просмотра OTP, а телефон предварительно требует для разблокирования ввода собственного пароля, жеста или отпечатка пальца, тогда это начинает сильно напоминать 2FA :)

С уважением, команда разработчиков ROSA Linux.