Як увімкнути двофакторну аутентифікацію в Linux для входу

Операційна система Linux відома тим, що для виконання будь-яких дій, пов’язаних із системними змінами, потрібен пароль. Ця особливість робить Linux більш захищеною, ніж багато інших операційних систем, хоча і не є абсолютно ідеальною. Надійний пароль та правильна конфігурація sudoers є важливими, але іноді їх недостатньо для забезпечення повної безпеки. Тому фахівці з кібербезпеки все частіше впроваджують двофакторну аутентифікацію (2FA) в Linux.

У цій статті ми розглянемо, як налаштувати двофакторну аутентифікацію в Linux за допомогою Google Authenticator.

Інсталяція

Можливість використання Google Authenticator в Linux реалізована завдяки модулю PAM. Цей модуль можна використовувати з GDM (та іншими менеджерами входу). Ось як встановити його на вашу систему Linux.

Важлива примітка: Перш ніж почати налаштування модуля, завантажте додаток Google Authenticator з Google Play Store або Apple App Store. Він є ключовим елементом цього процесу.

Ubuntu

sudo apt install libpam-google-authenticator

Debian

sudo apt-get install libpam-google-authenticator

Arch Linux

В Arch Linux підтримка модуля аутентифікації Google PAM не передбачена “з коробки”. Користувачам потрібно самостійно завантажити та скомпілювати модуль з AUR. Ви можете отримати останню версію PKGBUILD або використовувати AUR-помічника.

Fedora

sudo dnf install google-authenticator

OpenSUSE

sudo zypper install google-authenticator-libpam

Інші дистрибутиви Linux

Вихідний код Google Authenticator для Linux та плагіну libpam доступний на Github. Якщо ви використовуєте незвичайний дистрибутив, відвідайте цю сторінку. Інструкції на сайті допоможуть вам зібрати необхідні компоненти з джерела.

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

Для коректної роботи PAM з Google Authenticator потрібно внести зміни до конфігураційного файлу. Відкрийте термінал та виконайте:

sudo nano /etc/pam.d/common-auth

Файл `common-auth` містить багато коментарів та інструкцій щодо налаштування аутентифікації. Проігноруйте їх та прокрутіть до розділу “# here are the per-package modules (the “Primary” block)”. Перемістіть курсор вниз, натисніть Enter, щоб створити новий рядок, і введіть:

auth required pam_google_authenticator.so

Збережіть зміни, натиснувши Ctrl+O, та вийдіть з Nano, натиснувши Ctrl+X.

Далі, в терміналі введіть `google-authenticator`. Вам буде запропоновано відповісти на кілька питань.

Перше питання: “Чи бажаєте ви, щоб токени аутентифікації були залежні від часу?”. Відповіжте “так”, натиснувши `y`.

Після відповіді програма покаже секретний ключ та коди екстреної допомоги. Запишіть їх, це важливо.

Наступні три питання – відповідайте “так”, потім “ні” і “ні”.

Останнє питання про обмеження швидкості. Якщо увімкнути, то буде дозволено лише 3 невдалі спроби входу за 30 секунд. З міркувань безпеки, рекомендуємо відповісти “Так”, але це залежить від ваших потреб.

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

З боку Linux налаштування завершено. Тепер необхідно налаштувати програму Google Authenticator на вашому телефоні. Відкрийте програму та оберіть “Ввести ключ налаштування”. З’явиться екран “Ввести дані облікового запису”.

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

Вхід в систему

Ви налаштували Google Authenticator на Linux та вашому мобільному пристрої. Тепер все має працювати належним чином. Під час входу, оберіть користувача у GDM (або LightDM). Система запитає код аутентифікації. Відкрийте додаток Google Authenticator на телефоні та введіть код, який з’явиться на екрані.

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

Важливо: Налаштування Google Authenticator впливає не лише на менеджер входу. Кожен раз, коли користувач намагається отримати root-доступ, використовувати sudo або виконати будь-яку дію, яка потребує пароля, буде потрібен код аутентифікації.

Висновок

Двофакторна аутентифікація є важливим доповненням до безпеки вашого робочого столу Linux. Її використання значно ускладнює несанкціонований доступ до вашої системи.

Хоча 2FA може іноді викликати незручності, наприклад, якщо ви не встигаєте ввести код, це все одно є бажаною функцією для будь-якого користувача Linux.