網站設定所導致的網路安全風險與防護建議
這篇文章主要探討網站相關的系統測試定所隱藏的資訊安全風險。
為什麼這些設定會導致資安風險、如何檢查、防護安全的建議。
主要討論下列子主題:
- directory Browsing
- 預設值
- 系統管理
- HTTPS
Directory Browsing
這是一個很常見的網站設定遺漏所導致的資安風險。不限定 java。
任何的網站都有類似這樣的設定 ‘Directory Browsing’,
因為這讓駭客有機會可以瀏覽該網站伺服器所有的檔案。
也讓駭客可以不經過驗證或是授權讀取這些檔案。
Directory Browsing 檢查與防護建議
1. 回傳自訂頁面錯誤
駭客常會用 Directory browsing 的方式瀏覽所有可能的網址,
當網址不被允許時,建議自訂回傳固定的 404 錯誤。
2. Java Web 設定
以Java 為例子,將Web.xml其中的 listings設定為 false.
[pastacode lang=”markup” message=”” highlight=”” provider=”manual”]
<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>
[/pastacode]
並且確定相關的 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 網站、預設資料庫等。系統上線時要確保這些預設的安裝都被移除。
因為這些預設的設定或是安裝都會變成某些形式的後門漏洞,駭客會透過這些預設的網站找到弱點攻擊該網站伺服器。
例如下列網站提供許多產品的預設密碼
- Default Password list: http://www.governmentsecurity.org/articles/DefaultLoginsandPasswordsforNetworkedDevices.php
- Default Password list: http://www.cirt.net/passwords
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設定的風險評估報告,並且說明那些設定是有高度風險與設定的建議