服务器配置安全测试是WEB安全评估的关键,一般关注信息泄露、传输安全、访问控制及资源防护等方面。
信息泄露控制
检查服务器响应头是否暴露敏感信息。Server头应去除Nginx/Apache详细版本号,防止攻击者针对特定版本漏洞进行利用。错误页面需自定义,避免向用户返回系统路径或堆栈信息。某金融系统因Nginx配置缺失server_tokens off;指令,暴露内部IP地址及OpenSSL版本。
传输安全配置
HTTPS强制启用TLS 1.2以上协议,禁用SSLv3及TLS 1.0。密码套件优先配置ECDHE算法,禁用CBC模式弱加密。通过Qualys SSL Labs测试评级需达到A+。Apache配置需设置SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1,Nginx配置ssl_protocols TLSv1.2 TLSv1.3;。
访问控制
限制HTTP方法至必要范围。Nginx配置limit_except GET POST { deny all; }阻断PUT/DELETE方法。目录遍历防护需设置autoindex off;。文件权限控制禁止执行上传目录中的脚本,Apache配置php_flag engine off于上传路径。
资源请求
设置连接超时与请求大小限制。Nginx配置client_body_timeout 10s; client_header_timeout 10s; client_max_body_size 10M;防止慢速攻击与大数据包攻击。频率限制配置limit_req_zone防御CC攻击,单IP每秒请求数不超过50次。
头部增强安全
配置CSP策略防止XSS攻击:add_header Content-Security-Policy "default-src 'self';"。启用HSTS强制HTTPS访问:add_header Strict-Transport-Security "max-age=63072000" always;。X-Frame-Options需设置为DENY防止点击劫持。
日志监控
访问日志记录完整请求信息,错误日志记录级别设置为warn。日志格式包含客户端IP、请求方法、状态码、User-Agent及响应时间。某次安全审计通过分析日志发现扫描行为:单一IP在300秒内发起2000次请求探测不同URL。
测试中需使用专业工具验证:Nmap扫描开放端口,OpenVAS检测配置漏洞,SSLscan检查加密强度。