安全是每个系统都需要考虑的关键因素,Nginx在这方面提供了丰富的功能,使我们可以就实际情形做很精细调整。这些功能包括防信息暴露、客户端访问限制、通讯加密、防DDos攻击、防爬虫、防非法引用及防非法域名请求等。
目录
防信息暴露
关闭版本号
Nginx默认会在HTTP的响应头中包含服务器版本号信息,攻击者可以利用此信息进行攻击和细节披露。可关闭版本号的显示,指令如下:
server_tokens off;
关闭目录列表
如果Nginx的目录没有默认的index文件,会自动展示目录下的文件列表,这可能会暴露敏感信息。可以通过禁止自动目录列表的方式来阻止此行为。
示例代码:
location / {
autoindex off ;
}
客户端访问限制
Nginx可以对客户端进行访问限制。
限制客户端地址访问
直接通过allow或deny限制某些客户端地址的访问。指令如下:
allow address | CIDR | unix: | all;
deny address | CIDR | unix: | all;
允许或不允许客户端访问。
参数:address:直接IP地址形式;CIDR:无类别域间路由;unix: unix套接字;all-所有
示例:
location / {
# 将按顺序检查规则,直到找到第一个匹配项
# 单独ip 192.168.1.1可访问
deny 192.168.1.1;
# CIDR: 192.168.1.1-192.168.1.255(掩码:255.255.255.0)可访问
allow 192.168.1.0/24;
# CIDR: 10.1.1.1-10.1.255.255(掩码:255.255.0.0)可访问 (注意不包括10.1.0.x)
allow 10.1.1.0/16;
# IPv6网络2001:0db8::/32进行访问
allow 2001:0db8::/32;
# 符合上述之外的不可访问
deny all;
}
国家或城市位置限制访
可以通过国家或城市位置限制访问,详见精通Nginx(12)-流量管控
禁止不安全的HTTP方法
默认情况下,Nginx支持多种HTTP方法,包括GET, HEAD, POST, PUT, DELETE, MKCOL, COPY,

本文介绍了Nginx在安全管控方面的重要功能,包括关闭版本号显示、禁止目录列表、限制客户端访问、启用HTTPS加密、防DDoS攻击、防非法引用和防爬虫策略。通过示例代码详细阐述了如何配置Nginx以增强服务器安全性,同时强调了最佳实践,如限制系统访问权限、定期巡检和备份数据。
最低0.47元/天 解锁文章
395

被折叠的 条评论
为什么被折叠?



