Домашня » як » Як захистити SSH за допомогою двохфакторної автентифікації Google Authenticator

    Як захистити SSH за допомогою двохфакторної автентифікації Google Authenticator

    Хочете захистити ваш сервер SSH за допомогою простої у використанні двофакторної аутентифікації? Компанія Google надає необхідне програмне забезпечення для інтеграції системи одноразового пароля (TOTP), заснованої на Google Authenticator, з сервером SSH. Під час підключення вам потрібно буде ввести код з телефону.

    Генератор кодів Google не "телефонує додому" до Google - вся робота відбувається на сервері SSH і на телефоні. Насправді, Генератор кодів Google повністю відкритий, тому ви можете навіть перевірити його вихідний код самостійно.

    Встановіть Google Authenticator

    Щоб реалізувати багатофакторну аутентифікацію за допомогою Google Authenticator, нам знадобиться модуль PAM з відкритим вихідним кодом Google Authenticator. PAM означає "модуль аутентифікації, що підключається" - це спосіб легко підключити різні форми аутентифікації до системи Linux.

    Репозиторії програмного забезпечення Ubuntu містять простий у встановленні пакет для модуля PAM Google Authenticator PAM. Якщо у вашому дистрибутиві Linux немає пакета для цього, вам доведеться завантажити його зі сторінки завантаження Google Authenticator у Google Code і скомпілювати його самостійно.

    Щоб встановити пакет на Ubuntu, виконайте таку команду:

    sudo apt-get install libpam-google-authenticator

    (Це лише встановить модуль PAM в нашій системі - нам доведеться активувати його для входу SSH вручну.)

    Створіть ключ автентифікації

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

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

    Генератор кодів Google надасть вам секретний ключ і кілька "кодів аварійних скретчей". Запишіть коди аварійних скреттів десь безпечно - їх можна використовувати лише один раз, і вони призначені для використання, якщо ви втратите свій телефон.

    Введіть секретний ключ у програмі Google Authenticator на своєму телефоні (офіційні програми доступні для Android, iOS та Blackberry). Ви також можете скористатися функцією сканування штрих-коду - перейдіть до URL-адреси, розташованої у верхній частині виводу команди, і можете сканувати QR-код камерою телефону.

    Тепер на телефоні буде постійно змінюватися код підтвердження.

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

    Активуйте Google Authenticator

    Далі вам знадобиться перевірка автентичності Google для входу до системи SSH. Для цього відкрийте вікно /etc/pam.d/sshd файлу у вашій системі (наприклад, з sudo nano /etc/pam.d/sshd і додайте до файлу наступний рядок:

    auth потрібно pam_google_authenticator.so

    Далі відкрийте вікно / etc / ssh / sshd_config Знайдіть файл ChallengeResponseAuthentication рядок і змініть його таким чином:

    ChallengeResponseAuthentication так

    (Якщо ChallengeResponseAuthentication рядок не існує, додайте вищезгаданий рядок до файлу.)

    Нарешті, перезавантажте сервер SSH, щоб зміни вступили в силу:

    sudo служба ssh перезавантаження

    Під час спроби входу через SSH вам буде запропоновано ввести пароль і код Генератора Google.