安全日誌收集與分析——搶先體驗阿裏雲 ElasticSearch
10月13日,雲棲大會上阿裏雲與Elastic公司聯合發布阿裏雲Elasticsearch產品。根據官方介紹,阿裏雲提供基於開源Elasticsearch及商業版X-Pack插件,致力於數據分析、數據搜索等場景服務。在開源Elasticsearch基礎上提供企業級權限管控、安全監控告警、自動報表生成等功能。
Elasticsearch(ES)是中小企業安全日誌分析的必備工具。團隊在獲得試用資格後,隨即開展了產品試用工作,搶先體驗這款“新產品”。
申請開通服務
在服務購買界麵,選擇 ES 實例相關的網絡基礎信息,包括:
- 地域(目前華東1和華北2提供)
- 版本(5.5.3 with X-Pack)
- 網絡類型(專有網絡VPC)
- 具體專有網絡(VPC必須與 ES 在同一個區域)
- 虛擬交換機(需要在 VPC 網絡中提前配置好虛擬交換機)
- 實例規格(1核2G 到16核64G)
- 存儲空間(20GB或以上)
- 節點數(2個或以上)
服務開通後,在阿裏雲控製台可以看到實例具體信息。首次使用有個初始化的過程,需要等待,直到服務狀態為“正常”。
以上圖為例,ECS 在 VPC 內部的地址是:es-cn-v0h0c7flq001yfx70.elasticsearch.aliyuncs.com,也可以通過 ping 獲取到ES服務器的IP 地址,取決於虛擬交換機上的 IP 地址規劃。
重點配置項
首次使用ES,請通過阿裏雲控製台修改 Kibana 控製台密碼。保存配置後,等待 ES 服務器重啟生效。
此外,還需要修改 yml 文件配置,設置允許自動創建索引;否則 Logstash 上報日誌時,會提示無權創建index。
以上兩處修改,都需要重啟ES 服務。目前係統不支持一次性修改,所以隻能等待兩次……
安全日誌收集
以下是測試過程中VPC內服務器的基本網絡參數哦說明:
- 操作係統 CentOS1:172.16.0.2
- Logstash 日誌代理:172.16.0.3
- Elasticsearch 主機:es-cn-v0h0c7flq001yfx70.elasticsearch.aliyuncs.com
操作係統日誌收集
以收集和分析CentOS 操作係統日誌 syslog 為例,安全團隊需要在服務器上先配置好 Syslog參數,讓服務器把係統日誌發送到 Logstash收集代理。再由 Logstash 對日誌進行必要的格式化,統一發送到 Elasticsearch。流程如下圖所示:
在雲主機上部署 Logstash
關於 ELK(Elasticsearch、Logstash和Kibana)技術棧相關的基礎性問題,可以參考本人早先的幾篇技術文章。
以下是一個示例的 Logstash 配置文件,用於收集和格式化syslog 日誌,文件名:syslog.conf
。
input{
syslog{
host => "0.0.0.0"
port => 1514
}
}
filter{
# ....
}
output{
elasticsearch{
hosts => "https://es-cn-v0h0c7flq001yfx70.elasticsearch.aliyuncs.com:9200"
index => "logstash-syslog"
document_type => "syslog"
user => "elastic"
password => ""
}
stdout{ codec => rubydebug }
}
#不建議生產環境使用 elastic 賬戶做連接。
在 Logstash 日誌收集代理服務器上執行命令$LOGSTASH_HOME/bin/logstash - $LOGSTASH_HOME/syslog.conf
,啟動 Logstash,加載配置文件。
程序啟動後將監聽1514端口,接收遠程主機發送的 syslog 日誌。通過Logstash控製台可以看到程序過程中的各種狀態信息,包括與 ES 的連接狀態。
配置 CentOS 的 Syslog 參數
以 root 身份編輯CentOS 服務器係統文件/etc/rsyslog.conf
,在文件末尾增加如下內容:
# 將 syslog 日誌發送到172.17.0.3的 1514/TCP 端口
. @@172.17.0.3:1514 #Logstash Agent的 IP 地址
執行命令systemctl restart rsyslog
, 重啟 syslog 服務。
開箱即用的ES 控製台 Kibana
以上配置過程已經完成了操作係統syslog和日誌收集代理 Logstash的配置,接下來就是通過 Kibana控製台訪問 ES 數據庫,進行日誌的查詢和安全分析。
首次使用&初始化
通過阿裏雲控製台ElasticSearch 主界麵,直接點擊【訪問控製台】,可進入登錄界麵。首次訪問需要創建Index Pattern,如果您是初次使用,建議默認為:logstash-*
。
配置完成後,通過左導航欄點選【monitoring】菜單,可以看到 Elasticsearch 服務器的基本運行參數,如下圖:
日誌查詢
下圖是 Kibana 控製台提供的日誌查詢界麵,支持快速字符匹配,也支持基於字段 的查詢。如果你喜歡lucence查詢語法,也可以按需切換。
報表定製
安全團隊在日常運維過程中,肯定少不了定製一些監控視圖或報表來做數據統計、風險展現。阿裏雲 Elasticsearch 自帶的 Kibana 完全能夠滿足這個需求。
上圖是典型的安全監控視圖,包括:賬戶登錄次數排名,遠程 IP 地址訪問次數排名等。當然還有更過的高級功能,如:Graph 分析、機器學習等,等你來探索!
小總結
本次阿裏雲發布的Elasticsearch完全兼容ELK架構,適配各種開源組件。如果您的企業已經在用 ELK,可以將數據存儲部分直接遷移到阿裏雲。 原有的日誌收集代理 Logstash 僅需重新配置發送目標即可。提供 X-Pack 特性的阿裏雲ElasticSearch,可以提供免費版所不具備的安全保護和角色管理,讓安全日誌管理更放心。好吧,跟多的重點優勢就在下麵,我就不囉嗦了:
-
商業插件X-Pack
- 提供X-Pack插件功能,為您提供權限管控、集群監控、數據可視化、機器學習等功能
-
免部署
- 一鍵開啟服務,並提供“dedicated master”能力
-
彈性擴容
- 適應業務發展需求,提供服務不中斷前提下的集群彈性擴容能力
-
數據分析搜索
- 100%兼容ELK架構,提供Kibana可視化交互式數據分析與搜索能力
阿裏雲自帶的 ElasticSearch,成功解決了企業搭建、運營和維護 ELK 係統的絕大多數成本,安全團隊隻需要聚焦日誌收集和監控分析,從此又可以自廢一門功夫了:)
本文作者正在嚐試為1000萬家雲上中小企業打造敏捷型安全團隊的建設典範,如果您也感興趣,歡迎來阿裏雲 MVP 社區與我交流。
補充閱讀:
最後更新:2017-11-09 00:33:42