• 網站設定所導致的網路安全風險與防護建議

    這篇文章主要探討網站相關的系統測試定所隱藏的資訊安全風險。

    為什麼這些設定會導致資安風險、如何檢查、防護安全的建議。

    主要討論下列子主題:

    • directory Browsing
    • 預設值
    • 系統管理
    • HTTPS

     

    Directory Browsing

    這是一個很常見的網站設定遺漏所導致的資安風險。不限定 java。

    任何的網站都有類似這樣的設定 ‘Directory Browsing’,

    因為這讓駭客有機會可以瀏覽該網站伺服器所有的檔案。

    也讓駭客可以不經過驗證或是授權讀取這些檔案。

    Directory Browsing 檢查與防護建議

    1. 回傳自訂頁面錯誤

    駭客常會用 Directory browsing 的方式瀏覽所有可能的網址,

    當網址不被允許時,建議自訂回傳固定的 404 錯誤。

    2. Java Web 設定

    以Java 為例子,將Web.xml其中的 listings設定為 false.

    <servlet>
          <servlet-name>default_servlet</servlet-name>
          <servlet-class>
                org.apache.catalina.servlets.DefaultServlet
          </servlet-class>
          <init-param>
                <param-name>listings</param-name>
                <param-value>false</param-value>
          </init-param>
    </servlet>

    並且確定相關的 JSP檔案放置在 Web-INF的目錄,讓駭客無法直接讀取這些檔案。

    3. 檔案的下載

    另外,檢查下列檔案的存取與下載的機制。是否需要權限? 如果提供下載該目錄的權限與其他程式碼隔離。

    • .zip, .tar, .gz, .tgz, .rar, …: (Compressed) archive files
    • .java: No reason to provide access to Java source files
    • .txt: Text files
    • .pdf: PDF documents
    • .doc, .rtf, .xls, .ppt, …: Office documents
    • .bak, .old and other extensions indicative of backup files (for example: ~ for Emacs backup files)

    4. robots.txt 的設定

    網站可以設定這樣的檔案 robots.txt。禁止任何的網站搜尋到下列目錄讀取。

    User-agent: *
    Disallow: /Admin
    Disallow: /uploads
    Disallow: /backup
    Disallow: /~jbloggs
    Disallow: /include


    預設值與預設安裝設定

    許多的系統都有預設帳號、預設 Demo 網站、預設資料庫等。系統上線時要確保這些預設的安裝都被移除。

    因為這些預設的設定或是安裝都會變成某些形式的後門漏洞,駭客會透過這些預設的網站找到弱點攻擊該網站伺服器。

    例如下列網站提供許多產品的預設密碼

    Administration 系統管理

    有些網站會將系統管理功能與網站合一。因此,駭客有可能會透過下列方式取得系統管理存取

    • www.victim.com/Administrator 透過網址
    • 透過 hidden Value
      <input type="hidden" name="admin" value="yes">
    • 透過 cookie: Cookie: session_cookie; useradmin=1

    建議將系統管理的功能與線上服務網站隔離,而且系統管理功能僅允許特定 IP訪問。

    HTTS的設定

    有 HTTPS 就是安全的嗎? 由於 2014/2015年發生許多 SSL的安全漏洞,所以針對 HTTPS網站的設定要進一步檢查設定,

    怎樣有效簡便的檢查 Https呢? 筆者建議可以使用這個服務 https://www.ssllabs.com/ssltest/

    輸入網址之後,就會有一個該網站 HTTPS設定的風險評估報告,並且說明那些設定是有高度風險與設定的建議

    Posted by Tony @ 10:38 am

  • Leave a Reply

    Your email address will not be published.