Skip to content

Latest commit

 

History

History
100 lines (76 loc) · 2.81 KB

Nginx中间件的安全与加固.md

File metadata and controls

100 lines (76 loc) · 2.81 KB

Nginx

1.常用功能

	反向代理
​	负载均衡
​	http服务器
​	正向代理

反向代理:

以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将服务器上得到的结果返回给Internet上的请求连接的客户端。

	真实的服务器不能直接被外部网络访问,所以使用一台代理服务器。

负载均衡:

分摊到多个操作单元上进行执行。例如web服务器,ftp服务器,企业关键应用,
	多台服务器,根据随机规则将请求分发到指定服务器进行处理
	一般需要配置反向代理,通过反向代理跳转到负载均衡。

负载均衡策略:

1.RR默认(Round-Robin)
	轮询调度,按时间顺序逐一分配,若服务器down,能自动剔除。
2.权重
	轮询几率,weight和访问比率成正比,用于服务器性能不均的情况。
3.ip_hash
	以上的方式,可能造成下一个请求可能分配到其他服务器。(seission断开)
	解决每个请求按照访问的ip的hash结果分配,确保每个访客固定访问一个后端服务器,解决session问题。
4.fair(第三方)
	按照服务器响应时间来分配,响应时间短的优先分配。
5.url_hash(第三方)
	按照url的hash的结果分配请求,按照url定向到同一个服务器,后端服务器为缓存时比较有效。

HTTP服务器:

静态服务器,只有静态资源的时候,同时现在流行的动静分离,也可以用nginx实现。

正向代理:(客户端)

客户端和原始服务器之间的,为了从原始服务器获得内容,客户端发送请求,代理服务器转交请求并返回内容。

2.Nginx安全检查和加固详解

1.身份鉴别

a.	以低权限启动账户身份启动服务
Unix&Linux: 
	ps -ef|grep nginx 查看进程账户是否为专用非root账号
b.	弱口令
	使用扫描器进行扫描,人工输入与用户名相同的密码

2.安全审计

a.	错误日志(日记级别:debug|info|notice|warn(建议级别)|error|crit|emerg)
	编辑nginx.conf文件(eg:/usr/local/nginx/conf/nginx.conf),去掉error_Log前面的“#”号
b.	记录访问日志
	应该设置access_log文件格式
	配置日志功能,对访问进行记录

3.资源控制

1是否限制ip访问
	敏感目录的ip
2客户端的请求读取时间
	设置body,header读取时间 超时408
3客户端保持活动的超时时间 keepalive
4响应客户端超时时间sendtimeout
5是否限制客户端下载的并发数
6.客户端的下载速度
7配置防盗链接设置
	客户端请求的referer,ip

4.其他安全

1检查是否自定义的错误信息
2检查是否隐藏nginx版本信息