Как запретить прямой IP-доступ к веб-серверу Nginx
Nginx по умолчанию не блокирует доступ к вашему веб-серверу, если он осуществляется напрямую по IP-адресу вашего сервера. Рассмотрим как можно изменить это поведение, чтобы запретить прямой IP-доступ.
Если оставить прямой доступ по IP-адресу, то это может привести к нежелательному доступу со стороны поисковых ботов и сторонних доменов. Чтобы ограничить доступ и принимать запросы только для разрешённых доменов, нужно выполнить соответствующую настройку виртуального хоста.
Создайте конфигурацию заглушки
Откройте файл /etc/nginx/sites-available/default
(или создайте новый) и добавьте для протокола HTTP следующий блок:
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
return 444;
}
Для HTTPS добавьте аналогичный блок:
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
server_name _;
ssl_reject_handshake on;
return 444;
}
ssl_reject_handshake on;
, которая позволяет отклонять TLS-запросы, если они не соответствуют заданному доменному имени.В случае если используется версия Nginx старше 1.19.4
, то вам необходимо будет создать самоподписанный SSL-сертификат и использовать его в конфигурации заглушки.
Генерируем самоподписной сертификат:
openssl req -newkey rsa:2048 -nodes -keyout /etc/ssl/default.key -x509 -days 3650 -out /etc/ssl/default.pem -subj "/CN=nginx" -addext "subjectAltName=DNS:nginx" -addext "basicConstraints=CA:FALSE" -addext "subjectKeyIdentifier=hash"
На выходе получим файлы:
/etc/ssl/default.key
/etc/ssl/default.pem
Для HTTPS блок описания будет выглядеть следующим образом:
server {
listen 443 default_server;
listen [::]:443 default_server;
ssl_certificate /etc/ssl/default.pem;
ssl_certificate_key /etc/ssl/default.key;
server_name _;
return 444;
}
Примените изменения
Перезапустите Nginx:
systemctl restart nginx
Теперь сервер будет игнорировать запросы, поступающие напрямую на его IP-адрес, возвращая код 444 (разрыв соединения). Это повысит безопасность и исключит нежелательный трафик.
ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ
Обсуждение
Нет комментариев.