Гибридная авторизация в Nginx (IP-арес+Пароль)

Оцените статью

Итого, вводные данные. Что нам надо в продолжении экспериментов с WordPress. Прикроем доступ из дикого интернета к нашему стэйджу. Откроем доступ с известных нам ip-адресов, а все прочие запросы поставим на basic-авторизацию.

Устанавливаем утилиту для управления паролями basic-auth для Nginx и Apache она одна.

# aptitude install apache2-utils

Генерируем пароль.

# htpasswd -c /etc/nginx/.htpasswd admin

Если требуется добавить пользователя в существующий файл, то просто убираем флаг -c.

# htpasswd /etc/nginx/.htpasswd admin2

Файл с паролями мы создали и теперь немного модернизируем Nginx Vhost-конфигурацию и разрешим беспарольный доступ с определенных IP-адресов, а для всех адресов не включенных в белый список доступ к сайту по паролю.

Например, чистая Basic-авторизация будет выглядеть вот так.

    auth_basic           "Administrator’s Area";
    auth_basic_user_file /etc/nginx/.htpasswd;

А с использованием белых списков немного сложнее.

    satisfy any;
    allow 37.194.5.244/32;
    allow 10.212.1.0/24;
    allow 127.0.0.1;
    deny  all;
    auth_basic           "Administrator’s Area";
    auth_basic_user_file /etc/nginx/.htpasswd;

Еще можно сделать satisfy all и тогда потребуется совпадение двух условий и адреса и еще пароль будет запрашиваться, но это уже какой-то хардкор.

Похожие записи

Интеграция DevOps (Gitea+Concourse) стека с FreeIPA

По старой схеме продолжаем проект по миграции на отечественное ПО, а именно на RedOS и сегодня настроим интеграцию Gitea и Concourse c доменом FreeIPA. Настройки Gitea для авторизации при помощи…

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читать еще статьи

Интеграция DevOps (Gitea+Concourse) стека с FreeIPA

Интеграция DevOps (Gitea+Concourse) стека с FreeIPA

Шпаргалка по основным командам консоли Ubuntu Linux

Шпаргалка по основным командам консоли Ubuntu Linux

Интеграция Grafana и FreeIPA (авторизация при помощи учетных данных IPA-домена)

Интеграция Grafana и FreeIPA (авторизация при помощи учетных данных IPA-домена)

Linux синхронизация времени (Установка настройка и диагностика chrony)

Linux синхронизация времени (Установка настройка и диагностика chrony)

Интеграция Zabbix и FreeIPA (авторизация пользователей домена)

Интеграция Zabbix и FreeIPA (авторизация пользователей домена)

Собираем корпоративный AI-чат: от выбора модели до работающего прототипа

Собираем корпоративный AI-чат: от выбора модели до работающего прототипа