網站安全 — Logging

網站安全 — Logging

ID-10052742

系統與使用者使用記錄 Logging 對於資訊安全系統來說是很重要的,

除了可以知道系統的使用狀況,更可以做系統的稽核

同時,也可以針對異常的使用行為追蹤與預防

這邊文章主要要探討什麼應該要記錄、什麼不應該被記錄,測試的注意項目

 

記錄檔的設計

設計記錄檔的時候必須考量下列問題:

  • 記錄檔是否包含敏感性資訊
  • 是否儲存在特定伺服器
  • 是否有可能被誤用為 DoS攻擊
  • 記錄檔按多久循環保存
  • 記錄檔案多久被審查一次
  • 記錄檔案如何被備份
  • 記錄檔案紀錄的資訊是否會事先被驗證字元長度、合法字元等

敏感性資訊

有一些屬於敏感性的隱私資訊,或是可能被駭客利用來攻擊的資訊,就不適合放在記錄檔案中,

例如:

  • 程式錯誤的內部訊息,如下圖所示

FileNotFound Syntax error

  • 使用者資訊、帳號密碼
  • 內部 IP 位址
  • 電子郵件或是個人資訊
  • 電話號碼

電子郵件

要如何知道特定公司的系統網站管理員電子郵件呢?

駭客就會透過,一般的 DNS query 例如: http://dnsquery.org/whois/www.yahoo.com.tw

該資訊就會透露更進一步的電子郵件信箱、電話等。

接著,駭客可能透過社交工程,寄發 email  到系統管理員信箱,

因此,多半這樣的電子信箱,都會用一個特別註冊用的信箱,而非平時工作用的信箱

DNS query

 

 

敏感性資訊

其他敏感性資訊還包含下列:

  • 應用程式程式碼的註解。許多網站上線之後,可能忘記將註解的部分移除,特別是 JavaScript/HTML 網頁的程式,因此就會間接透漏許多程式的內部運作邏輯,甚至系統管理者管理密碼等。
  • 密碼
  • 資料庫連線資訊 IP / host name / database name
  • 加密金鑰
  • 銀行資訊

記錄檔的存取權限

這是經常被忽略的地方,這就好比垃圾桶內的東西,我們平常不會去注意

但是對於偵探來說只要看了垃圾內的通西,

就可以知道這家人一天的作息、飲食、生活習慣、甚至帳單、消費等資訊

對於電腦來說,記錄檔記錄許多電腦所執行過的資訊,

只要被有心人存取就可以知道整個系統發生過的事情甚至是整個公司網路的活動

網站記錄審查

定期的審查 Web Logs,

特別注意下列狀況:

1. 短時間內有大量 Login 來自同一個 User Agent, IP address,表示該 IP address 有可能在 try 帳號密碼

2. 大量的 404 or 500錯誤,表示有人在 Try 各式各樣的 http request 的組合,了解整個網站的結構與資源

3. Http Options, Put, Trace, Delete: 一般來說網站的存取http request,透過瀏覽器瀏覽的話,只會出現 http get or http post 這兩種存取,如果出現其他的 request methods 就有可能表示有人用”特殊工具”來進行瀏覽

4. “1 = 1” or “alert()”: 注意一些常見攻擊的特殊關鍵字。例如 1 = 1 或是 2 = 2 這樣的邏輯,主要用在 SQL injection。 “Alert” 主要是用在測試 JavaScript injection

5. 注意特別的User Agent:可以將 log 依照 user Agent 分類,一般的瀏覽器IE, Chrome, Firefox 都會有已知的 User Agent. 如果是”特殊工具” 可能也會有預設的 user Agent. ,注意這些特殊 User Agent 的來源 IP 以及所存取的 URL

 

總結

這篇文章主要提到 Logging 安全防護上最容易被忽略的一些地方

並且說明如何在上線之後,如何定期的審查

駭客常常就是利用一些小小的不小心或是疏忽進行攻擊,也讓網站防護安全出了漏洞

因此,設計記錄檔時,必須也要像設計帳號密碼登入一樣的小心謹慎,才不致讓駭客有機可趁。

 

Leave a Reply

Your email address will not be published. Required fields are marked *