服務器banner泄漏風險


一.nginx banner泄漏風險

  響應包返回服務器標志:Server: nginx/1.8.3,需修改響應包頭返回和錯誤頁面顯示,修改后記得重啟服務器

1.修改響應包返回
  修改配置文件,之后記得重啟服務器:
  nginx 配置文件里增加 server_tokens off;
  server_tokens作用域是http server location語句塊
  server_tokens默認值是on,表示顯示版本信息,設置server_tokens值是off,就可以在所有地方隱藏nginx的版本信息。

http {
  server_tokens off; # 隱藏Nginx版本號
  ....
}

2.修改 4xx、5xx錯誤頁面

server {
    listen       80;
    server_name  www.xx.com;
    location /      {
       root   /home/wwwroot/www.xx.com/;
       index  index.html index.htm;
        # redirecet server error pages to the static page
       error_page  401         =       /error/401.html;
       error_page  403         =       /error/403.html;
       error_page  404         =       /error/404.html;
       error_page  405         =       /error/405.html;
       error_page  500         =       /error/500.html;
       error_page  502 503 504 =      /error/503.html;
    }
}

 

二.tomcat banner泄漏風險

  響應包返回服務器標志:Apache Tomcat/7.0.55,需修改響應包頭返回和錯誤頁面顯示,按如下幾步修改后記得重啟服務器

1.修改響應包返回
  vim */apache-tomcat-*/conf/server.xml,找到服務器站點配置,增加server="Server"配置,即可隱藏服務器名字和版本號:

<Connector port="8280" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" server="Server" />

2.web.xml中修改4xx、5xx錯誤頁面

<!--配置以下代碼-->
<error-page>
    <error-code>400</error-code>
    <location>/error.jsp</location>
</error-page>
<error-page>
    <error-code>403</error-code>
    <location>/error.jsp</location>
</error-page>
<error-page>
    <error-code>404</error-code>
    <location>/error.jsp</location>
</error-page>
<error-page>
    <error-code>405</error-code>
    <location>/error.jsp</location>
</error-page>
<error-page>
    <error-code>500</error-code>
    <location>/error.jsp</location>
</error-page>
<error-page>
    <error-code>502</error-code>
    <location>/error.jsp</location>
</error-page>

3.禁用堆棧等詳情顯示
  找到tomcat 的server.xml,關閉showReport和showServerInfo,避免堆棧和版本詳情顯示,找到對應域名 <Host > 節點,建議全部host節點都新增如下子節點

<Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false"/>

  實現上,經我的實踐,在Tomcat中,配置server="Server"是達不到效果的,或者說只有curl -I 服務IP:端口號能看到效果。

  可以用網上所說的修改catalina.jar文件,我實踐驗證是可以達到目的。具體步驟如下:

  a.進入tomcat的lib目錄找到catalina.jar文件

  b.unzip catalina.jar之后會多出兩個文件夾

  c.進入org/apache/catalina/util 編輯配置文件ServerInfo.properties字段來實現來更改我們tomcat的版本信息

  修改為

server.info=Apache Tomcat
server.number=0.0.0.0
server.built=Apr 2 2017 07:25:00 UTC

   將修改后的信息壓縮回jar包

# cd  /tomcat/lib
# jar uvf catalina.jar org/apache/catalina/util/ServerInfo.properties

  重啟tomcat,驗證前后截圖如下所示:

 

參考文章:https://www.cnblogs.com/meiling12/p/8435412.html

https://cloud.tencent.com/developer/article/1398912


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM