赞
踩
本加固文档适用于nginx中间件。明确了nginx安全配置方面的基本要求。
操作目的 | 防止大多数系统root级攻击 |
检查方法 | #getsebool –a 查看SELinux设置项 |
加固方法 | # getsebool -a | lessgetsebool -a | grep offgetsebool -a | grep o 然后使用setsebool命令开启需要的配置项 |
记录 | |
备注 | 开启SELinux后,在RHEL或CentOS上通常会增加2-8%的系统开销。 |
操作目的 | 通过mount参数提供最低权限 |
检查方法 | cat nginx.conf|grep autoindex |
加固方法 | 为/html/php文件创建独立的分区,例如,创建一个/dev/sda5分区挂载在/ngnix上,确定/ngnix使用了noexec,nodev和nosetuid权限挂载。下面是一个挂载实例: LABEL=/nginx /nginx ext3 defaults,nosuid,noexec,nodev 1 2 注意:需要使用fdisk和mkfs.ext3命令创建一个新分区。 |
记录 | |
备注 |
操作目的 | 禁止目录列出 |
检查方法 | 查看nginx配置文件是否禁用autoindex,即autoindex off或者没有配置autoindex |
加固方法 | 在nginx配置文件中 修改 autoindex on 为 autoindex off |
记录 | |
备注 |
操作目的 | 禁止显示服务器的版本和信息 |
检查方法 | # curl -I 某个应用URL, 查看是否错误页面都会显示服务器的版本和信息 |
加固方法 | 修改nginx.conf配置文件如下: http{ include naxsi_core.rules; include mime.types; default_type application/octet-stream; sendfile on; server_tokens off; ... ... |
记录 | |
备注 |
操作目的 | 设置自定义缓存以限制缓冲区溢出攻击 |
检查方法 | # |
加固方法 | 修改nginx.conf配置文件如下: http{ ... ... server{ ... ... client_body_buffer_size 16K; client_header_buffer_size 1k; client_max_body_size 1m; large_client_header_buffers 4 8k; ... ... 上述的参数不是最优参数,仅供参考 |
记录 |
操作目的 | 设置timeout设低来防御DOS攻击 |
检查方法 | 查看nginx.conf 主配置文件是否设置timeout参数 |
加固方法 | 修改nginx.conf配置文件如下: http { ... ... client_body_timeout 10; client_header_timeout 30; keepalive_timeout 30 30; send_timeout 10; |
记录 |
操作目的 | 设置timeout设低来防御DOS攻击 |
检查方法 | #tail -3f /usr/local/nginx/logs/dfh.smartcity.com.log查看Nginx的日志文件是否存在,并且访问应用时,有日志输出。 |
加固方法 | 鉴于日志的输出格式还未确定,目前暂时先使用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; ... ... |
记录 |
操作目的 | 拒绝除了post和get方式请求 |
检查方法 | 尝试使用不同的请求方式是否能访问 |
加固方法 | 修改nginx.conf配置文件如下: server{ ... ... if($request_method !~ ^(GET|HEAD|POST)$) { return404; } ... ... |
记录 |
操作目的 | 限制某些IP地址的客户端访问 |
检查方法 | 查看nginx.conf 主配置文件 |
加固方法 | 如下范例: location/ { deny 192.168.1.1; allow 192.168.1.0/24; allow 10.1.1.0/16; allow 2001:0db8::/32; deny all; } 注:规则按照顺序依次检测,直到匹配到第一条规则。 在这个例子里,IPv4的网络中只有 10.1.1.0/16 和 192.168.1.0/24允许访问,但 192.168.1.1除外, 对于IPv6的网络,只有2001:0db8::/32允许访问。 |
记录 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。