內容簡介
全球頂端安全公司FireEye(火眼)首席安全戰略官、網路安全公司Mandiant首席安全官撰寫,深入解讀網路安全監控的核心思想、工具和很好實踐,從網路安全監控的原理、工具選型、環境部署到攻擊的識別、發現與截擊,詳細講解網路安全監控(NSM)主流工具的使用。
全書分為四部分,共14章:第1部分(第1~2章)系統講述了NSM的基本原理以及如何部署感測器以應對各種挑戰;第二部分(第3~5章)講解SO在硬體上的安裝與配置,SO的單機與分散式環境的安裝與部署,以及SO平台的運行維護;第三部分(第6~8章)主要介紹NSM工具鏈的套用,涵蓋命令行和圖形化的數據包分析工具(發現問題),以及NSM控制台(啟動檢測和回響流程);第四部分(第9~14章)為實戰部分,講解如何建立有效的NSM團隊,發現並制止伺服器端和客戶端的攻擊,利用Bro來擴展SO成果,代理與校驗和的識別和利用,NSM在雲和協作環境下套用的新思想。
網路安全並不簡單是堅不可摧的防禦牆——志堅意決的攻擊者終將突破傳統的防禦手段。網路安全監控(NSM)整合了最有效的計算機安全策略——收集並分析數據,以助你檢測和回響入侵。
在本書中,火眼公司首席安全戰略官、Mandiant首席安全官Richard Bejtlich向你展示了如何使用NSM在網路周圍增添一個堅固的保護層,而無須先驗知識。為避免使用“過高”或“不靈活”的解決方案,他使用開源軟體和中立廠商的工具教你部署、創建及運行NSM。
通過閱讀本書,你將會學到:
如何確定在哪裡部署NSM平台,並根據受監控的網路進行調整。
如何部署單機或分散式NSM設備。
如何使用命令行和圖形化包分析工具及NSM控制台。
如何從伺服器端和客戶端入侵截獲網路證據。
如何將威脅情報整合到NSM軟體來識別高級對手。
沒有百分之百安全的方式能將攻擊者阻止在你的網路之外,但是當他們侵入時,你需要有所準備。本書展示了如何構建一張安全之網,來檢測、牽制並控制他們。攻擊不可避免,但丟失敏感數據的情況則不應當發生。
圖書目錄
譯者序
前言
第一部分 準備開始
第1章 網路安全監控基本原理 2
1.1 NSM簡介 3
1.1.1 NSM阻止入侵嗎 3
1.1.2 NSM和持續監控的區別 6
1.1.3 NSM與其他方法相比如何呢 7
1.1.4 NSM為什麼有效 8
1.1.5 如何配置NSM 8
1.1.6 NSM何時無效 10
1.1.7 NSM合法嗎 10
1.1.8 在NSM作業期間如何保護用戶隱私 11
1.2 一個簡單的NSM測試 11
1.3 NSM數據的範圍 12
1.3.1 完整內容數據 13
1.3.2 提取的內容數據 15
1.3.3 會話數據 17
1.3.4 事務數據 18
1.3.5 統計數據 19
1.3.6 元數據 21
1.3.7 警報數據 23
1.4 所有這些數據的關鍵是什麼 25
1.5 NSM的缺點 26
1.6 在哪購買NSM 26
1.7 到哪裡尋求支持或更多信息 27
1.8 結論 27
第2章 收集網路流量:訪問、存儲和管理 28
2.1 試驗性NSM系統的網路示例 28
2.1.1 簡單網路中的網路流 29
2.1.2 NSM的潛在位置 32
2.2 IP位址與網路地址轉換 33
2.2.1 網路塊 33
2.2.2 IP位址分配 34
2.2.3 地址轉換 34
2.3 選擇實現網路可見性的最佳位置 37
2.3.1 觀察DMZ網路流量的位置 37
2.3.2 觀察無線網路和區域網路流量的位置 37
2.4 對流量的物理訪問 39
2.4.1 用交換機實現流量監控 39
2.4.2 使用網路竊聽器 40
2.4.3 直接在客戶端或伺服器上捕獲流量 40
2.5 選擇NSM平台 41
2.6 10條NSM平台管理建議 42
2.7 結論 43
第二部分 SO部署
第3章 單機NSM部署與安裝 46
3.1 單機或伺服器加感測器 46
3.2 選擇如何將SO代碼安裝到硬體上 49
3.3 安裝單機系統 50
3.3.1 將SO安裝到硬碟上 50
3.3.2 配置SO軟體 53
3.3.3 選擇管理接口 55
3.3.4 安裝NSM軟體組件 56
3.3.5 檢查安裝 59
3.4 結論 61
第4章 分散式部署 62
4.1 使用SO的.iso映像安裝SO伺服器 62
4.1.1 關於SO伺服器的一些考慮 63
4.1.2 創建SO伺服器 63
4.1.3 配置SO伺服器 64
4.2 使用SO的.iso映像安裝SO感測器 66
4.2.1 配置SO感測器 66
4.2.2 完成配置 68
4.2.3 驗證感測器正在工作 68
4.2.4 驗證autossh隧道正在工作 69
4.3 使用PPA創建SO伺服器 69
4.3.1 安裝Ubuntu伺服器作為SO伺服器作業系統 70
4.3.2 選擇靜態IP位址 71
4.3.3 更新軟體 73
4.3.4 通過PPA配置SO伺服器 74
4.4 使用PPA創建SO感測器 75
4.4.1 安裝Ubuntu伺服器作為SO感測器作業系統 75
4.4.2 將系統配置為感測器 77
4.4.3 運行設定嚮導 78
4.5 結論 81
第5章 SO平台的日常管理 82
5.1 及時更新SO 82
5.1.1 通過GUI更新 82
5.1.2 通過命令行更新 83
5.2 限制對SO的訪問 84
5.2.1 通過SOCKS代理連線 85
5.2.2 改變防火牆策略 86
5.3 管理SO數據存儲 87
5.3.1 管理感測器存儲 88
5.3.2 檢查資料庫驅動器的使用 88
5.3.3 管理Sguil資料庫 89
5.3.4 跟蹤磁碟使用 89
5.4 結論 90
第三部分 工具
第6章 命令行下的數據包分析工具 92
6.1 SO工具種類 92
6.1.1 SO數據表示工具 92
6.1.2 SO數據收集工具 93
6.1.3 SO數據傳送工具 93
6.2 運行Tcpdump 94
6.2.1 用Tcpdump顯示、寫入和讀取流量 95
6.2.2 使用Tcpdump過濾器 97
6.2.3 從Tcpdump輸出中提取細節 99
6.2.4 用Tcpdump研究完整內容數據 99
6.3 使用Dumpcap和Tshark 100
6.3.1 運行Tshark 101
6.3.2 運行Dumpcap 101
6.3.3 使用Tshark分析Dumpcap捕獲的流量 102
6.3.4 對Tshark使用顯示過濾器 103
6.3.5 Tshark顯示過濾器套用示例 105
6.4 運行Argus和Ra客戶端 106
6.4.1 停止及啟動Argus 106
6.4.2 Argus檔案格式 107
6.4.3 研究Argus數據 107
6.5 結論 110
第7章 圖形化數據包分析工具 111
7.1 使用Wireshark 111
7.1.1 運行Wireshark 111
7.1.2 在Wireshark中查看數據包捕獲 112
7.1.3 修改默認的Wireshark布局 112
7.1.4 Wireshark一些有益的特性 115
7.2 使用Xplico 121
7.2.1 運行Xplico 122
7.2.2 創建Xplico實例和會話 123
7.2.3 處理網路流量 123
7.2.4 檢查解碼的流量 124
7.2.5 獲取元數據和匯總流量 126
7.3 使用NetworkMiner檢查內容 127
7.3.1 運行NetworkMiner 127
7.3.2 收集和組織流量細節 128
7.3.3 描繪內容 130
7.4 結論 131
第8章 NSM控制台 132
8.1 以NSM為中心查看網路流量 132
8.2 使用Sguil 133
8.2.1 運行Sguil 134
8.2.2 Sguil的6個關鍵功能 135
8.3 使用Squert 144
8.4 使用Snorby 145
8.5 使用ELSA 148
8.6 結論 151
第四部分 NSM實踐
第9章 NSM操作 154
9.1 企業安全周期 154
9.1.1 規劃階段 155
9.1.2 抵抗階段 155
9.1.3 檢測和回響階段 155
9.2 收集、分析、升級和解決 156
9.2.1 收集 156
9.2.2 分析 159
9.2.3 升級 162
9.2.4 解決 164
9.3 補救 167
9.3.1 使用NSM改進安全 167
9.3.2 創建CIRT 168
9.4 結論 169
第10章 伺服器端攻擊 170
10.1 伺服器端攻擊的定義 170
10.2 伺服器端攻擊實戰 171
10.2.1 啟動Sguil 172
10.2.2 從Sguil查詢會話數據 173
10.2.3 再談警報數據 176
10.2.4 使用Tshark檢查完整內容數據 178
10.2.5 理解後門 180
10.2.6 入侵者做了什麼 181
10.2.7 入侵者還做了什麼 184
10.3 瀏覽會話數據 185
10.3.1 搜尋Bro DNS日誌 186
10.3.2 搜尋Bro SSH日誌 187
10.3.3 搜尋Bro FTP日誌 188
10.3.4 解碼遭竊的敏感數據 190
10.3.5 提取被盜的歸檔 191
10.4 後退一步 192
10.4.1 階段1總結 192
10.4.2 階段2總結 192
10.4.3 後續步驟 193
10.5 結論 193
第11章 客戶端攻擊 194
11.1 客戶端攻擊的定義 194
11.2 客戶端攻擊實戰 195
11.2.1 獲取用戶的事件報告 196
11.2.2 使用ELSA開始分析 197
11.2.3 查找丟失的流量 201
11.3 分析Bro dns.log檔案 202
11.4 檢查目的連線埠 204
11.5 研究命令控制通道 206
11.5.1 初始訪問 207
11.5.2 改善shell 211
11.5.3 總結階段1 212
11.5.4 轉向另一個受害者 212
11.5.5 安裝隱秘隧道 213
11.5.6 枚舉受害者 214
11.5.7 總結階段2 215
11.6 結論 215
第12章 擴展SO 217
12.1 使用Bro跟蹤執行檔 217
12.1.1 用Bro計算下載的執行檔的散列 217
12.1.2 向VirusTotal提交散列 218
12.2 使用Bro從流量中提取二進制程式 219
12.2.1 配置Bro從流量中提取二進制程式 220
12.2.2 收集流量來測試Bro 221
12.2.3 測試Bro:從HTTP流量中提取二進制程式 222
12.2.4 研究從HTTP中提取的二進制程式 224
12.2.5 測試Bro:從FTP流量中提取二進制程式 224
12.2.6 研究從FTP中提取的二進制程式 226
12.2.7 向VirusTotal提交散列和二進制程式 226
12.2.8 重啟Bro 228
12.3 使用APT1情報 230
12.3.1 使用APT1模組 230
12.3.2 安裝APT1模組 232
12.3.3 生成流量來測試APT1模組 232
12.3.4 測試APT1模組 233
12.4 報告惡意二進制程式的下載 235
12.4.1 使用Team Cymru的Malware Hash Registry 235
12.4.2 MHR和SO:默認有效 236
12.4.3 MHR和SO與惡意程式下載 237
12.4.4 識別二進制程式 238
12.5 結論 240
第13章 代理與校驗和 241
13.1 代理 241
13.1.1 代理與可見性 242
13.1.2 處理生產網路中的代理 245
13.2 校驗和 246
13.2.1 好的校驗和 246
13.2.2 壞的校驗和 246
13.2.3 使用Tshark識別好的和壞的校驗和 247
13.2.4 壞的校驗和如何產生 249
13.2.5 Bro與壞的校驗和 249
13.2.6 設定Bro忽略壞的校驗和 251
13.3 結論 253
第14章 總論 254
14.1 雲計算 254
14.1.1 雲計算的挑戰 255
14.1.2 雲計算的好處 256
14.2 工作流、度量與協作 257
14.2.1 工作流和度量 257
14.2.2 協作 258
14.3 結論 259
附錄 SO腳本與配置 260