Двухфакторная аутентифікація в ubuntu з google authenticator

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

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

Одним з найпростіших механізмів реалізації подібної двокрокового аутентифікації є сервіс Google Authenticator, який видає залежить від часу жетон аутентифікації для доповнення до існуючого паролю. Як тільки ви інтегруєте цей сервіс з вашим логіном Ubuntu, перед тим, як ви зможете увійти в систему, на додаток до вашого призначеного для користувача паролю вам буде запропоновано один з таких жетонів з швидко закінчуються терміни дії. Google Authenticator буде генерувати ці ОТР на вашому пристрої Android, як тільки буде налаштований для кожного користувача на вашому комп'ютері Ubuntu.

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

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

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

$ Sudo apt-get install libpam-google-authenticator

Налаштування Google Authenticator в Ubuntu

Встановивши пакет, увійдіть в систему від імені користувача, якого ви хочете захистити двухфакторной аутентификацией. Потім у вікні терміналу введіть

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

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

Збірник кодексів

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

Після створення коду аутентифікації для всіх користувачів, пора налаштувати процес входу в систему для роботи з Google Authenticator, Все, що вам треба зробити - це відредагувати один файл для додавання двофакторної аутентифікації до всіх спроб входу в систему. Знову запустіть термінал і введіть

$ Sudo nano /etc/pam.d/common-auth

Прокрутіть до кінця файлу і додайте рядок

auth required pam_google_authenticator.so nullok

Потім збережіть файл і вийдіть. Тут ми попросили Ubuntu для всіх спроб увійти в систему використовувати модуль Google Authenticator РАМ. Частина nullok в кінці просить Ubuntu дозволити користувачеві вхід, навіть якщо він не запустив команду google-authenticalor для настройки двофакторної аутентифікації.

Отже, якщо у вас два користувача, Даша і Паша, і ви налаштували Google Authentication тільки для Даша, то Паша завдяки nullok зможе увійти в систему просто зі своїм паролем, а ось Даші доведеться вводити ОТР,

Пам'ятайте, однак, що хоча ця гнучкість вельми зручна при тестуванні Google Authenticator після того, як все почне працювати нормально і у вас не буде проблем зі входом в систему з двухфакторной аутентификацией, бажано зробити так, щоб всі користувачі входили в систему тільки через Googte Authenticator , видаливши частину nullok для цієї команди.

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

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

Двухфакторная аутентифікація в ubuntu з google authenticator
Двухфакторная аутентифікація в Ubuntu

Для цієї мети відкрийте додаток, і в головному його вікні натисніть на кнопку меню (три вертикальні крапки в правому верхньому куті).

Тут натисніть на Setup account [Налаштувати обліковий запис] і виберіть опцію «Введення наданого ключа».

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

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

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

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

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

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

Безпека SSH з Google Authenticator

Замість локального входу в систему багато хто воліє налаштувати двухфакторную аутентифікацію тільки для віддаленого входу через SSH.

Для цього спочатку переконайтеся, що ви згенерували код для користувача, який повинен увійти як віддалений користувач.

Далі ви повинні використовувати Google Authenticator для SSH можна зробити редагуючи файлу налаштування SSH РАМ за допомогою

Прокрутіть вниз до кінця і додайте до файлу наступний рядок:

auth required pam_google_authenticator.so nullok

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

Після редагування файлу SSH РАМ пора налаштувати SSH на підтримку цього типу аутентифікації. Відкрийте файл налаштування SSH для редагування за допомогою

sudo nano / etc / ssh / sshd_config

Знайдіть рядок, де написано ChallengeResponseAuthentication і встановіть її значення в Yes. Якщо такого рядка немає, додайте її вручну.

Збережіть і закрийте файл, а після перезапуску SSH, щоб перезавантажити файли настройки командою sudo service ssh restart.

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