網路安全基礎
Vibe Prompt
「解釋 TCP 三向交握、DNS 查詢過程、HTTPS TLS 協商,並指出每個階段的潛在攻擊點。」
OSI 模型與攻擊
| 層級 | 協定 | 攻擊方式 | |------|------|---------| | L7 應用層 | HTTP, DNS | SQL Injection, XSS | | L6 表達層 | SSL/TLS | 降級攻擊 | | L5 會話層 | SOCKS | 階段劫持 | | L4 傳輸層 | TCP, UDP | SYN Flood, DDoS | | L3 網路層 | IP | IP Spoofing | | L2 資料鏈結層 | ARP | ARP Spoofing | | L1 實體層 | 電纜 | 竊聽 |
常見攻擊
- SYN Flood:發送大量 SYN 封包不完成握手
- DNS Spoofing:偽造 DNS 回應
- DDoS:分散式阻斷服務
- Man-in-the-Middle:中間人攻擊
Vibe Prompt
「幫我寫一個 Python 腳本監控網卡流量,當某 IP 的連線數超過 100 時發出警報。」
import psutil
import time
from collections import defaultdict
connections = defaultdict(int)
threshold = 100
while True:
for conn in psutil.net_connections():
if conn.status == 'ESTABLISHED' and conn.raddr:
connections[conn.raddr.ip] += 1
for ip, count in connections.items():
if count > threshold:
print(f"⚠️ 可疑 IP {ip}: {count} 條連線")
connections.clear()
time.sleep(5)
關鍵要點
OSI 七層 vs TCP/IP 四層
| OSI 七層 | TCP/IP 四層 | 協定範例 | 安全考量 | |:--------:|:-----------:|---------|---------| | 應用層 | 應用層 | HTTP, DNS, SMTP | WAF, 輸入驗證 | | 表達層 | ↑ | TLS/SSL | 憑證管理 | | 會話層 | ↑ | SOCKS | 防火牆規則 | | 傳輸層 | 傳輸層 | TCP, UDP | 連線追蹤, DDoS 防護 | | 網路層 | 網路層 | IP, ICMP | ACL, 路由過濾 | | 資料鏈結層 | 網路介面層 | Ethernet, ARP | MAC 過濾, VLAN | | 實體層 | ↑ | 光纖、無線 | 實體門禁 |
縱深防禦 (Defense in Depth)
應用層 (WAF, 輸入驗證)
↑
傳輸層 (TLS 加密)
↑
網路層 (Firewall, ACL)
↑
資料層 (加密, RBAC)
↑
實體層 (資料中心門禁)
常見防火牆類型
| 類型 | 層級 | 特點 | |:----:|:----:|------| | Packet Filter | 網路層 | 檢查 IP + Port,速度快 | | Stateful | 傳輸層 | 追蹤連線狀態,更安全 | | Application (WAF) | 應用層 | 檢查 HTTP 內容,防 SQL Injection, XSS | | Next-Gen (NGFW) | 多層 | 整合 IDS/IPS + 應用層識別 |
網路安全的縱深防禦
沒有任何單一防護措施是完美的。縱深防禦(Defense in Depth)的概念是:建立多層防護,一層被突破還有下一層。
防禦層次
| 層次 | 防護 | |:----|:----| | 邊界層 | 防火牆、WAF、DDoS 防護 | | 網路層 | VLAN 分割、NACL、VPN | | 主機層 | 作業系統更新、防毒、HIDS | | 應用層 | 程式碼審查、SAST、DAST | | 資料層 | 加密、存取控制、備份 |
下一章預告:防火牆與 IDS
這一章是網路安全的總覽。下一章深入防火牆與入侵偵測系統——如何設定過濾規則、偵測異常流量。