nginx服务器配置安全维护,Nginx安全加固CHECKLIST

3.2.1以非特权用户启动服务

名称:

以非特权用户启动服务

实施目的:

以特定用户运行服务,不要使用系统管理员帐号启动apache。

问题影响:

越权使用造成非法攻击

系统当前状态:

使用系统命令或使工具查看Nginx进程是否使用管理员或使特权用户启动的。

User nobody;

Worker_processes 8;

实施步骤:

一般情况下,Nginx是由Root来安装和运行的。如果Nginx:worker

进程具有Root用户特权,那么它将给系统的安全构成很大的威胁,应

确保Nginx进程以最可能低的权限用户来运行。通过修改nginx.conf

文件中的下列选项,以Nobody用户运行worker达到相对安全的目的。

备份nginx.conf文件

修改:

取消nobody对所有目录的的读取权限,然后添加对网站目录的读取权限

chmod o-r –R /

chmod o+r –R html/

取消nobody对于/bin/sh的执行权限

chmod 776 /bin/sh

重启nginx

回退方案:

恢复nginx.conf文件,重启nginx

备注:

3.2.2限定非法主机访问

名称:

控制哪些主机能够访问服务器

实施目的:

防止恶意攻击

问题影响:

非法访问

系统当前状态:

通过查看nginx.conf配置文件确定系统当前状态

实施步骤:

在nginx配置文件中强制限定允许某个网段或者某个IP接入服务器。如:

location /

{

deny 192.168.1.1;

allow 192.168.1.0/24;

allow 10.1.1.0/16;

deny

all;

}

回退方案:

恢复原始状态。

备注:

3.2.3限定非法文件访问

名称:

限定非法文件访问

实施目的:

禁止nginx访问某类型的文件。

问题影响:

非法访问,恶意攻击。

系统当前状态:

通过查看nginx.conf配置文件确定系统当前状态。

实施步骤:

编辑nginx.conf配置文件

如,Nginx下禁止访问*.txt文件

location ~* \.(txt|doc)${

root /var/InfiNET/web /test;

deny all;

}

禁止下载以点开头的文件

location ~ /\..+ {

deny all;

}

回退方案:

恢复原始状态。

备注:

3.2.4限定非法目录访问

名称:

限定非法目录访问

实施目的:

禁止nginx访问Web目录之外的任何文件。的IP地址等内容。

问题影响:

非法访问,恶意攻击。

系统当前状态:

通过查看nginx.conf配置文件确定系统当前状态

实施步骤:

编辑nginx.conf配置文件,location ~ ^/(WEB-INF)/

{deny all;

}

回退方案:

恢复原始状态。

备注:

1、判定条件

无法访问Web目录之外的文件。

2、检测操作

访问服务器上不属于Web目录的一个文件,结果应无法显示。

参考:http://wiki.codemongers.com/NginxHttpAccessModule#allow

3.2.5禁用或是修改默认服务端口

名称:

更改默认端口

实施目的:

更改nginx服务器默认端口,防止非法访问。

问题影响:

恶意攻击。

系统当前状态:

通过查看nginx.conf配置文件确定系统当前状态

实施步骤:

(1)修改nginx.conf配置文件,更改默认端口到9999。server{

listen9999;

server_namelocalhost;

(2)重启Nginx服务

回退方案:

恢复原始状态。

备注:

1、判定条件

使用9999端口页面成功

2、检测操作

登陆http://ip:9999

3.2.6隐藏服务器版本号

名称:

隐藏服务器版本号

实施目的:

隐藏服务器版本号,防备Nginx的版本漏洞被扫描到并利用

问题影响:

恶意攻击。

系统当前状态:

通过查看nginx.conf配置文件确定系统当前状态

实施步骤:

(1)修改nginx.conf配置文件,增加server_tokens off http {

server_tokens off;

(2)重启Nginx服务

回退方案:

恢复原始状态。

备注:

访问一个不存在的页面,错误页面404NotFound中不显示nginx版本号

3.2.7控制缓冲区溢出攻击

名称:

控制缓冲区溢出攻击

实施目的:

控制缓冲区大小,防备溢出攻击

问题影响:

恶意攻击。

系统当前状态:

通过查看nginx.conf配置文件确定系统当前状态

实施步骤:

1、参考配置操作

(1)修改nginx.conf配置文件,修改缓冲区大小

## Start: Size Limits & Buffer

Overflows ## client_body_buffer_size1K; client_header_buffer_size 1k;

client_max_body_size 1k; large_client_header_buffers 2 1k;

## END: Size Limits & Buffer Overflows

##

(2)重启Nginx服务

回退方案:

恢复原始状态。

备注:

3.2.8控制并发连接数

名称:

控制并发连接数

实施目的:

控制并发连接数,防备Ddos攻击

问题影响:

恶意攻击。

系统当前状态:

查看nginx.conf文件,查看并发连接数是否已作限制

实施步骤:

(1)修改nginx.conf配置文件,修改单个IP的并发连接数大小

### 1m can handle 32000 sessions limit_zone

slimits $binary_remote_addr 5m; limit_conn slimits 64;

上面表示限制每个远程IP地址的客户端同时打开连接不能超过64个。

(2)重启Nginx服务

回退方案:

恢复原始状态。

备注:

3.2.9限制可用的请求方法

名称:

限制可用的请求方法

实施目的:

限制可用的请求方法,防备利用应用漏洞攻击

问题影响:

恶意攻击。

系统当前状态:

通过查看nginx.conf配置文件确定系统当前状态

实施步骤:

(1)下面的指令将过滤只允许GET,HEAD和POST方法:

## Only allow these request methods ##

if($request_method !~ ^(GET|HEAD|POST)$ ) {

return444;

}

(2)重启Nginx服务

回退方案:

恢复原有配置

备注:

3.2.10漏洞补丁

名称:

补丁修复

实施目的:

升级Nginx修复漏洞

问题影响:

容易引起恶意攻击。

系统当前状态:

使用nginx -V查看版本。

实施步骤:

到http://nginx.org/en/security_advisories.html查看公开的Nginx漏洞。

回退方案:

备注:

升级补丁的风险极高,如当前版本没有漏洞不建议升级

3.2.11操作系统配置

名称:

操作系统配置

实施目的:

配置操作系统保护Web服务器

问题影响:

控制攻击危害

系统当前状态:

查看防火墙、用户权限以及Selinux配置

实施步骤:

1、Nginx以 用

户nginx运

行 。 但 是 根目录(/nginx或者/usr/local/ nginx/html)不应该设置属于用户nginx或对用户nginx可写。

2、配置操作系统防火墙限制,下面的例子中只允许user用户在外面使用

80连接。如果某个IP在60秒尝试连接到80端口的次数超过了15,iptables将会丢掉来自它的入站连接。

iptables-A OUTPUT -o eth0 -m owner

--uid-owner vivek -p tcp --dport 80

-m state --state NEW,ESTABLISHED-j ACCEPT

iptables -A INPUT -p tcp –dport 80 -i eth0

-m state –state NEW -m recent

–update

–seconds 60  –hitcount 15 -j DROP service

iptables save

3、配置SELinux策略加固Nginx,从项目主页(http://sourceforge.net/projects/selinuxnginx/)下载SELinux策略包并安装。

回退方案:

备注:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值