next up previous contents
Next: 網頁存取用戶 Up: 安全 Apache 2.4 網站 Previous: 前言   Contents

隱藏敏感訊息

  1. 當網頁失敗或使用特定工具查詢時,系統會回傳 apache 版本、作業系統/版本等訊息,甚至安裝的模組等。攻擊者可利用這些訊息,比較快找到攻擊的方式。Apache 2.4 預設已不會再出現版本訊息。
    [root@kvm3 ~]# curl -s http://kvm3.deyu.wang/abc
    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html><head>
    <title>404 Not Found</title>
    </head><body>
    <h1>Not Found</h1>
    <p>The requested URL /abc was not found on this server.</p>
    </body></html>
    
  2. 在 httpd.conf 中設定,ServerTokens 的參數有 Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full,自己試著使用這幾種參數,看網站回應。ServerSignature off 關閉系統生成的頁面的頁腳訊息在 apache 2.4 版也要開啟才能出現 server 訊息。
    [root@kvm3 ~]# vim /etc/httpd/conf/httpd.conf 
    [root@kvm3 ~]# grep ^Server[TS] /etc/httpd/conf/httpd.conf 
    ServerTokens Full
    ServerSignature on
    
  3. 重新啟動 httpd 服務。
    [root@kvm3 ~]# systemctl restart httpd.service
    
  4. 再連線 kvm3 不存在的檔案 /dyw/sadas,回應訊息中出現 server apache 版本、作業系統等訊息。
    [root@kvm3 ~]# curl -s http://kvm3.deyu.wang/dyw/sadas
    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html><head>
    <title>404 Not Found</title>
    </head><body>
    <h1>Not Found</h1>
    <p>The requested URL /dyw/sadas was not found on this server.</p>
    <hr>
    <address>Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5 Server at kvm3.deyu.wang Port 80</address>
    </body></html>
    
  5. 將 ServerTokens 改成 Prod,再連線 kvm3 不存在的檔案 /dyw/sadas,回應訊息只出現 server 網頁産品名稱 apache。
    [root@kvm3 ~]# vim /etc/httpd/conf/httpd.conf 
    [root@kvm3 ~]# grep ^Server[TS] /etc/httpd/conf/httpd.conf 
    ServerTokens Prod
    ServerSignature on
    [root@kvm3 ~]# systemctl restart httpd.service 
    [root@kvm3 ~]# curl -s http://kvm3.deyu.wang/dyw/sadas
    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html><head>
    <title>404 Not Found</title>
    </head><body>
    <h1>Not Found</h1>
    <p>The requested URL /dyw/sadas was not found on this server.</p>
    <hr>
    <address>Apache Server at kvm3.deyu.wang Port 80</address>
    </body></html>
    



2017-10-27