Nginx安全加固配置手册

本文档详细介绍了Nginx的安全加固配置,包括版本统一、禁用autoindex、关闭服务器标记、自定义缓存、设置timeout、限制访问方法、日志切割和IP限制等方面,旨在提升Nginx服务器的安全性,防止潜在的渗透攻击。
摘要由CSDN通过智能技术生成

 

第1章   概述

1.1   目标

Nginx(发音同engine x)是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,由俄罗斯的程序设计师Igor Sysoev所开发,可以稳定地运行在Linux、Windows等操作系统上,其特点是占用内存少,并发能力强。

同其他软件一样,Nginx也出现过一些安全漏洞,利用这些漏洞可以对Web服务器进行渗透攻击。本文主要描述互联网架构中常用产品Nginx 的配置和安全加固工作,最终用以指导系统实施。

1.2   预期读者

本文档用于指导系统工程师进行系统实施工作,架构师和系统工程师应该通读本文档,选择适当方式用于自己的系统。

第2章    产品介绍

Nginx是一个轻量级,高性能的Web服务器/反向代理和电子邮件代理(IMAP/POP3),它可以运行在UNIX,GNU/Linux,BSD变种,MACOS X,Solaris和Microsoft Windows上。根据Netcraft的调查数据显示,互联网上11%的域名都使用了Nginx Web服务器。Nginx是解决C10K问题的服务器之一,与传统服务器不一样,Nginx不依赖于线程处理请求,相反,它使用了一个更具扩展性的事件驱动(异步)架构。Nginx在很多高流量网站上得到了应用,如WordPress,Hulu,Github和SourceForge。

第3章   Nginx的安全加固配置

3.1  Nginx版本统一

查看当前系统中部署的Nginx版本。

1

2

[root@localhostnginx]# nginx -v

nginxversion: nginx/1.2.5

 

 

3.2   禁用autoindex

确保nginx.conf配置文件上禁用autoindex模块,即没有autoindex的配置。

加固检查:

确保nginx.conf配置文件上禁用autoindex,即autoindex off或者没有配置autoindex。

 

3.3   关闭服务器标记

如果开启的话(默认情况下)所有的错误页面都会显示服务器的版本和信息。nginx.conf配置如下:

1

2

3

4

5

6

7

http{

    include       naxsi_core.rules;

    include      mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    server_tokens off;

    ... ...

 

加固检查:

1

2

3

4

5

6

7

8

9

[root@localhost~]# curl -I http://localhost/wavsep

HTTP/1.1301 Moved Permanently

Server:nginx

Date:Tue, 31 Dec 2013 23:20:29 GMT

Content-Type:text/html

Content-Length:178

Location:http://localhost/wavsep/

Connection:keep-alive

Keep-Alive:timeout=30

 

其中,http://localhost/wavsep表示一个应用URL

 

3.4   自定义缓存

设置自定义缓存以限制缓冲区溢出攻击。nginx.conf配置如下:

1

2

3

4

5

6

7

8

9

http{

    ... ...

    server{

        ... ...

        client_body_buffer_size  16K;

       client_header_buffer_size  1k;

        client_max_body_size  1m;

       large_client_header_buffers  4  8k;

        ... ...

 

     注:上述的参数不是最优参数,仅供参考。

加固检查:

     确保server模块中配置了上述标红的配置。

 

3.5   设置timeout

设置timeout设低来防御DOS攻击,nginx.conf配置如下:

1

2

3

4

5

6

http {

    ... ...

       client_body_timeout   10;

       client_header_timeout  30;

       keepalive_timeout     30  30;

       send_timeout          10;

 

加固检查:

1

2

3

4

5

6

7

8

9

[root@localhost~]# curl -I http://localhost/wavsep

HTTP/1.1301 Moved Permanently

Server:nginx

Date:Tue, 31 Dec 2013 23:20:29 GMT

Content-Type:text/html

Content-Length:178

Location:http://localhost/wavsep/

Connection:keep-alive

Keep-Alive:timeout=30

 

其中,http://localhost/wavsep表示一个应用URL

 

 

3.6   配置日志

鉴于日志的输出格式还未确定,目前暂时先使用Nginx默认的日志格式。nginx.conf配置如下:

http {

    ......

    log_format  main  '$remote_addr - $remote_user [$time_local]"$request" ''$status $body_bytes_sent "$http_referer"''"$http_user_agent" "$http_x_forwarded_for"';

    access_log logs/ access.log  main;

    ... ...

加固检查:

     查看Nginx的日志文件是否存在,并且访问应用时,有日志输出。

[root@srv-dfh526~]# tail -3f /usr/local/nginx/logs/dfh.smartcity.com.log

Client_IP:10.5.220.27  Client_IP_For:- - - [10/Jan/2014:10:42:20+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值