Двухфакторная аутентификация в Ubuntu с Google Authenticator

Безопасность icon

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

Еще по теме: Двухфакторная аутентификация в Linux для SSH и терминала

Двухфакторная аутентификация в Ubuntu

Одним из самых простых механизмов реализации подобной двухшаговой аутентификаций является сервис Google Authenticator, который выдает зависящий от времени жетон аутентификации для дополнения к существующему паролю. Как только вы интегрируете этот сервис с вашим логином Ubuntu, перед тем, как вы сможете войти в систему, в дополнение к вашему пользовательскому паролю вам будет предложен один из таких жетонов с быстро истекающим сроком действия. Google Authenticator будет генерировать эти ОТР на вашем устройстве Android, как только будет настроен для каждого пользователя на вашем компьютере Ubuntu.

Установка Google Authenticator в Ubuntu

Для реализации двухфакторной аутентификации вам необходим Google Authenticator РАМ (Pluggable Authentication Module). РАМ — это механизм для подключения разных форм аутентификации к компьютеру Linux.

Модуль Google Authenticator РАМ доступен в официальных репозиториях Ubuntu. Чтобы установить пакет на Ubuntu. перейдите в терминал и введите

Настройка Google Authenticator в Ubuntu

Установив пакет, войдите в систему от имени пользователя, которого вы хотите защитить двухфакторной аутентификацией. Затем в окне терминала введите

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

  1. Первый вопрос вполне безопасный: вы должны разрешить команде обновлять ваш файл Google Authenticator, ответив «да».
  2. Затем у вас спросят, хотите ли вы ограничить использование жетона, что заставит вас при логине ждать 30 секунд. Хотя поначалу это может показаться неудобным, вы должны согласиться на это ограничение ради максимальной защиты.
  3. Далее у вас попросят разрешения увеличить временное окно для использования маркера с 1:30 минут по умолчанию до 4:00 минут. Хотя вы можете ответить на этот вопрос «да» во избежание проблем, введите «нет» для обеспечения максимальной безопасности. Если позднее вы заметите какие-то проблемы, перезапустите команду и увеличьте время, как предлагается.
  4. Четвертый, и последний, вопрос предложит вам ограничить количество попыток ввода кода аутентификации, Вы определенно должны включить эту опцию, поскольку она помогает предотвратить атаки методом подбора.
Двухфакторная аутентификация в Ubuntu с Google Authenticator
Двухфакторная аутентификация в Ubuntu с Google Authenticator

Сборник кодексов

По завершении Googte Authenticator предоставит вам секретный ключ и несколько аварийных промежуточных кодов. Вы должны записать эти аварийные коды в надежном месте. Они помогут вам войти в систему, если вы потеряете телефон Android, который генерирует ОТР. Каждый код можно использовать только однажды.

Команда google-authenticator также сгенерирует QR-код, который вы сможете просканировать с помощью своего телефона Android, Поскольку мы пока что не установили приложение, на данным момент просто запишите 16-значный код

Теперь повторите этот процесс для каждого пользователя вашего компьютера. Попросите всех, кто имеет доступ к вашему компьютеру, войти в свою учетную запись и запустить google-authenticator, и запишите их аварийные коды вместе с 16-значным кодом.

После создания кода аутентификации для всех пользователей, пора настроить процесс входа в систему для работы с Google Authenticator, Всё, что вам надо сделать — это отредактировать один файл для добавления двухфакторной аутентификации ко всем попыткам входа в систему. Снова запустите терминал и введите

Прокрутите до конца файла и добавьте строку

Потом сохраните файл и выйдите. Здесь мы попросили Ubuntu для всех попыток войти в систему использовать модуль Google Authenticator РАМ. Часть nullok в конце просит Ubuntu разрешить пользователю вход, даже если он не запустил команду google-authenticalor для настройки двухфакторной аутентификации.

Итак, если у вас два пользователя, Даша и Паша, и вы настроили Google Authentication только для Даша, то Паша благодаря nullok сможет войти в систему просто со своим паролем, а вот Даше придется вводить ОТР,

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

Перспективный гаджет

Теперь ваша установка Ubuntu полностью готова к двухфакторной аутентификации. Чтобы получить ОТР, вы должны установить приложение Google Authenticator на свой мобильный телефон Android из Google Play Store.

После установки приложения вам придется добавить учетные записи для всех пользователей, для которых вы запускали команду google-authenticator на своем Ubuntu.

Двухфакторная аутентификация linux
Двухфакторная аутентификация в Ubuntu

Для этой цели откройте приложение, и в главном его окне нажмите на кнопку меню (три вертикальных точки в правом верхнем углу).

Здесь нажмите на Setup account [Настроить учетную запись] и выберите опцию «Ввод предоставленного ключа».

После этого введите 16-значный секретный ключ, который вы записали ранее после работы с инструментом Google Authenticator.

Дайте учетной записи имя (неплохо будет использовать имя того пользователя, кому она принадлежит: в дальнейшем это облегчит вам распознавание) и нажмите на кнопку Add.

Ну вот, вы настроили двухфакторную аутентификацию на вашем компьютере. Приложение Android будет генерировать для вас новый 6-значный код каждые 30 секунд. При входе в вашу учетную запись или вводе команды sudo Ubuntu предложит вам ввести ваш пароль, а затем вам будет предложено ввести код аутентификации. В этот момент введите цифры, которые вы видите в приложении Android.

Успешно войдя в систему, отредактируйте файл

и удалите опцию nullok, чтобы вход в систему осуществлялся через Google Authenticator.

Не забудьте также создать учетную запись в приложении Android для всех пользователей в вашей установке Ubuntu

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

Безопасность SSH с Google Authenticator

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

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

Далее вы должны использовать Google Authenticator для SSH посредством редактирования файла настройки SSH РАМ с помощью

Прокрутите вниз до конца и добавьте к файлу следующую строку:

Слово nullok сообщает РАМ, что этот метод аутентификации является опциональным. Это позволяет пользователям без ключа Google Authenticator войти в систему с помощью своего ключа SSH.

Помните, что это лишь защитная мера, чтобы не оказаться заблокированным, если что-то пойдет не так в процессе настройки. Однако как только вы его протестируете и все пройдет успешно, сгенерируйте ключ для всех пользователей SSH и удалите nullok с конца этой строки, чтобы вход в систему в обязательном порядке проходил через ОТР.

После редактирования файла SSH РАМ пора настроить SSH на поддержку этого типа аутентификации. Откройте файл настройки SSH для редактирования с помощью

Найдите строку, где написано ChallengeResponseAuthentication и установите ее значение в Yes. Если такой строки нет, добавьте ее вручную.

Сохраните и закройте файл, затем перезапустите SSH, чтобы перезагрузить файлы настройки командой sudo service ssh restart.

Теперь вам при каждой попытке входа в систему через SSH будет предлагаться вводить свой пароль и код Google Authenticator.

Еще по теме:

Дима (Kozhuh)

Эксперт в кибербезопасности. Работал в ведущих компаниях занимающихся аналитикой компьютерных угроз. Анонсы новых статей в Телеграме.

Добавить комментарий