Как запретить прямой IP-доступ к веб-серверу Nginx
Nginx по умолчанию не блокирует доступ к вашему веб-серверу, если он осуществляется напрямую по IP-адресу вашего сервера. Рассмотрим как можно изменить это поведение, чтобы запретить прямой IP-доступ.
JUQwJTk1JUQxJTgxJUQwJUJCJUQwJUI4JTIwJUQwJUJFJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUIyJUQwJUI4JUQxJTgyJUQxJThDJTIwJUQwJUJGJUQxJTgwJUQxJThGJUQwJUJDJUQwJUJFJUQwJUI5JTIwJUQwJUI0JUQwJUJFJUQxJTgxJUQxJTgyJUQxJTgzJUQwJUJGJTIwJUQwJUJGJUQwJUJFJTIwSVAtJUQwJUIwJUQwJUI0JUQxJTgwJUQwJUI1JUQxJTgxJUQxJTgzJTJDJTIwJUQxJTgyJUQwJUJFJTIwJUQxJThEJUQxJTgyJUQwJUJFJTIwJUQwJUJDJUQwJUJFJUQwJUI2JUQwJUI1JUQxJTgyJTIwJUQwJUJGJUQxJTgwJUQwJUI4JUQwJUIyJUQwJUI1JUQxJTgxJUQxJTgyJUQwJUI4JTIwJUQwJUJBJTIwJUQwJUJEJUQwJUI1JUQwJUI2JUQwJUI1JUQwJUJCJUQwJUIwJUQxJTgyJUQwJUI1JUQwJUJCJUQxJThDJUQwJUJEJUQwJUJFJUQwJUJDJUQxJTgzJTIwJUQwJUI0JUQwJUJFJUQxJTgxJUQxJTgyJUQxJTgzJUQwJUJGJUQxJTgzJTIwJUQxJTgxJUQwJUJFJTIwJUQxJTgxJUQxJTgyJUQwJUJFJUQxJTgwJUQwJUJFJUQwJUJEJUQxJThCJTIwJUQwJUJGJUQwJUJFJUQwJUI4JUQxJTgxJUQwJUJBJUQwJUJFJUQwJUIyJUQxJThCJUQxJTg1JTIwJUQwJUIxJUQwJUJFJUQxJTgyJUQwJUJFJUQwJUIyJTIwJUQwJUI4JTIwJUQxJTgxJUQxJTgyJUQwJUJFJUQxJTgwJUQwJUJFJUQwJUJEJUQwJUJEJUQwJUI4JUQxJTg1JTIwJUQwJUI0JUQwJUJFJUQwJUJDJUQwJUI1JUQwJUJEJUQwJUJFJUQwJUIyLiUyMCVEMCVBNyVEMSU4MiVEMCVCRSVEMCVCMSVEMSU4QiUyMCVEMCVCRSVEMCVCMyVEMSU4MCVEMCVCMCVEMCVCRCVEMCVCOCVEMSU4NyVEMCVCOCVEMSU4MiVEMSU4QyUyMCVEMCVCNCVEMCVCRSVEMSU4MSVEMSU4MiVEMSU4MyVEMCVCRiUyMCVEMCVCOCUyMCVEMCVCRiVEMSU4MCVEMCVCOCVEMCVCRCVEMCVCOCVEMCVCQyVEMCVCMCVEMSU4MiVEMSU4QyUyMCVEMCVCNyVEMCVCMCVEMCVCRiVEMSU4MCVEMCVCRSVEMSU4MSVEMSU4QiUyMCVEMSU4MiVEMCVCRSVEMCVCQiVEMSU4QyVEMCVCQSVEMCVCRSUyMCVEMCVCNCVEMCVCQiVEMSU4RiUyMCVEMSU4MCVEMCVCMCVEMCVCNyVEMSU4MCVEMCVCNSVEMSU4OCVEMSU5MSVEMCVCRCVEMCVCRCVEMSU4QiVEMSU4NSUyMCVEMCVCNCVEMCVCRSVEMCVCQyVEMCVCNSVEMCVCRCVEMCVCRSVEMCVCMiUyQyUyMCVEMCVCRCVEMSU4MyVEMCVCNiVEMCVCRCVEMCVCRSUyMCVEMCVCMiVEMSU4QiVEMCVCRiVEMCVCRSVEMCVCQiVEMCVCRCVEMCVCOCVEMSU4MiVEMSU4QyUyMCVEMSU4MSVEMCVCRSVEMCVCRSVEMSU4MiVEMCVCMiVEMCVCNSVEMSU4MiVEMSU4MSVEMSU4MiVEMCVCMiVEMSU4MyVEMSU4RSVEMSU4OSVEMSU4MyVEMSU4RSUyMCVEMCVCRCVEMCVCMCVEMSU4MSVEMSU4MiVEMSU4MCVEMCVCRSVEMCVCOSVEMCVCQSVEMSU4MyUyMCVEMCVCMiVEMCVCOCVEMSU4MCVEMSU4MiVEMSU4MyVEMCVCMCVEMCVCQiVEMSU4QyVEMCVCRCVEMCVCRSVEMCVCMyVEMCVCRSUyMCVEMSU4NSVEMCVCRSVEMSU4MSVEMSU4MiVEMCVCMC4=
Создайте конфигурацию заглушки
Откройте файл /etc/nginx/sites-available/default
(или создайте новый) и добавьте для протокола HTTP следующий блок:
server {
listen 80 default_server;
JTIwJTIwJTIwJTIwbGlzdGVuJTIwJTVCJTNBJTNBJTVEJTNBODAlMjBkZWZhdWx0X3NlcnZlciUzQg==
server_name _;
return 444;
JTdE
Для HTTPS добавьте аналогичный блок:
c2VydmVyJTIwJTdC
JTIwJTIwJTIwJTIwbGlzdGVuJTIwNDQzJTIwc3NsJTIwZGVmYXVsdF9zZXJ2ZXIlM0I=
JTIwJTIwJTIwJTIwbGlzdGVuJTIwJTVCJTNBJTNBJTVEJTNBNDQzJTIwc3NsJTIwZGVmYXVsdF9zZXJ2ZXIlM0IlMjAlMjAlMjAlMjA=
JTIwJTIwJTIwJTIwc2VydmVyX25hbWUlMjBfJTNC
JTIwJTIwJTIwJTIwc3NsX3JlamVjdF9oYW5kc2hha2UlMjBvbiUzQg==
JTIwJTIwJTIwJTIwcmV0dXJuJTIwNDQ0JTNC
}
ssl_reject_handshake on;
, которая позволяет отклонять TLS-запросы, если они не соответствуют заданному доменному имени.В случае если используется версия Nginx старше 1.19.4
, то вам необходимо будет создать самоподписанный SSL-сертификат и использовать его в конфигурации заглушки.
JUQwJTkzJUQwJUI1JUQwJUJEJUQwJUI1JUQxJTgwJUQwJUI4JUQxJTgwJUQxJTgzJUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQwJUIwJUQwJUJDJUQwJUJFJUQwJUJGJUQwJUJFJUQwJUI0JUQwJUJGJUQwJUI4JUQxJTgxJUQwJUJEJUQwJUJFJUQwJUI5JTIwJUQxJTgxJUQwJUI1JUQxJTgwJUQxJTgyJUQwJUI4JUQxJTg0JUQwJUI4JUQwJUJBJUQwJUIwJUQxJTgyJTNB
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
JUQwJTk0JUQwJUJCJUQxJThGJTIwSFRUUFMlMjAlRDAlQjElRDAlQkIlRDAlQkUlRDAlQkElMjAlRDAlQkUlRDAlQkYlRDAlQjglRDElODElRDAlQjAlRDAlQkQlRDAlQjglRDElOEYlMjAlRDAlQjElRDElODMlRDAlQjQlRDAlQjUlRDElODIlMjAlRDAlQjIlRDElOEIlRDAlQjMlRDAlQkIlRDElOEYlRDAlQjQlRDAlQjUlRDElODIlRDElOEMlMjAlRDElODElRDAlQkIlRDAlQjUlRDAlQjQlRDElODMlRDElOEUlRDElODklRDAlQjglRDAlQkMlMjAlRDAlQkUlRDAlQjElRDElODAlRDAlQjAlRDAlQjclRDAlQkUlRDAlQkMlM0E=
c2VydmVyJTIwJTdC
JTIwJTIwbGlzdGVuJTIwNDQzJTIwZGVmYXVsdF9zZXJ2ZXIlM0I=
listen [::]:443 default_server;
ssl_certificate /etc/ssl/default.pem;
JTIwJTIwc3NsX2NlcnRpZmljYXRlX2tleSUyMCUyRmV0YyUyRnNzbCUyRmRlZmF1bHQua2V5JTNC
server_name _;
JTIwJTIwcmV0dXJuJTIwNDQ0JTNC
}
Примените изменения
JUQwJTlGJUQwJUI1JUQxJTgwJUQwJUI1JUQwJUI3JUQwJUIwJUQwJUJGJUQxJTgzJUQxJTgxJUQxJTgyJUQwJUI4JUQxJTgyJUQwJUI1JTIwTmdpbnglM0E=
Теперь сервер будет игнорировать запросы, поступающие напрямую на его IP-адрес, возвращая код 444 (разрыв соединения). Это повысит безопасность и исключит нежелательный трафик.
ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ
Обсуждение
Нет комментариев.