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

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

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

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

主要討論下列子主題:

  • 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設定的風險評估報告,並且說明那些設定是有高度風險與設定的建議

Leave a Reply

Your email address will not be published.