Цей документ надає покрокову інструкцію з налаштування аутентифікації Google PAM на macOS для ввімкнення двофакторної аутентифікації (2FA) для входу в систему.
Попередні вимоги
- Права адміністратора: Для налаштування необхідно мати права адміністратора на системі macOS.
- Homebrew: Переконайтесь, що Homebrew встановлений. Якщо він не встановлений, зробіть це за допомогою:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
3. Google Authenticator: Встановіть додаток Google Authenticator на ваш мобільний пристрій (доступний на iOS та Android).
Крок 1: Встановлення модуля Google PAM
- Відкрийте термінал.
- Встановіть модуль PAM Google Authenticator за допомогою Homebrew:
brew install google-authenticator-libpam
Крок 2: Налаштування PAM Google Authenticator
- Перейдіть до облікового запису користувача, для якого ви хочете увімкнути 2FA:
su -
- Згенеруйте конфігураційний файл Google Authenticator, виконавши:
google-authenticator
- Дотримуйтесь підказок на екрані:
- Часові токени: Наберіть
y
для використання часових токенів. - Секретний ключ і QR-код: Запишіть ключ або відскануйте QR-код за допомогою додатка Google Authenticator.
- Коди для аварійного відновлення: Збережіть їх для відновлення доступу до облікового запису.
- Обмеження швидкості: Наберіть
y
для увімкнення обмеження швидкості. - Заборона багаторазового використання: Наберіть
y
для заборони багаторазового використання одного токена.
- Цей процес створить файл
.google_authenticator
у домашньому каталозі користувача.
Крок 3: Налаштування PAM
- Відкрийте конфігураційний файл PAM для SSH входу:
sudo nano /etc/pam.d/sshd
- Додайте наступний рядок на початок файлу:
auth required /usr/local/lib/security/pam_google_authenticator.so
- Збережіть і вийдіть з файлу.
Крок 4: Увімкнення аутентифікації за допомогою запитів-відповідей
- Відкрийте конфігураційний файл SSH:
sudo nano /etc/ssh/sshd_config
- Знайдіть і змініть наступні рядки:
ChallengeResponseAuthentication yes
UsePAM yes
-
Збережіть і вийдіть з файлу.
-
Перезапустіть службу SSH:
sudo launchctl stop com.openssh.sshd
sudo launchctl start com.openssh.sshd
Крок 5: Тестування конфігурації
- Відкрийте новий термінал або SSH-сесію і увійдіть під налаштованим користувачем.
- Вам буде запропоновано ввести:
- Ваш пароль.
- Код підтвердження з вашого додатку Google Authenticator.
- Якщо обидва значення правильні, ви успішно увійдете в систему.
Крок 6: Увімкнення локального входу в систему з 2FA
- Відкрийте конфігураційний файл PAM для локальних входів:
sudo nano /etc/pam.d/login
- Додайте наступний рядок на початок файлу:
auth required /usr/local/lib/security/pam_google_authenticator.so
-
Збережіть і вийдіть з файлу.
-
Вийдіть з системи та перевірте локальний вхід з 2FA.
Усунення неполадок
- Відсутній модуль PAM: Якщо ви бачите помилку, пов’язану з модулем PAM, перевірте шлях до встановлення:
ls /usr/local/lib/security/
- Переконайтесь, що
pam_google_authenticator.so
існує. - Коди для відновлення не працюють: Перевірте файл
.google_authenticator
у домашньому каталозі користувача та переконайтесь, що там є дійсні коди для відновлення. - Проблеми з SSH-входом: Переконайтесь, що в
/etc/ssh/sshd_config
значенняUsePAM
таChallengeResponseAuthentication
встановлені наyes
.
Примітки
- Переконайтесь, що час системи синхронізовано правильно, щоб уникнути помилок аутентифікації.
- Періодично перевіряйте дозволи на файл
.google_authenticator
:
chmod 400 ~/.google_authenticator
- Використовуйте 2FA для всіх адміністративних облікових записів для підвищення безпеки.
Ця налаштування забезпечує додаткову безпеку для вашої системи macOS, вимагаючи як пароль, так і код для двофакторної аутентифікації при вході в систему.
Перекладено з: Setting Up PAM Google Authentication for 2FA on macOS