Linux 系統在網路管理和安全防護中扮演著至關重要的角色。本文從實務角度出發,講解了在 Linux 環境下建置和維護安全網路的各種技術和工具。內容涵蓋負載平衡的佈署與組態、使用 tcpdump 和 Wireshark 進行封包捕捉和分析、利用 SNMP 和 Syslog 進行網路監控等核心技術。此外,本文也探討了網路安全議題,包括入侵偵測與防禦、蜜罐技術的應用以及建立安全網路的最佳實務。
第10章 - Linux上的負載平衡服務
在現代網路環境中,負載平衡是一項至關重要的技術,用於分配網路流量至多台伺服器,以確保沒有單一伺服器過載,從而提高整體系統的可靠性和效率。Linux作為一個強大的伺服器作業系統,提供了多種負載平衡解決方案。
負載平衡的挑戰
然而,在實施負載平衡時,尤其是在涉及非公司擁有的裝置(如顧問或員工的筆記型電腦或家用電腦)時,安全地安裝公司證書可能會面臨挑戰。通常,這需要透過電子郵件傳送證書籤署請求(CSRs)和證書,這並不是傳輸敏感資料的最佳做法。
多因素身份驗證(MFA)解決方案
MFA解決方案保留了使用者ID-密碼介面,用於諸如VPN服務等應用,但消除了密碼填充或暴力破解攻擊的風險。此外,使用Google Authenticator等系統註冊遠端站點非常簡單,只需掃描發給您的QR碼即可完成註冊。
直接伺服器傳回(DSR)負載平衡
當您的總負載可能接近負載平衡器的容量時,DSR解決方案意味著只有客戶端到伺服器的流量需要透過負載平衡器路由。這尤其有效,因為大多數工作負載的傳回流量(伺服器到客戶端)遠大於傳送流量(客戶端到伺服器)。這意味著切換到DSR解決方案可以輕易地將透過負載平衡器的流量減少90%。
內容解密:
- DSR解決方案透過減少需要透過負載平衡器的流量來提高效能。
- 這種方法特別適用於傳回流量遠大於傳送流量的場景。
- 在虛擬化環境中,新增CPU和記憶體資源到根據VM的負載平衡器比在傳統的硬體裝置上進行硬體升級要簡單得多。
使用代理式負載平衡器的主要原因是為了在HTTPS設定中允許會話永續性。這透過在前端虛擬IP(VIP)上終止客戶端會話,然後在後端介面上啟動新的HTTPS會話來實作。這種方法允許負載平衡器在客戶端會話中插入cookie。當客戶端傳送下一個請求(包含此cookie)時,負載平衡器然後將會話定向到分配給此客戶端HTTPS會話的伺服器。
內容解密:
- 代理式負載平衡器透過終止和重新啟動HTTPS會話來實作會話永續性。
- 這種方法允許負載平衡器插入cookie以跟蹤客戶端會話。
- 當客戶端傳送包含cookie的請求時,負載平衡器將會話定向到正確的伺服器。
第11章 - Linux上的封包捕捉與分析
封包捕捉和分析是網路故障排除和監控的重要工具。Linux提供了多種工具,如tcpdump和Wireshark,用於捕捉和分析網路流量。
捕捉封包的位置
您會從中間裝置捕捉封包有幾個原因:
- 您無法存取兩端的主機,或沒有許可權在它們上面捕捉封包。
- 您無法存取交換機埠,以使用主機和Wireshark。
- 如果中間裝置是防火牆,則從那裡捕捉將允許您考慮NAT(在翻譯之前和之後捕捉),以及防火牆上的任何ACL。
內容解密:
- 從中間裝置捕捉封包對於無法直接存取主機或需要檢查經過防火牆的流量時非常有用。
- 這種方法允許檢查NAT轉換前後的流量。
tcpdump是Linux上的底層封包捕捉機制。幾乎所有工具,包括Wireshark,都使用tcpdump。Wireshark的優勢在於為操作員提供了一個GUI介面,使其更具吸引力,尤其是對於不熟悉CLI的人。此外,Wireshark將完全解碼封包,並允許您使用顯示過濾器互動式地深入到目標流量。
內容解密:
- tcpdump是Linux上封包捕捉的基本工具。
- Wireshark提供了圖形介面,使其更易於使用,並具有強大的解碼和過濾功能。
第12章 - 使用Linux進行網路監控
網路監控對於確保網路健康和效能至關重要。Linux提供了多種工具和協定,如SNMP和Syslog,用於網路監控。
SNMP寫入存取許可權
SNMP的寫入存取許可權允許您監控(讀取)裝置或主機引數,以及設定(寫入)這些相同的引數。因此,透過讀寫存取,您可以更改介面速度或雙工模式,重新啟動或關閉裝置,或下載組態。
內容解密:
- SNMP寫入存取許可權允許對裝置或主機引數進行更改。
- 這可以用於各種管理任務,如更改組態或重新啟動裝置。
Syslog通常透過514/udp以明文傳送。使用IPSEC加密此流量是一種選擇,但並未廣泛實施。風險在於敏感資訊透過Syslog傳送,由於是明文,任何能夠讀取它的人都可以收集或修改它。
內容解密:
- Syslog通常以明文傳送,這帶來了安全風險。
- 使用IPSEC加密Syslog流量可以降低這些風險,但這並不是常見的做法。
啟用SNMPv3陷阱
要啟用SNMPv3陷阱,需要組態SNMPv3使用者和組,並指定陷阱接收器的主機地址。以下是一個示例組態:
snmp-server enable traps
snmp-server engineID remote <server ip address> 800005E510763D0FFC1245N1A4
snmp-server group TrapGroup v3 priv
snmp-server user TrapUser TrapGroup remote <server ip address> v3 auth sha AuthPass priv 3des PSKPass
snmp-server host <server ip address> informs version 3 priv TrapUser
內容解密:
- 啟用SNMPv3陷阱需要組態SNMPv3使用者和組。
- 需要指定陷阱接收器的主機地址和相關的安全引數。
- SNMPv3提供了比SNMPv1和v2更好的安全特性,如身份驗證和加密。
網路安全與監控技術深度解析
網路安全領域中,資料收集與分析是防禦和偵測的核心環節。本篇將探討NetFlow、入侵防禦系統(IPS)、蜜罐服務等關鍵技術,並結合實務經驗進行詳細分析。
NetFlow 資料收集與安全考量
NetFlow技術用於收集網路流量摘要資訊,至少包含「五元組」:來源IP、目的IP、協定、來源埠號和目的埠號。這些資訊對於網路流量分析和安全監控至關重要。
主要特點
- 基本資料單元:來源IP、目的IP、協定、來源埠、目的埠
- 時間戳記:由收集伺服器新增,便於多來源資料的關聯分析
- 敏感性評估:通常不被視為敏感資訊,但若涉及組織風險,可透過IPSEC隧道加密傳輸
安全強化措施
- 透過IPSEC隧道傳輸至收集伺服器
- 整體WAN流量加密
- 在核心路由器與NetFlow收集伺服器之間實施第二層保護
入侵防禦系統(IPS)在Linux上的應用
Zeek是Linux上理想的入侵防禦工具,能快速鑽取特定時間範圍內的TLS流量,並輕鬆加入地理位置資訊。其強大的搜尋功能可自動匯總來源和目的IP,簡化分析流程。
關鍵技術
- 流量分析:Zeek能有效分析網路流量,識別特定TLS版本
- 地理位置整合:可輕易加入地理位置資訊以增強分析能力
- 使用者端識別:透過P0F或商業工具(如Teneble PVS)被動收集流量,識別使用者端應用程式及其版本
實務應用
- 識別未更新的使用者端軟體,如PuTTY等非標準安裝的應用程式
- 發現未經授權的物聯網裝置,這些裝置經常與雲端服務通訊
IPS佈署策略與最佳實踐
將IPS放置在防火牆的內部或DMZ介面上,可有效監控進出流量。現代架構中,IPS常整合於防火牆,形成統一威脅管理(UTM)或下一代防火牆(NGFW),可檢查解密後的流量。
佈署考量
- 避免直接暴露在公網:因公網環境惡劣,會產生過多噪音
- 監控內部和DMZ流量:重點關注進出防火牆的流量
- 檢查解密流量:如RDP、SSH或HTTPS,以發現隱藏的威脅
蜜罐服務佈署與注意事項
蜜罐的主要目標是誘捕攻擊者並拖延其攻擊,以便佈署防禦措施。在內部網路中,蜜罐需謹慎組態,避免被識破。
佈署原則
- 避免明顯特徵:不要開啟不尋常的連線埠組合,以免被識破
- 模擬真實服務:如AD網域控制器的常見連線埠組態(例如常見的TCP連線埠)
實務挑戰
- 攻擊者可能跳過可疑的主機並提高警覺
- UDP連線埠掃描較少見,但特定連線埠(如500/udp和4500/udp)可能指示VPN端點
其他您可能會喜歡的書籍
Linux 系統程式設計技術
作者:Jack-Benny Persson ISBN:978-1-78995-128-8
本文將帶您探索 Linux 系統程式設計的世界,學習如何使用各種系統呼叫來撰寫程式。透過深入瞭解 POSIX 函式的工作原理,您將能夠掌握訊號、管道、程式間通訊(IPC)及程式管理等關鍵概念。此外,本文還將指導您如何將程式與 Linux 系統整合,並探討檔案系統操作、建立分享函式庫及除錯程式等進階主題。最後,您將學習如何使用 Valgrind 來除錯程式,以確保程式的正確性和穩定性。
分享您的想法
現在您已經完成了《Linux for Networking Professionals》,我們非常希望聽到您的想法!如果您從亞馬遜購買了這本文,請點選此處直接前往亞馬遜的評論頁面,分享您的反饋或在您購買的網站上留下評論。您的評論對我們和技術社群非常重要,將幫助我們確保提供卓越的內容品質。
索引
符號
- 5-tuple:54
A
- 存取控制列表(ACL):162, 228
- Active Directory(AD):236
- Adaptive Security Appliance(ASA):248
- 地址類別:28
- Advanced Package Tool(APT):20
- AppArmor:10, 144-146
- 應用程式程式介面(APIs):12
- apt 命令:20
- ARP:用於關聯 IP 地址和 MAC 地址:47-53
- 屬性值對(AV pairs):230
- 認證、授權和計費(AAA):228
- 自動化憑證管理環境(ACME)協定:219, 220
- 自動私有網際網路協定位址(APIPA):25
- 自治系統號碼(ASNs):54
B
- 基本埠警示蜜罐:450-455
- Bell Labs Unix:7
- Berkeley Internet Name Domain(BIND):157, 159
- 內部使用:159-163
- 網際網路面對實作的具體細節:163, 164
- Berkeley Software Distribution(BSD):7, 10
- Berkely Packet Filter(BPF):309
- 廣播地址:27
- Burned-In Address(BIA):52
C
- CA 基礎架構的安全性建議:
- 傳統經驗:215
- 現代建議:215, 216
- 捕捉的流量過濾:310
- 在 Wireshark 中新增捕捉過濾器:312
- Cisco Discovery Protocol(CDP)和 Link Layer Discovery Protocol(LLDP):318-321
中心網際網路安全(CIS)基準測試:
- 應用 CIS 基準測試:137-139
- CIS 基準測試:136, 137
- 使用加密演算法:140-143
- 停用 SSH 根登入:139
CIS 的關鍵控制措施:
- 硬體資產清單:123-128
- 實作群組:120
- OSQuery:131-136
- 軟體資產清單:128-131
CentOS Stream 9
憑證授權單位(CA):
- 使用 OpenSSL 建立 CA:208-212
- 現代基礎架構中的特定風險:216, 217
憑證復原列表(CRL):206
憑證:
- 取得憑證:201-203
- 自動化憑證管理:219, 220
- 使用憑證:204
- 網頁伺服器範例:204-207
憑證簽名請求(CSR):
- 請求 CSR:212-214
- 簽名 CSR:212-214
憑證透明度(CT):
- 使用 CT 進行資產清單或偵察:218, 219
鏈:99
Challenge-Handshake Authentication Protocol(CHAP):239-246
加解密演算法:
- 使用加密演算法:140-143
Cisco Discovery Protocol(CDP):312
無類別域間路由(CIDR):28
Cisco 路由器作為封包收集器:
- 參考連結:302
基本連線埠警示蜜罐:450
社群蜜罐:456
投訴模式:145
組態評估工具(CAT):137
已連線路由:25
Content Delivery Networks (CDNs):403
Cowrie:
- 參考連結:455
資格認證填塞攻擊:163
D
資料中心負載平衡器設計考量:
- 網路與管理考量因素:277,280
- 網路和管理注意事項:280,284
DNS 負載平衡:
- DNS伺服器:276
- 服務健康檢查:276
簽署委託(DS)記錄:175
DHCP 請求:
- 子網路:183,185
DHCP伺服器:
- 基本組態:191,193
- 組態:191
- 安裝:191
- 靜態預留:194,195
DHCP服務:
- 流氓DHCP客戶端:190
- 流氓DHCP伺服器:187,190
- 安全防護措施:187
DHCP Snooping:187
差異化服務程式碼點 (DSCP):54
dig 命令:166
數位鑑識和事件回應 (DFIR):11
數位使用者線路 (DSL):107
直接伺服器傳回 (DSR):272
探索、提供、請求、確認 (DORA):182
分散式蜜罐:456
發行版 (distro):7
dns.dot工具:
- 參考連結:174
DNS 負載平衡:
- DNS伺服器:276
- 健康檢查服務:276
DNS Masquerade (Dnsmasq):159
DNSSEC:175
DoH:166
網域名稱系統 (DNS):
- DNS基本概念:151
- DNS偵察手段:165
- DNS故障排除方法:165
Don’t Fragment (DF):36
DoT:
- Nmap中的實作方法:174
Dshield專案:
- LibreNMS :356
- SNMP網路裝置管理方法 :351
- SNMPv2c版本應使用案例項 :363
索引內容解密:
索引是檔案或書籍中用於快速查詢關鍵字或主題的部分。本索引涵蓋了與 Linux 網路專業人員相關的各種技術主題,包括網路協定、安全措施、系統組態等。索引中的每個條目都指向檔案中相應的頁碼,以便讀者快速定位到相關內容。
圖表說明:
此圖表展示了索引的主要分類別和對應的頁碼。
@startuml
skinparam backgroundColor #FEFEFE
skinparam componentStyle rectangle
title Linux網路技術與安全管理
package "安全架構" {
package "網路安全" {
component [防火牆] as firewall
component [WAF] as waf
component [DDoS 防護] as ddos
}
package "身份認證" {
component [OAuth 2.0] as oauth
component [JWT Token] as jwt
component [MFA] as mfa
}
package "資料安全" {
component [加密傳輸 TLS] as tls
component [資料加密] as encrypt
component [金鑰管理] as kms
}
package "監控審計" {
component [日誌收集] as log
component [威脅偵測] as threat
component [合規審計] as audit
}
}
firewall --> waf : 過濾流量
waf --> oauth : 驗證身份
oauth --> jwt : 簽發憑證
jwt --> tls : 加密傳輸
tls --> encrypt : 資料保護
log --> threat : 異常分析
threat --> audit : 報告生成
@enduml網路安全與管理技術
網路基礎與安全防護
網路安全是現代資訊科技環境中的關鍵要素。有效的網路管理與安全防護需要結合多種技術與工具來實作。本將探討網路安全的核心概念、相關技術以及實務應用。
網路基礎架構安全
網路基礎架構的安全性是整個網路系統安全的基礎。主要涉及以下幾個方面:
DNS伺服器安全
- 內部DNS伺服器(iDNS)的安全組態
- 網際網路對外DNS伺服器的安全防護
- DNS遞迴查詢的安全控制
網路存取控制
- 使用RADIUS實作多因素認證(MFA)
- 網路存取伺服器(NAS)的組態與管理
- 實施網路存取控制的最佳實踐
網路流量監控與分析
有效的網路監控是發現和應對安全威脅的關鍵。主要技術包括:
NetFlow資料收集
- 在Linux系統上收集NetFlow資料
- 設定路由器和交換器以支援流量收集
- 使用NFDump和NFSen進行流量分析
入侵偵測與防禦系統(IDS/IPS)
- IDS/IPS的架構選項與實作
- 規則建構與事件處理
- 躲避技術的偵測與防禦
負載平衡與高用性
負載平衡技術可以提升網路服務的可用性和效能。主要實作方式包括:
HAProxy負載平衡器
- 建置HAProxy NAT/代理負載平衡器
- 設定HTTPS前端服務
- 效能調校與持久連線設定
負載平衡演算法
- 常見的負載平衡演算法介紹
- 不同場景下的演算法選擇
蜜罐技術與應用
蜜罐技術是網路安全領域的一種主動防禦手段。主要特點包括:
蜜罐的基本概念
- 蜜罐的定義與分類別
- 蜜罐在現代網路中的佈署場景
蜜罐的實務應用
- 在DMZ區域佈署蜜罐
- 在內部網路中使用蜜罐
- 風險評估與佈署策略
網路安全管理最佳實踐
有效的網路安全管理需要結合技術實作和流程規範。主要的最佳實踐包括:
日誌管理與分析
- 使用Syslog進行日誌收集
- 日誌分析與告警設定
- 日誌儲存與輪替策略
合規性與法規要求
- 產業特定安全標準的遵循
- 法規遵從的重要性
- 合規性稽核與風險評估
網路安全與管理索引
網路監控與分析工具
網路監控是確保網路穩定性和安全性的關鍵步驟。以下是一些常用的網路監控與分析工具:
封包捕捉工具
- tcpdump:命令列下進行封包捕捉和分析的工具。
- TShark:Wireshark的命令列版本,用於捕捉和分析網路流量。
- Wireshark:圖形化的封包分析工具,用於深入分析和檢測網路問題。
網路流量分析
- sFlow:一種用於監控網路流量的技術,能夠提供詳細的流量資訊。
- NetFlow:由Cisco開發的網路流量監控協定,用於收集和分析網路流量資料。
網路安全防護
網路安全防護涉及多個層面,包括身份驗證、存取控制和入侵檢測等。
身份驗證協定
- RADIUS:遠端身份驗證撥號使用者服務,用於網路存取控制和身份驗證。
- EAP-TLS:擴充套件身份驗證協定-傳輸層安全,用於無線和有線網路的身份驗證。
防火牆和入侵檢測系統
- Snort 和 Suricata:開源的入侵檢測和防禦系統,用於檢測和阻止惡意流量。
網路管理和監控
有效的網路管理需要綜合運用各種工具和技術。
SNMP(簡單網路管理協定)
- 用於管理和監控網路裝置,提供裝置狀態和效能資料。
Syslog
- 用於日誌記錄和事件管理的協定,能夠集中收集和分析網路裝置的日誌資訊。
虛擬化和雲端技術
虛擬化和雲端技術正在改變傳統的網路架構和管理方式。
虛擬化技術
- 提高資源利用率和靈活性,簡化了網路管理和佈署。
虛擬私有網路(VPN)
- 用於在公共網路上建立加密的私有網路連線,確保資料傳輸的安全性。
網路威脅與防禦
瞭解和防禦各種網路威脅是網路安全管理的重要部分。
蜜罐技術
- 用於誘捕和分析攻擊者行為,增強對網路威脅的瞭解和防禦能力。
Web應用防火牆(WAF)
- 用於保護Web應用免受SQL注入、跨站指令碼(XSS)等攻擊。