Nginx漏洞修复
作者:mmseoamin日期:2024-02-20

1、漏洞

去掉在请求响应头中存在的信息

Server: nginx

X-Content-Type-Options: nosniff

X-Frame-Options: SAMEORIGIN

X-XSS-Protection: 1;mode=block

Nginx漏洞修复,在这里插入图片描述,第1张

修复方法

在Nginx的配置文件中的 server 标签内增加一下配置

server_tokens off;

add_header X-Frame-Options SAMEORIGIN;

add_header X-XSS-Protection ‘1;mode=block’;

add_header X-Content-Type-Options nosniff;

Nginx漏洞修复,在这里插入图片描述,第2张

检测到目标主机可能存在缓慢的HTTP拒绝服务攻击

1、在Nginx配置文件的http标签中增加以下参数

http{
	...
	#指定每一个 TCP 链接最多能够保持多长时间
	keepalive_timeout  60;  
	#为请求头分配一个缓冲区
	client_header_buffer_size 1m;
	#此指令规定了用于读取大型客户端请求头的缓冲区的最大数量和大小
	large_client_header_buffers 4 8k;
	#此指令禁用NGINX缓冲区并将请求体存储在临时文件中
	client_body_in_file_only clean;
	limit_conn_zone $binary_remote_addr zone=addr:10m;
	limit_req_zone $binary_remote_addr zone=one:10m rate=200r/s;
	...
}

1、在Nginx配置文件的server 标签中增加以下参数

http{
	server {
		...
		
		limit_conn addr 5;
		limit_req zone=one burst=5 nodelay;
		#服务端向客户端传输数据的超时时间
		send_timeout 30s;
		#设置NGINX能处理的最大请求主体大小
		client_max_body_size 2M;
		#请求头分配一个缓冲区
		client_body_buffer_size 16k;
		#指定客户端与服务端建立连接后发送 request body 的超时时间
		client_body_timeout 20s;
		#客户端向服务端发送一个完整的 request header 的超时时间
		client_header_timeout 10s;
		#该指令设置NGINX将完整的请求主体存储在单个缓冲区中
		client_body_in_single_buffer on;
		#此指令指定存储请求正文的临时文件的位置
		client_body_temp_path 1 2;
		
		...
	}
}

检测到目标URL存在http host头攻击漏洞

多个合法Host头可用空格隔开:www.xxxx.com www.cccc.com 127.0.0.1

http{
	server {
		...
		#使用server_name指令指定预期的合法Host头
		server_name www.xxxx.com
		...
	}
}