Nginx авторизация по паролю и логину

Nginx доступ по паролю

Nginx — это мощный веб-сервер, который предоставляет различные возможности для настройки безопасности веб-приложений. Одним из способов обеспечения безопасности является авторизация пользователей по паролю и логину с использованием HTTP Basic Auth. В статье покажу, как защитить паролем директорию на сайте, внедрив аутентификацию по имени пользователя и паролю с помощью Nginx HTTP basic auth.

Еще по теме: HTTP-сервер с шифрованием TLS за 5 минут!

Nginx авторизация по паролю и логину

Nginx HTTP Basic Auth — это механизм аутентификации пользователей по логину и паролю, встроенный в веб-сервер Nginx.

Возможности Nginx HTTP Basic Auth:

  • Использует протокол HTTP Basic Auth, при котором логин и пароль передаются в незашифрованном виде в заголовке Authorization.
  • Позволяет настроить авторизацию для отдельных локаций, каталогов или файлов на веб-сервере.
  • Логины и пароли хранятся в текстовом файле в захешированном виде.
  • Nginx сверяет логин и пароль пользователя с данными из этого файла.
  • При совпадении данных пользователю разрешается доступ, иначе выдается ошибка 401 Unauthorized.
  • Прост в настройке через директивы auth_basic, auth_basic_user_file.
  • Подходит для быстрой и простой защиты доступа к веб-ресурсам.
  • Не обеспечивает высокий уровень безопасности, т.к. передача логина и пароля не зашифрована.

HTTP Basic Auth часто используется в корпоративных веб-приложениях, внутренних сервисах, для доступа к админ-панелям и т.д. Базовая аутентификация HTTP позволяет запретить доступ к защищаемому разделу/папке другим лицам, не имеющим учетных данных для входа в систему.

Установка пакета apache2-util

Для начала необходимо установить пакет apache2-utils, который содержит пакет htpasswd, позволяющий создавать имя пользователя и пароль. Для установки пакета выполните команду:

Создание файла пароля

На этом этапе необходимо создать файл, в котором будут храниться комбинации имени пользователя и пароля. Это можно сделать с помощью команды:

Замените Jack на ваше имя пользователя, а private — на директорию или раздел, который вы хотите защитить паролем.

Создание файла пароля для доступа по паролю Nginx

После выполнения команды появится запрос на установку пароля для выбранного имени пользователя, введите его дважды.

Для проверки файла можно воспользоваться командой cat.

Nginx авторизация по паролю и логину настройка

На приведенном выше скрине видно, что файл содержит имя пользователя и зашифрованный пароль.

Настройка базовой HTTP-авторизации

Откройте файл конфигурации Nginx с помощью текстового редактора (в моем случае редактор nano):

Добавьте следующую строку в раздел location.

Nginx авторизация по паролю и логину настройка

location /wp-admin — будет защищена паролем область /wp-admin, так что при переходе по адресу mysite.com/wp-admin будет предложено ввести имя пользователя и пароль.

auth_basic_user_file — путь, по которому расположен файл htpasswd.

После добавления конфигурации нажмите CTRL  X для сохранения файла и перезагрузите Nginx командой.

Теперь перейдем в веб-браузер и наберем webtest.com/wp-admin.

Nginx доступ по паролю

У меня открылась форма входа, в которую необходимо ввести правильные учетные данные, если я хочу получить доступ к содержимому.

Заключение

HTTP Basic Auth — простой и удобный способ быстро настроить авторизацию на веб-сайте. Он позволяет легко ограничить доступ к контенту по паролю. Но имейте ввиду, он не обеспечивает достаточную безопасность, т.к. передача логина и пароля не зашифрована.

ПОЛЕЗНЫЕ ССЫЛКИ:

QUASAR

Этичный хакер и компьютерный ниндзя. Новые статьи в нашей Телеге!

Добавить комментарий