Mục tiêu chương / Learning objectives
- Thiết kế kiến trúc mạng layered defense với DMZ, phân đoạn VLAN và microsegmentation.
- So sánh Packet-filter, Stateful và NGFW — chọn loại phù hợp theo use case.
- Phân biệt NIDS/HIDS và IPS về vị trí triển khai và cơ chế phát hiện.
- Giải thích IPSec (ESP/AH/IKEv2), OpenVPN và WireGuard — ưu nhược điểm mỗi giao thức.
- Cấu hình NAC/802.1X và WPA3 Enterprise cho môi trường doanh nghiệp.
- Áp dụng SPF, DKIM và DMARC để bảo vệ domain khỏi email spoofing.
1. Lý thuyết cốt lõi / Core theory
1.1. Kiến trúc mạng bảo mật — Defense in Depth
Nguyên lý Defense in Depth (phòng thủ theo chiều sâu): không dựa vào một lớp bảo vệ duy nhất. Kiến trúc điển hình:
- Internet → Edge Firewall/Router: lọc traffic theo IP/port, chặn các nước/IP đã biết độc hại.
- DMZ (Demilitarized Zone): vùng "trung lập" đặt web server, mail server, reverse proxy — cô lập khỏi mạng nội bộ. Nếu server DMZ bị compromise, attacker vẫn phải vượt qua internal firewall.
- Internal Firewall: phân đoạn mạng nội bộ theo zone (Finance, HR, IT, OT).
- Microsegmentation: dùng SDN hoặc host-based firewall để kiểm soát traffic East-West (giữa các server trong cùng segment) — ngăn lateral movement của attacker.
Phân biệt 3 loại Firewall: Packet filter (stateless — chỉ xem IP/port/protocol của từng packet độc lập, nhanh nhưng dễ bypass); Stateful inspection (theo dõi trạng thái kết nối TCP, phát hiện packet lạ trong connection); NGFW (Next-Generation — deep packet inspection, application awareness, user identity, SSL inspection, integrated IPS).
1.2. IDS/IPS — Phát hiện và ngăn chặn xâm nhập
IDS (Intrusion Detection System): phát hiện và alert — không chặn. IPS (Intrusion Prevention System): phát hiện và chặn inline. Hai phương pháp phát hiện: Signature-based (so sánh với database pattern đã biết — nhanh, ít false positive, không phát hiện zero-day); Anomaly-based (so sánh với baseline bình thường — phát hiện zero-day nhưng nhiều false positive). Vị trí: NIDS (Network — tại network choke point, monitor toàn bộ segment); HIDS (Host — trên từng endpoint, monitor file system, registry, process).
1.3. VPN Protocols — IPSec, OpenVPN, WireGuard
IPSec: hoạt động ở Layer 3. Transport mode (mã hóa payload, giữ IP header — dùng giữa host). Tunnel mode (mã hóa toàn bộ packet, thêm IP header mới — dùng site-to-site VPN). Hai giao thức: AH (Authentication Header — integrity & authentication, không mã hóa); ESP (Encapsulating Security Payload — mã hóa + authentication). IKEv2 là giao thức trao đổi khóa hiện đại nhất cho IPSec.
OpenVPN: dùng TLS/SSL, hoạt động ở Layer 3/4, cross-platform, dễ bypass firewall (dùng port TCP 443). WireGuard: giao thức hiện đại nhất — code base cực nhỏ (~4000 LOC vs ~400K của OpenVPN), cryptography state-of-the-art (ChaCha20, Curve25519), hiệu suất vượt trội, đơn giản hơn nhiều để cấu hình.
1.4. NAC/802.1X, WPA3 và DDoS Mitigation
NAC (Network Access Control): kiểm tra thiết bị trước khi cho vào mạng (device health check — patch level, AV status, compliance). 802.1X: chuẩn xác thực ở Layer 2 — thiết bị phải xác thực với RADIUS server trước khi switch cấp quyền truy cập port. EAP (Extensible Authentication Protocol) là framework xác thực bên trong 802.1X.
WPA3-Enterprise: dùng 802.1X + RADIUS, mã hóa 192-bit (suite B), Simultaneous Authentication of Equals (SAE) thay PSK — chống offline dictionary attack. DDoS mitigation: rate limiting (giới hạn requests/IP/giây), scrubbing center (lọc traffic trước khi vào — Cloudflare/Akamai), anycast routing (phân tán traffic DDoS về nhiều PoP).
1.5. Email Security — SPF, DKIM, DMARC
SPF (Sender Policy Framework): DNS TXT record liệt kê IP được phép gửi email thay mặt domain. Ví dụ: v=spf1 include:_spf.google.com ~all. Ngăn chặn IP lạ giả mạo domain. DKIM (DomainKeys Identified Mail): email được ký bằng private key của domain — người nhận dùng public key trong DNS để xác minh. Đảm bảo email không bị sửa đổi trong transit. DMARC (Domain-based Message Authentication, Reporting & Conformance): policy cho biết phải làm gì khi email fail SPF/DKIM (none/quarantine/reject) và địa chỉ nhận report. DMARC = SPF + DKIM + enforcement policy.
2. Bài thực hành / Hands-on labs
Lab 1 — Kiểm tra Firewall và kết nối mạng (PowerShell)
OS: Windows 11 · Tool: PowerShell 7 (Run as Administrator)
# Xem tất cả firewall rule đang bật, chiều Inbound
Get-NetFirewallRule -Enabled True |
Where-Object { $_.Direction -eq 'Inbound' } |
Select-Object DisplayName, LocalPort, RemoteAddress, Action |
Format-Table -AutoSize | Select-Object -First 20
# Kiểm tra kết nối TCP đến một host cụ thể
Test-NetConnection -ComputerName google.com -Port 443
# Kiểm tra nhiều port một lúc (port scan chính mình)
80, 443, 22, 3389, 8080 | ForEach-Object {
$result = Test-NetConnection -ComputerName localhost -Port $_ -WarningAction SilentlyContinue
[PSCustomObject]@{ Port = $_; Open = $result.TcpTestSucceeded }
} | Format-Table -AutoSize
# DNS lookup với server cụ thể
Resolve-DnsName google.com -Server 8.8.8.8 | Select-Object Name, Type, IPAddress
# Kiểm tra SPF record của domain
Resolve-DnsName hoatranlab.io.vn -Type TXT -Server 8.8.8.8 |
Where-Object { $_.Strings -like "*spf*" } | Select-Object Strings
# Routing table — hiểu traffic đi đâu
Get-NetRoute | Where-Object { $_.DestinationPrefix -ne '::1/128' -and $_.DestinationPrefix -ne '127.0.0.1/8' } |
Select-Object DestinationPrefix, NextHop, InterfaceAlias | Sort-Object DestinationPrefix
✅ Kết quả mong đợi / Expected output: Danh sách firewall rules — port 3389 (RDP) mở Inbound mà không có RemoteAddress restriction là rủi ro cao. Test-NetConnection cho thấy TcpTestSucceeded: True/False. Port scan local phát hiện service không cần thiết đang listen. SPF record có dạng v=spf1 ... ~all hoặc -all.
Lab 2 — iptables rate limiting + nmap + fail2ban (Ubuntu 22.04)
OS: Ubuntu 22.04 · Tool: Bash + nmap + fail2ban (sudo apt install nmap fail2ban -y)
# Xem firewall rules hiện tại
sudo iptables -L -n --line-numbers
# Thêm rate limiting cho SSH — chống brute force
# Cho phép tối đa 3 kết nối SSH mới trong 60 giây từ cùng IP
sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW \
-m recent --set --name SSH_RATE
sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW \
-m recent --update --seconds 60 --hitcount 4 \
--name SSH_RATE -j DROP
# Kiểm tra port scan trên localhost (chỉ test lab — không dùng trên hệ thống production mà không cho phép)
sudo nmap -sS -O localhost --top-ports 20 2>/dev/null
# Kiểm tra trạng thái fail2ban cho SSH
sudo fail2ban-client status
sudo fail2ban-client status sshd
# Xem IP nào đang bị ban
sudo fail2ban-client get sshd banned
# Kiểm tra cấu hình fail2ban SSH jail
sudo cat /etc/fail2ban/jail.conf | grep -A 10 "\[sshd\]"
# Verify iptables sau khi fail2ban hoạt động
sudo iptables -L f2b-sshd -n 2>/dev/null || echo "fail2ban chain not yet created"
✅ Kết quả mong đợi / Expected output: iptables -L hiển thị chain INPUT với rule DROP cho SSH rate exceeding. nmap hiển thị ports đang open trên localhost (port 22 SSH, các port khác tùy service đang chạy). fail2ban-client status sshd hiển thị số IP bị ban hiện tại và tổng số lần ban. Ý nghĩa: đây là tầng bảo vệ cơ bản nhất — IPS đơn giản dựa trên rate limiting và pattern matching.
3. Tình huống doanh nghiệp / Real-world scenario
Bối cảnh:
Phòng IT nhận báo cáo: nhiều khách hàng nhận email giả mạo từ domain @company.com thông báo thay đổi thông tin ngân hàng — email giả mạo thuyết phục đến mức nhiều khách hàng tin tưởng. Điều tra phát hiện domain không có DMARC policy.
Triển khai SPF + DKIM + DMARC:
- Audit hiện trạng:
nslookup -type=TXT company.com— kiểm tra SPF và DMARC record đang có chưa. Dùng MXToolbox để phân tích toàn diện. - SPF: Tạo record liệt kê tất cả mail server hợp lệ:
v=spf1 ip4:203.x.x.x include:sendgrid.net ~all. Ban đầu dùng~all(softfail) thay-all(hardfail) để tránh chặn email hợp lệ bị miss. - DKIM: Tạo key pair trên mail server, publish public key vào DNS:
selector1._domainkey.company.com TXT "v=DKIM1; k=rsa; p=MIIBIjAN...". - DMARC — monitor mode: Bắt đầu với
v=DMARC1; p=none; rua=mailto:[email protected]để nhận report mà không chặn. Sau 2–4 tuần phân tích report, chuyển sangp=quarantinerồip=reject. - Kết quả: Sau 2 tuần deploy, 100% email giả mạo bị từ chối tại mail server của người nhận.
Bài học: SPF + DKIM + DMARC là bộ ba bắt buộc — thiếu bất kỳ cái nào đều để kẻ tấn công có thể exploit. DMARC p=reject là mức bảo vệ cao nhất nhưng cần triển khai từng bước để không block email hợp lệ.
4. Tự kiểm tra / Knowledge check
- DMZ giải quyết vấn đề gì mà perimeter firewall đơn thuần không giải quyết được?
- Signature-based IDS và Anomaly-based IDS: loại nào phát hiện zero-day? Loại nào có nhiều false positive hơn?
- WireGuard ưu việt hơn OpenVPN ở điểm gì? Khi nào vẫn nên dùng OpenVPN?
- SPF record
~allkhác-allthế nào? Tại sao nên bắt đầu với~all? - 802.1X NAC bảo vệ mạng khỏi điều gì mà VLAN thông thường không làm được?