运行命令nmap -A -sS mysite.com
,显示服务器是Nginx,并且用作代理。是否可以隐藏此信息?
命令输出:80/tcp open http nginx (reverse proxy)
我使用的是 Nginx 1.18.0。在我的 nginx.conf 中,我进行了以下设置(一些非安全设置已被隐藏。“...”表示。):
load_module modules/ngx_http_headers_more_filter_module.so;
user www-data;
pid /run/nginx.pid;
worker_processes auto;
worker_rlimit_nofile 65535;
events {
multi_accept on;
worker_connections 65535;
}
http {
...
more_set_headers 'Server: none';
server_tokens off;
...
# Connection header for WebSocket reverse proxy
map $http_upgrade $connection_upgrade {
default upgrade;
"" close;
}
# Load configs
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
答案1
尝试删除more_set_headers
指令并再次运行 Nmap。我注意到,当我在 nginx.conf 文件中设置指令时,Nmap 将 nginx 检测为反向代理,但当我注释掉指令时,它却无法检测到它。