使用ELK進行主機駭客攻擊檢測

什麼是SIEM?

SIEM代表安全資訊與事件管理。它是一種軟體解決方案,提供網路硬體和應用程式產生的安全警報的即時分析。SIEM從多個來源收集日誌數據,如網路設備、伺服器和應用程式,然後對這些數據進行關聯和分析,以識別安全威脅。

SIEM可以幫助組織提升其安全態勢,通過提供整個IT基礎設施安全事件的集中視圖。它允許安全分析師快速識別並回應安全事件,並提供詳細報告以滿足合規性要求。

SIEM解決方案的一些關鍵特點包括:

  1. 日誌收集與分析
  2. 即時事件關聯與警報
  3. 用戶與實體行為分析
  4. 威脅情報整合
  5. 合規性報告

SIEM通常與其他安全解決方案(如防火牆、入侵檢測系統和防病毒軟體)結合使用,以提供全面的安全監控和事件回應能力。

什麼是ELK?

ELK是一組用於日誌管理和分析的開源軟體工具的縮寫:Elasticsearch、Logstash和Kibana。

Elasticsearch 是一個分散式搜尋與分析引擎,提供快速搜尋及大容量資料的高效儲存。其設計旨在可擴展,能在即時處理大量查詢與索引操作。

Logstash 是一個資料收集與處理工具,允許從多種來源(如日誌檔案、syslog 及其他資料源)收集日誌與其他資料,並在發送至 Elasticsearch 前轉換與豐富資料。

Kibana 是一個基於網頁的使用者介面,讓您能夠視覺化與分析儲存在 Elasticsearch 中的資料。它提供了一系列互動式視覺化工具,如線圖、條形圖與熱圖,以及儀表板與警報等特點。

這三種工具共同形成了一個強大的平台,用於管理和分析日誌及其他類型的資料,通常被稱為 ELK 堆疊 或 Elastic 堆疊。ELK 堆疊在 IT 運營、安全監控與商業分析中被廣泛使用,以從大量資料中獲取洞察。

將 SIEM 資料匯入 ELK

將 SIEM 資料匯入 ELK 堆疊對於希望結合 SIEM 的安全事件管理能力與 ELK 的日誌管理和分析功能的組織來說非常有用。

以下是將 SIEM 資料匯入 ELK 的高層次步驟:

  1. 配置 SIEM 將日誌資料發送至 Logstash,這是 ELK 堆疊的一部分。
  2. 建立一個Logstash配置文件,定義SIEM數據的輸入、過濾和輸出。
  3. 啟動Logstash並驗證它是否正確接收和處理SIEM數據。
  4. 配置Elasticsearch以接收和存儲SIEM數據。
  5. 創建Kibana視覺化和儀表板以顯示SIEM數據。

以下是一個Logstash配置文件的示例,該文件從SIEM接收Syslog消息並將其發送到Elasticsearch:

Python

 

	input {
	  syslog {
	    type => "syslog"
	    port => 5514
	  }
	}
	filter {
	  if [type] == "syslog" {
	    grok {
	      match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
	      add_field => [ "received_at", "%{@timestamp}" ]
	      add_field => [ "received_from", "%{host}" ]
	    }
	  }
	}
	
	output {
	  elasticsearch {
	    hosts => ["localhost:9200"]
	    index => "siem"
	  }
}

一旦Logstash配置並運行,SIEM數據將被引入Elasticsearch,並可以在Kibana中進行視覺化和分析。確保採取適當的安全措施來保護SIEM和ELK環境,並監控和警示任何安全事件,這一點非常重要。

檢測主機駭客攻擊嘗試

使用SIEM在ELK中檢測主機駭客攻擊嘗試涉及監控和分析系統日誌和網絡流量,以識別可能表明駭客攻擊嘗試的可疑活動。以下是使用SIEM在ELK中設置主機駭客攻擊檢測的高級步驟:

  • 配置主機將系統日誌和網絡流量發送到集中式日誌收集系統。
  • 設置Logstash以接收和解析來自主機的日誌和網絡流量數據。
  • 配置Elasticsearch以存儲解析後的日誌數據。
  • 使用Kibana分析日誌數據並創建儀表板和警報以識別潛在的駭客攻擊嘗試。

以下是一些可以用於檢測主機駭客攻擊嘗試的具體技術:

  • 監控失敗登入嘗試:留意單一IP地址重複嘗試登入失敗嘅情況,可能係暴力破解攻擊。利用Logstash解析系統日誌中嘅登入失敗事件,並創建Kibana儀表板或警報,以監控過量嘅失敗登入嘗試。
  • 監控可疑網絡流量:留意與已知惡意IP地址或域名嘅網絡流量。使用Logstash解析網絡流量數據,並創建Kibana儀表板或警報,以監控可疑流量模式。
  • 監控檔案系統變更:留意未經授權嘅系統文件或設置變更。利用Logstash解析檔案系統變更事件,並創建Kibana儀表板或警報,以監控未經授權嘅變更。
  • 監控可疑進程活動:留意以提升權限運行或執行異常行為嘅進程。使用Logstash解析進程事件,並創建Kibana儀表板或警報,以監控可疑進程活動。

透過實施這些技巧並定期監控日誌與網絡流量,組織能夠提升使用ELK中嘅SIEM偵測與應對主機駭客攻擊嘅能力。

在ELK中配置警報以偵測主機駭客攻擊

要於ELK中配置警報以偵測主機駭客攻擊,可遵循以下一般步驟:

  • 在Kibana中創建一個搜索查詢,篩選日誌中嘅主機駭客攻擊事件。例如,您可以使用以下搜索查詢來偵測失敗登入嘗試:
Python

 

from elasticsearch import Elasticsearch

es = Elasticsearch()

search_query = {
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "event.dataset": "auth"
          }
        },
        {
          "match": {
            "event.action": "failed_login"
          }
        }
      ]
    }
  }
}

res = es.search(index="siem", body=search_query)

for hit in res['hits']['hits']:
    print(hit['_source'])
  • 創建搜索查詢後,將其保存為Kibana嘅已保存搜索。
  • 前往Kibana的警報與動作介面,建立一個新警報。選擇您在第二步驟中建立的已保存搜尋作為警報基礎。
  • Graphical user interface, application

Description automatically generated 
  • 設定警報在達到特定閾值時觸發。例如,您可以設定警報在5分鐘內發生超過5次登入失敗時觸發。
  • 配置警報在觸發時發送通知,如電子郵件或Slack訊息。
  • 測試警報以確保其運作如預期。

一旦警報配置完成,它將在偵測到主機駭客攻擊事件,如登入失敗時自動觸發。這有助於組織有效且迅速地偵測並回應安全威脅。定期檢視並更新警報以確保其偵測到最重要且相關的安全事件至關重要。

結論

使用ELK偵測主機駭客攻擊是一種有效的方法,以提升組織的安全防禦。ELK提供了一個強大的日誌收集、解析、存儲、分析及警報機制組合,使組織能夠即時偵測並回應主機駭客攻擊。

透過監控系統日誌與網絡流量,並使用進階搜尋查詢及警報機制,ELK能幫助組織偵測各種主機駭客攻擊,包括登入失敗、可疑網絡流量、檔案系統變更及可疑進程活動。

實施基於ELK的強健主機駭客攻擊檢測策略需要精心規劃、配置與測試。然而,藉助適當的專業知識與工具,組織能夠打造一套全面的保安監控系統,該系統提供即時的網絡可視性,提升事件應對速度,並有助於在安全漏洞發生前加以預防。

Source:
https://dzone.com/articles/host-hack-attempt-detection-using-elk