Як налаштувати аутентифікацію за паролем з Nginx на Rocky Linux 9

Вступ

Захист веб-ресурсів за допомогою пароля – це популярний та базовий метод, що вимагає від користувача введення логіну та пароля для отримання доступу до веб-сайту чи застосунку. У цій інструкції ми розглянемо, як налаштувати аутентифікацію паролем на сервері Rocky Linux 9, використовуючи Nginx.

Необхідні умови

  • Сервер з Rocky Linux 9
  • Встановлений веб-сервер Nginx
  • Права адміністратора (root) або привілейований користувач

Кроки з налаштування захисту паролем

1. Створення файлу з паролями

Спочатку необхідно створити файл, який міститиме список користувачів та їхні захешовані паролі. Для цього скористаємося утилітою htpasswd.

Для створення першого користувача, скористайтеся командою:

htpasswd -c /etc/nginx/conf/passwords ім'я_користувача

Замініть ім'я_користувача на бажане ім’я. Після введення команди вас попросять ввести та підтвердити пароль.

2. Налаштування області захисту

Далі необхідно визначити область, яка буде захищена паролем. Відредагуйте файл конфігурації Nginx /etc/nginx/conf.d/protected-area.conf та додайте наступний блок:


location /protected-area {
auth_basic "Доступ обмежено";
auth_basic_user_file /etc/nginx/conf/passwords;
}

У цьому коді:

  • /protected-area – це шлях до області, яка буде захищена.
  • "Доступ обмежено" – це заголовок вікна аутентифікації, яке з’явиться перед запитом пароля.
  • /etc/nginx/conf/passwords – шлях до файлу з паролями.

3. Перевірка налаштувань та перезапуск Nginx

Після внесення змін до конфігураційного файлу, перевірте його на наявність помилок, використовуючи команду:

nginx -t

Якщо виявлені помилки, виправте їх та перевірте конфігурацію ще раз.

Після успішної перевірки перезапустіть Nginx за допомогою команди:

systemctl restart nginx

Тепер, при спробі доступу до шляху /protected-area, користувача буде запитано ввести ім’я та пароль.

Методи аутентифікації Nginx

1. Базова аутентифікація

Найпростіший метод, при якому ім’я користувача та пароль надсилаються у відкритому вигляді. Це робить цей метод небезпечним, оскільки паролі не шифруються.

2. Дайджест-аутентифікація

Більш захищений метод, який використовує хешування для захисту паролів. Це робить його більш надійним, ніж базова аутентифікація.

3. JWT-аутентифікація

JSON Web Token (JWT) – токен, що використовується для передачі інформації між сервером і клієнтом. JWT-аутентифікація має такі переваги, як вхід без пароля та простіша автентифікація.

Вибір методу аутентифікації

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

Управління користувачами

Керування списком користувачів, які мають доступ до захищеної області, відбувається через інструмент htpasswd.

Для додавання нового користувача скористайтеся командою:

htpasswd /etc/nginx/conf/passwords ім'я_нового_користувача

Для видалення користувача скористайтеся командою:

htpasswd -D /etc/nginx/conf/passwords ім'я_користувача_якого_видалити

Висновок

Налаштування захисту паролем в Nginx на Rocky Linux 9 – це простий та ефективний метод захисту ваших веб-ресурсів від несанкціонованого доступу. Ми розглянули різні методи аутентифікації та надали детальну інструкцію щодо налаштування базової аутентифікації. Важливо вибирати правильний метод аутентифікації та належним чином управляти користувачами для забезпечення високого рівня безпеки.

Часті питання

1. Які переваги захисту паролем?
Захист паролем є простим у налаштуванні та зрозумілим для користувачів, забезпечуючи базовий рівень безпеки веб-сайтів.

2. Які існують альтернативні методи аутентифікації?
Альтернативні методи включають двофакторну аутентифікацію, аутентифікацію на основі сертифікатів та біометричну аутентифікацію.

3. Як часто необхідно змінювати паролі?
Рекомендується регулярно змінювати паролі для підвищення рівня безпеки. Частота зміни може залежати від вимог до безпеки ресурсу.

4. Як посилити безпеку аутентифікації паролем?
Використання складних паролів, застосування політики блокування облікових записів та реалізація двофакторної аутентифікації посилюють безпеку.

5. Як налаштувати журналювання аутентифікації?
Журнал аутентифікації налаштовується за допомогою директиви auth_log у файлі конфігурації Nginx.

6. Чи можна захистити паролем окремі файли або каталоги?
Так, за допомогою директиви location у конфігурації Nginx можна захистити окремі файли або каталоги.

7. Як інтегрувати аутентифікацію паролем із зовнішніми системами?
Nginx підтримує модулі аутентифікації, які дозволяють інтегрувати аутентифікацію з такими системами, як LDAP або Active Directory.

8. Які найкращі практики для аутентифікації за паролем?
Використання складних паролів, політики блокування облікових записів, регулярна зміна паролів та використання надійних методів їх зберігання.