Операційна система 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.