等保三级要求隐藏版本号、限制非必要HTTP方法、统一错误响应:Nginx/Apache/Tomcat需关闭Server头,仅允GET/HEAD/POST/PUT/DELETE/PATCH,禁用默认错误页并配置简洁自定义页。

等保三级要求系统对外暴露的信息越少越好,隐藏版本号、限制非必要HTTP方法、统一错误响应,是基础但关键的三项Web层加固动作。这些操作不改变业务逻辑,却能显著压缩攻击面,满足等保“安全计算环境”中“边界防护”与“入侵防范”的控制项。
隐藏服务版本号(Nginx / Apache / Tomcat)
默认返回的Server头会暴露软件名称和版本,如Server: nginx/1.20.1或Server: Apache/2.4.6 (CentOS),便于攻击者匹配已知漏洞。必须关闭或模糊化。
-
Nginx:在
http或server块中添加server_tokens off;;执行nginx -t校验后nginx -s reload -
Apache:编辑
httpd.conf,设置ServerTokens Prod和ServerSignature Off -
Tomcat:修改
conf/server.xml,在Connector中添加server="Apache"(伪标识),并删除conf/web.xml中default-servlet的showVersion参数
限制HTTP方法(只允许可信方法)
除GET、HEAD、POST、PUT、DELETE外,OPTIONS、TRACE、CONNECT等方法易被用于信息探测或HTTP隧道攻击,等保三级明确要求“最小化开放接口能力”。
-
Nginx:在
location块内添加if ($request_method !~ ^(GET|HEAD|POST|PUT|DELETE|PATCH)$) { return 405; } -
Apache:在站点配置或
.htaccess中加入LimitExcept GET POST HEAD PUT DELETE PATCH段,并设为Deny from all -
Spring Boot应用:可通过
@Configuration类注册WebMvcConfigurer,重写addInterceptors,对非法method返回405
统一自定义错误页面(禁用默认报错信息)
默认错误页(如Tomcat的404、500页)会泄露路径、容器类型、JVM版本甚至堆栈,违反等保“安全审计”中“防止敏感信息泄露”要求。
- 准备静态HTML文件:
/usr/share/nginx/html/404.html、500.html等,内容简洁无技术细节 -
Nginx:配置
error_page 404 /404.html;、error_page 500 502 503 504 /50x.html;,并确保location /404.html允许公开访问 -
Tomcat:在
conf/web.xml的</web-app>前插入<error-page><error-code>404</error-code><location>/404.html</location></error-page>等条目 - 验证方式:手动请求不存在路径(如
/xxx/xxx)或触发空指针异常,确认返回的是自定义页且无堆栈、无服务器标识

















