一、網絡安全基礎
1. CIA三元組 (Confidentiality, Integrity, Availability)
-
機密性 (Confidentiality):確保信息只能由授權人員查看,防止信息泄露。加密技術(如AES、RSA)通常用于保護機密性。
-
完整性 (Integrity):確保數據在傳輸或存儲過程中未被未經授權的更改。哈希算法(如SHA-256)和數字簽名通常用于驗證數據完整性。
-
可用性 (Availability):確保信息在需要時對授權用戶可用。通過冗余、負載均衡、備份和容錯機制來保證可用性。
2. OSI安全服務 (OSI Security Services)
-
機密性:保護信息不被未授權者訪問。加密技術(如對稱加密和非對稱加密)用于確保數據機密性。
-
完整性:通過技術手段確保信息未被篡改。數字簽名、MAC(消息認證碼)和哈希函數可以用來保證數據的完整性。
-
鑒別:確認通信雙方的身份,確保沒有偽裝和冒充。常用的身份驗證方法包括用戶名/密碼、雙因素認證等。
-
訪問控制:通過定義用戶權限和角色,限制誰可以訪問系統和數據。常見技術有ACL(訪問控制列表)和RBAC(基于角色的訪問控制)。
-
抗拒抵賴:確保一方不能否認其已進行的操作或通信。通常通過數字簽名來確保抗拒抵賴。
3. AAA模型 (Authentication, Authorization, Accounting)
-
認證 (Authentication):驗證用戶或系統的身份,確保通信雙方確實是其聲稱的身份。
-
授權 (Authorization):在認證后,根據用戶的角色或權限控制用戶訪問的資源。
-
計賬 (Accounting):記錄用戶的活動行為,用于審計、追蹤及檢測異常行為。通常包括訪問日志、操作日志等。
二、網絡協議與防護技術
1. RADIUS/NAC 與零信任
-
802.1X 流程:802.1X是一個網絡接入控制協議,包括三個角色:
-
Supplicant(客戶端):發起連接的設備。
-
Authenticator(認證設備):驗證客戶端設備是否符合訪問條件,如交換機或無線接入點。
-
Radius Server(認證服務器):執行實際的身份驗證,決定是否允許設備接入網絡。
-
-
NAC四要素:NAC(網絡訪問控制)通過四個要素確保設備的安全性:
-
身份認證:驗證設備的身份。
-
姿態評估:檢查設備的安全狀態(如是否安裝了防病毒軟件、補丁等)。
-
策略執行:根據評估結果執行訪問策略。
-
持續監控:設備在網絡中持續監控,確保其行為符合安全標準。
-
2. TLS/SSL
-
TLS/SSL:傳輸層安全協議(TLS)和安全套接字層協議(SSL)都是用于加密網絡通信的協議。SSL已被TLS取代,TLS用于確保數據的機密性和完整性,并驗證通信雙方的身份。TLS通常工作在OSI模型的表示層(或會話層),用于加密數據傳輸。
3. DoS / DDoS 攻擊類型
-
SYN Flood:攻擊者發送大量的SYN請求,目標服務器無法處理所有請求,導致系統資源耗盡。
-
Smurf攻擊:攻擊者發送偽造的ICMP請求包到網絡廣播地址,使網絡上的所有主機向目標主機發送響應,從而產生流量風暴,耗盡目標系統的帶寬。
-
攻擊分類:
-
容量耗盡攻擊:消耗網絡帶寬或服務器資源,使目標系統無法響應正常流量。
-
協議耗盡攻擊:攻擊特定網絡協議(如TCP連接)導致協議資源耗盡。
-
應用層耗盡攻擊:攻擊特定應用(如Web服務器),通過消耗其資源使服務崩潰。
-
4. 掃描與滲透
-
TCP SYN 半開掃描:攻擊者發送SYN請求,但不完成三次握手,從而探測目標系統是否開放特定端口。
-
Netfilter流程:Linux中的Netfilter模塊用于包過濾,其數據包處理過程包括:
-
PREROUTING:處理入站數據包,修改目標地址。
-
INPUT / FORWARD:分別處理目標是本機或其他設備的數據包。
-
OUTPUT:處理離開本機的數據包。
-
POSTROUTING:處理出站數據包,修改源地址。
-
三、系統與平臺安全
1. Windows Server
-
Server Core:Windows Server的最小化安裝版本,去除了圖形用戶界面(GUI)和一些不必要的服務,減少了系統的攻擊面和補丁需求。
-
GS Cookie:Windows中的棧保護機制,通過在棧上插入“cookie”值,防止棧溢出攻擊。它通過確保返回地址未被惡意修改來保護程序的安全,但也存在一些局限性。
2. Linux / UNIX
-
DAC與MAC:
-
DAC(自主訪問控制):每個文件的擁有者控制該文件的訪問權限。
-
MAC(強制訪問控制):系統強制實施訪問控制策略,用戶不能自行更改文件的訪問權限。
-
-
SELinux/AppArmor:兩者都是Linux系統的安全模塊,提供強制訪問控制(MAC)。SELinux通過標簽實現細粒度的訪問控制,而AppArmor則通過路徑和應用程序配置進行控制。
3. SELinux專項
-
文件系統接口:
/sys/fs/selinux
文件夾用于查看和配置SELinux的狀態,可以修改SELinux的安全策略。 -
文件上下文:SELinux通過設置文件的安全上下文來控制文件的訪問權限。
semanage fcontext
命令用于定義文件上下文,restorecon
命令用于應用新的上下文配置。 -
布爾值:SELinux使用布爾值來控制特定安全策略的啟用或禁用。例如,
httpd_can_network_connect
控制Web服務器是否能訪問網絡。 -
標簽三元組:SELinux為系統中的每個對象(如進程、文件)分配標簽三元組(user:role:type),以便根據這些標簽進行安全策略的強制執行。
4. 虛擬化與云
-
Hypervisor → VM Escape:虛擬機監控程序(Hypervisor)負責管理虛擬機,VM Escape是指虛擬機能夠突破虛擬化環境的隔離,影響宿主機的安全。
-
多租戶隔離核心技術:虛擬交換機和虛擬防火墻用于云環境中多租戶的資源隔離,確保不同租戶的數據和網絡訪問不互相干擾。
5. 物聯網安全
-
感知層:物聯網中的感知層包括傳感器和設備,這一層最容易遭受物理篡改。攻擊者可能通過物理訪問設備來修改或竊取數據。
四、密碼學與安全通信
-
VPN基礎:虛擬私人網絡(VPN)是一種通過公用網絡(如互聯網)建立的安全通信隧道,用于保護數據傳輸的機密性和完整性。VPN廣泛用于遠程訪問、站點間互聯等。并非所有VPN都使用IPsec協議,某些VPN協議(如PPTP、L2TP)可以提供安全保護。
五、應用層與防火墻技術
1. 包過濾
-
L3/L4 字段:包過濾技術通過檢查IP層(L3)和傳輸層(L4)字段(如源/目標IP、端口號等)來決定數據包是否允許通過防火墻。
2. 狀態檢測
-
連接表:狀態檢測技術通過維護連接表,跟蹤每個會話的狀態,確保數據包屬于有效連接。如果數據包不屬于現有連接,則被丟棄。
3. 應用層代理(ALG)
-
深度解析 HTTP/SQL/DNS:應用層代理可以深入分析HTTP、SQL、DNS等協議的數據包,進行內容檢查和惡意內容阻止。
4. NAT & ACL
-
NAT:網絡地址轉換(NAT)用于將內部網絡的私有IP地址轉換為公共IP地址,便于多個設備共享一個公網IP。
-
ACL:訪問控制列表(ACL)用于限制網絡資源的訪問,基于源IP、目標IP、端口號等來定義訪問權限。
六、數據庫與數據安全
-
威脅來源:數據庫面臨的威脅來源包括物理威脅(如設備丟失)、系統威脅(如漏洞利用)和人為威脅(如員工濫用權限)。
-
權限最小化:確保用戶僅擁有完成任務所需的最小權限,減少數據泄露或濫用的風險。
-
備份鏈:數據庫的備份策略應包括差異備份和增量備份,確保數據在損壞時能夠恢復。
七、軟件安全與緩解
1. 經典棧溢出
-
緩沖區溢出、返回地址覆蓋:通過緩沖區溢出攻擊,攻擊者可以覆蓋棧中的返回地址,從而控制程序的執行流。
-
安全編碼:使用安全的編碼函數(如
strncpy()
)來防止緩沖區溢出。 -
ROP繞過:利用ROP(返回導向編程)技術,繞過棧保護(如ASLR、NX、Canary)來執行惡意代碼。
2. 利用流程
-
偏移定位、Shellcode + NOP sled:通過確定溢出偏移位置和構造Shellcode,攻擊者利用NOP sled(無操作指令填充)來確保攻擊成功。
-
Canary處理、JMP ESP地址搜尋:通過繞過棧保護機制,攻擊者找到合適的內存地址并執行惡意代碼。
3. 緩解機制
-
DEP/NX、ASLR、Stack Canary:通過數據執行保護、地址空間布局隨機化和棧保護機制減少棧溢出攻擊的風險。
八、DDoS攻防補充
-
SYN、UDP、ICMP放大攻擊:通過利用協議漏洞放大攻擊流量,導致目標系統無法正常運行。
-
云清洗 & Anycast:通過云清洗技術和Anycast技術分散流量,緩解DDoS攻擊。
九、綜合運維與故障分析
1. Apache目錄遷移 + SELinux
-
遷移流程:包括規劃、備份、修改配置文件等,確保遷移后的目錄訪問權限正確,并通過
semanage fcontext
和restorecon
等命令確保SELinux策略的正確應用。
2. 網絡設備安全加固
-
路由器登錄安全:使用SSH代替Telnet進行遠程管理,限制vty訪問,并設置登錄失敗鎖定,防止暴力破解攻擊。