Як я можу додатково захистити свою систему за допомогою двофакторної аутентифікації?


16

Назва в значній мірі говорить про це. Я чула більше про двофакторну автентифікацію, одноразові паролі, жорсткі маркери та інші покращені функції безпеки. Завдяки зниженню безпеки використання лише пароля, я хочу знати, як я можу покращити свою безпеку на Ubuntu. Я використовую 14.04 LTS з Unity.

Відповіді:


30

Ви можете використовувати модуль автентифікації з відкритим кодом Pluggable Authentication (PAM), створений Google, відомий як Google Authenticator . Цей модуль доступний як у стандартних сховищах, так і в GitHub, щоб ви могли будувати з джерела. У поєднанні з однойменним додатком для Android, iOS або Blackberry він створює часові, чутливі до часу коди для автентифікації разом із паролем. Оскільки це модуль PAM, його можна скинути майже в будь-якому місці . Давайте розпочнемо!

Встановлення

Для початку ви можете встановити PAM з наступним:

sudo apt-get install libpam-google-authenticator

Просто!

Налаштування:

Після його встановлення ви також хочете встановити відповідний мобільний додаток для Android, iOS або Blackberry (залежно від вашої мобільної платформи). Кожен з них марний без іншого. Після того, як у вас є додаток, необхідний для вашого мобільного пристрою, запустіть наступне в терміналі:

google-authenticator

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

Після завершення початкової налаштування ви побачите дуже великий QR-код у своєму терміналі, а також деяку іншу інформацію. Рядок із написом "Ваш новий секретний ключ є:" - це дуже потрібний рядок, якщо ви не хочете використовувати QR-код для сполучення свого пристрою, тому не закривайте це вікно, поки ви не налаштуєте! "Коди подряпин", які це дає вам, також важливі, оскільки вони - те, що ви використовуєте для входу, якщо втратите мобільний пристрій. Запишіть їх і зберігайте десь у безпеці.

Тепер на мобільному пристрої відкрийте додаток Google Authenticator і виберіть "Налаштувати акаунт". Ви можете або сканувати створений QR-код, або вибрати "Використовувати наданий ключ". Якщо ви скануєте QR-код, все буде автоматично збережено під обліковим записом під назвою "your_user @ your_host". Однак якщо ви виберете "Використовувати наданий ключ", вам доведеться ввести ім'я, ключ та тип маркера вручну. Ім'я може бути будь-яким, що ви хочете. Ключ був би секретним ключем, створеним раніше. Тип буде за замовчуванням на основі часу. Після налаштування ви побачите обліковий запис на головній панелі програми Google Authenticator, а також таймер у формі кола поруч. Цей таймер вичерпується кожні 30 секунд, і створюється новий код.

Увімкнути це!

Тут приходить магія. Оскільки це модуль PAM, його можна використовувати в різних місцях. Я sudoпройду додавання автентифікації до запитів, входу в SSH та входу в lightdm. Однак, прочитавши цей підручник, ви зможете ввімкнути його в іншому місці на основі тих же прийомів.

SSH

Я роблю це спочатку, тому що є додатковий крок. Перше, що вам потрібно зробити - це відредагувати ваш конфігураційний файл SSH:

gksudo gedit /etc/ssh/sshd_config

Шукайте рядок із написом:

ChallengeResponseAuthentication no

і змінити "ні" на "так".

Тепер вам потрібно відредагувати модуль PAM для ssh:

gksudo gedit /etc/pam.d/sshd

В самому кінці цього файлу додайте наступний рядок:

auth required pam_google_authenticator.so nullok

Аргумент "nullok" повідомляє системі не запитувати код підтвердження, якщо користувач не встановив двофакторну автентифікацію. Після цього редагуйте, продовжуйте і перезапускайте службу ssh:

sudo service ssh restart

sudo Запити

Відредагуйте файл PAM для sudo:

gksudo gedit /etc/pam.d/sudo

Додайте наступний рядок у самому кінці:

auth required pam_google_authenticator.so nullok

Тепер кожен sudoзапит запитує код підтвердження, а також пароль.

LightDM (GUI-вхід)

Відредагуйте файл PAM для LightDM:

gksudo gedit /etc/pam.d/lightdm

Додайте наступний рядок у самому кінці:

auth required pam_google_authenticator.so nullok

Це воно! Щоразу, коли ви входите через GUI, він запитає код підтвердження після вашого пароля.

Системний і TTY вхід

Навіть якщо ви ввімкнули вищезазначені методи, він все одно не запитає код підтвердження, якщо ви перейдете на TTY з CTRL+ ALT+ F#. Щоб виправити це, відредагуйте common-authфайл PAM:

gksudo gedit /etc/pam.d/common-auth

і додайте наступний рядок до самого кінця:

auth required pam_google_authenticator.so nullok

Примітка: Оскільки цей загальнодоступний файл включений у всі інші файли типу auth, вам потрібно видалити потрібні рядки для аутентифікації з інших файлів. В іншому випадку він запитає код підтвердження двічі і не дозволить вам увійти після цього.

Підбивання

Як ви могли бачити, додати цю автентифікацію досить легко. Якщо ви використовуєте диспетчер дисплеїв, відмінний від LightDM, ви можете легко змінити лінійку lightdm вище, відповідно. Оскільки ваш мобільний пристрій і ваша система вже поділилися цим секретним ключем, вони завжди повинні бути синхронізовані. Для цієї налаштування немає взаємодії з серверами Google чи будь-яким іншим Інтернет-ресурсом. Навіть якщо обидва пристрої були повністю офлайн, коди підтвердження, які відображаються у вашій програмі, будуть правильними. Щоразу, коли вам потрібно буде увійти через один із увімкнених методів, просто переконайтеся, що ви відкрили свій мобільний додаток і захопили поточний код підтвердження.

Веселитися !!


Коментуючи подальші замітки. Добре написано! +1 =)
Терранс

+1 - це і справді класно, і добре написано.
Натан Осман

1
І тоді ваш телефон вирішить, що він більше не має потужності, і хоче його відключити. :) +1
Rinzwind

Ось для чого потрібні коди подряпин, @Rinzwind: D

Додано в інструкції щодо включення двофакторного на TTY.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.