NAT là gì?
NAT (Network Address Translation - Dịch địa chỉ mạng) là kỹ thuật ánh xạ địa chỉ IP riêng (Private IP - RFC 1918: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) sang địa chỉ IP công cộng (Public IP) và ngược lại, cho phép các thiết bị trong mạng nội bộ truy cập Internet bằng một (hoặc ít) địa chỉ IP công cộng.
Mục đích chính của NAT
- Giảm thiểu cạn kiệt IPv4: Cho phép hàng nghìn thiết bị nội bộ dùng 1 IP công cộng.
- Che giấu topology nội bộ: Internet chỉ thấy IP công cộng, không thấy cấu trúc IP riêng bên trong.
- Kiểm soát truy cập: Chỉ cho phép kết nối ra (Outbound) hoặc kết nối vào (Inbound) theo quy tắc (Port Forwarding, DMZ).
- Tính linh hoạt: Thay đổi ISP/IP công cộng không cần cấu hình lại toàn bộ mạng nội bộ.
Các loại NAT phổ biến
| Loại NAT | Cơ chế | Ứng dụng |
|---|---|---|
| Static NAT (1:1) | Ánh xạ 1 Private IP ↔ 1 Public IP cố định | Server công cộng (Web, Mail) cần IP cố định |
| Dynamic NAT | Ánh xạ Private IP ↔ Public IP từ Pool (Pool cạn → chờ) | Ít dùng, thay thế bởi PAT |
| PAT / NAT Overload (N:1) | Nhiều Private IP dùng chung 1 Public IP, phân biệt bằng Port số (Source Port) | Phổ biến nhất: Router gia đình, văn phòng, Carrier-grade NAT (CGNAT) |
| Port Forwarding (DNAT) | Chuyển tiếp traffic từ Public IP:Port → Private IP:Port | Host server nội bộ (Web, Game, Remote Desktop) ra Internet |
| NAT Loopback / Hairpin NAT | Client nội bộ truy cập Public IP của chính mạng mình (được DNAT về server nội bộ) | Test server nội bộ bằng domain công cộng |
NAT có cung cấp bảo mật không? (Câu hỏi cốt lõi)
✅ Những gì NAT LÀM ĐƯỢC về mặt bảo mật:
- Ẩn địa chỉ IP nội bộ: Kẻ ngoài không thể truy cập trực tiếp Private IP. Phải qua Public IP + Port Forwarding quy tắc.
- Chặn kết nối vào không mong muốn (Unsolicited Inbound): Stateful NAT/Firewall chỉ cho phép traffic Inbound là phản hồi của Outbound đã thiết lập (State table). Tấn công quét cổng ngẫu nhiên từ Internet bị chặn tại biên.
- Giảm bề mặt tấn công (Attack Surface): Chỉ Public IP exposed. Nội bộ an toàn hơn nếu không có Port Forwarding.
- Kiểm soát Egress (Outbound): Có thể lọc/chặn traffic ra ngoài (ví dụ: chặn truy cập C2, malware download) tại Gateway NAT.
❌ Những gì NAT KHÔNG LÀM ĐƯỢC (Không phải tường lửa thực sự):
- Không kiểm tra nội dung gói tin (Payload Inspection): NAT chỉ nhìn Header IP/TCP/UDP. Không thấy malware trong HTTP, PDF, DNS tunneling, SQLi, XSS.
- Không ngăn chặn tấn công Layer 7: SQL Injection, XSS, Command Injection, Path Traversal, API Abuse.
- Không ngăn chặn Outbound Malicious Traffic nếu không cấu hình rule chặn (Mặc định NAT cho phép tất cả Outbound).
- Không bảo vệ khỏi tấn công từ nội bộ (Insider Threat).
- Không chống DDoS volumetric (Cần DDoS Protection service).
- NAT Traversal Techniques tồn tại: STUN, TURN, ICE, UPnP, NAT-PMP, Hole Punching cho phép P2P vượt NAT.
- IPv6 không cần NAT (Đủ địa chỉ) → Bảo mật phải dựa trên Firewall/IPv6 ACL, không phải NAT.
⚠️ Rủi ro nếu tin NAT = Bảo mật
- Cài Port Forwarding (DMZ) cho server nội bộ → Mở cửa trực tiếp từ Internet.
- UPnP bật mặc định → Malware/IoT tự mở port ra ngoài.
- Kẻ tấn công đã có foothold nội bộ → NAT không cản trở lateral movement.
- CGNAT (Carrier-Grade NAT) của ISP: Nhiều khách hàng chung 1 Public IP → Khó truy vết, khó hosting, khó geo-blocking.
NAT trong IPv6
- IPv6 có không gian địa chỉ khổng lồ (2^128) → Không cần NAT để tiết kiệm IP.
- Dùng NPTv6 (Network Prefix Translation) hoặc ULA (Unique Local Address) cho mạng riêng nếu cần.
- Bảo mật IPv6 dựa trên: Stateful Firewall (IPv6 ACL), IPsec, RA Guard, DHCPv6 Guard, SAVI.
- Không nên dùng NAT66 như NAT44 - vi phạm nguyên tắc end-to-end của IPv6.
NAT & Tường lửa (Firewall) - Mối quan hệ
Hầu hết Router hiện đại (Home, Enterprise, Cloud) kết hợp: Stateful Firewall + NAT.
- Firewall: Quyết định CHO PHÉP / TỪ CHỐI dựa trên Policy (L3/L4/L7).
- NAT: Dịch địa chỉ IP/Port cho gói tin ĐƯỢC PHÉP đi qua.
- Thứ tự xử lý: Ingress → Firewall Inbound Policy → NAT (DNAT) → Routing → Firewall Outbound Policy → NAT (SNAT/PAT) → Egress.
Ví dụ thực tế: Router gia đình (PAT/NAT Overload)
- Laptop (192.168.1.50:54321) → Request google.com:443
- Router NAT: Tạo entry State Table:
192.168.1.50:54321 ↔ 203.0.113.5:34567 - Gói tin ra Internet: Src IP=203.0.113.5, Src Port=34567
- Google reply: Dst IP=203.0.113.5, Dst Port=34567
- Router NAT: Tra State Table → Dịch về 192.168.1.50:54321 → Forward đến Laptop
- Kẻ ngoài scan 203.0.113.5:80 → Không có State Table entry → Firewall/NAT Drop.
Kết luận
NAT là cơ chế chia sẻ địa chỉ IP thiết yếu cho IPv4, mang lại lợi ích bảo mật phụ (side-effect) là ẩn địa chỉ nội bộ và chặn unsolicited inbound traffic nhờ Stateful Inspection. Tuy nhiên, NAT KHÔNG THAY THẾ TƯỜNG LỬA (FIREWALL). Một chiến lược an ninh mạng đúng đắn phải có: Firewall (L3/L4/L7) + NAT + Segmentation + IDS/IPS + EDR + Zero Trust + Logging/Monitoring. Đặc biệt với IPv6, NAT không còn cần thiết, bảo mật phải hoàn toàn dựa vào Firewall và kiểm soát truy cập rõ ràng.