4 điểm bởi GN⁺ 2026-01-22 | 1 bình luận | Chia sẻ qua WhatsApp
  • Lập luận cho rằng IPv4 an toàn hơn vì mặc định sử dụng NAT xuất phát từ sự nhầm lẫn giữa bảo mật và chuyển đổi địa chỉ
  • NAT (Network Address Translation) không phải là tính năng bảo mật mà là cơ chế tiết kiệm địa chỉ nhằm giải quyết tình trạng thiếu hụt địa chỉ IPv4
  • Cách NAT hoạt động về bản chất chỉ là cho phép nhiều thiết bị cùng chia sẻ một địa chỉ IP công cộng dựa trên ánh xạ cổng
  • Trên thực tế, thành phần chặn lưu lượng từ bên ngoài không phải NAT mà là tường lửa trạng thái (stateful firewall)
  • Ngay cả trong môi trường IPv6, tường lửa mặc định cũng chặn lưu lượng không được phép nên việc không có NAT không đồng nghĩa với bảo mật suy yếu

Nhầm lẫn giữa NAT và bảo mật

  • Quan điểm cho rằng IPv4 an toàn hơn vì dùng NAT là một nhận thức sai lầm
    • NAT không phải tính năng bảo mật mà là công nghệ phục vụ bảo toàn địa chỉ (address conservation)
    • IPv6 cũng có thể dùng NAT, nhưng điều đó không làm tăng bảo mật
  • NAT cho phép nhiều thiết bị trong mạng nội bộ cùng chia sẻ một địa chỉ IP công cộng
    • Việc định tuyến được thực hiện bằng cách ghi lại địa chỉ IP đích (rewrite) dựa trên cổng đích của gói tin
    • Nó hoạt động theo các quy tắc ánh xạ cổng (port mapping) hoặc chuyển tiếp cổng (port forwarding) do quản trị viên mạng cấu hình

Cách NAT thực sự hoạt động

  • Trong môi trường NAT, lưu lượng đi vào từ bên ngoài sẽ không được chuyển tới thiết bị nội bộ nếu có cổng đích không được dự kiến
    • Loại lưu lượng này sẽ dừng lại ở thiết bị có IP công cộng và không được định tuyến vào mạng nội bộ
  • Vì vậy NAT có vẻ như đang chặn truy cập từ bên ngoài, nhưng đó chỉ là kết quả phụ chứ không phải mục tiêu thiết kế về bảo mật

Vai trò của tường lửa

  • Hiệu ứng bảo mật thường bị hiểu nhầm là do NAT mang lại thực chất xuất phát từ tường lửa trạng thái (stateful firewall)
    • Phần lớn router hiện đại đều bao gồm chính sách tường lửa chặn lưu lượng đi vào theo mặc định, bất kể có dùng NAT hay không
    • Tường lửa sẽ loại bỏ (drop) lưu lượng đích không được dự kiến trước khi ghi lại gói tin hoặc định tuyến
  • Ví dụ, các quy tắc tường lửa IPv6 mặc định của router UniFi như sau
    • Cho phép lưu lượng Established/Related (lưu lượng phản hồi outbound)
    • Chặn lưu lượng Invalid
    • Chặn mọi lưu lượng khác

Bảo mật trong môi trường IPv6

  • Ngay cả trong mạng IPv6, các quy tắc tường lửa mặc định vẫn chặn lưu lượng inbound không được phép
    • Mức bảo vệ tương đương vẫn được áp dụng ngay cả khi không dùng NAT
  • Muốn cho phép lưu lượng không được yêu cầu từ bên ngoài tới thiết bị IPv6, phải thêm quy tắc tường lửa một cách tường minh
    • Điều này được áp dụng như nhau bất kể có sử dụng NAT hay không

Kết luận

  • Không có căn cứ cho nhận định rằng IPv6 kém an toàn hơn chỉ vì không sử dụng NAT
  • Bảo mật thực tế được quyết định bởi chính sách tường lửa và các quy tắc kiểm soát lưu lượng, không phải NAT
  • Ngay cả trong môi trường IPv6, vẫn có thể duy trì chiến lược bảo mật mặc định từ chối (default-deny) thông qua cấu hình tường lửa phù hợp

1 bình luận

 
GN⁺ 2026-01-22
Ý kiến trên Hacker News
  • Khuyên nên xem mục 5 của RFC 4787 trước khi tham gia thảo luận
    NAT không phải là tường lửa nhưng vẫn lọc lưu lượng, và vì vậy cung cấp một mức độ chức năng bảo mật nhất định
    Trong thực tế, NAT đã phát triển vượt ra ngoài việc chỉ chuyển đổi địa chỉ, và ngay cả khi IPv6 không dùng NAT thì vẫn có thể triển khai cùng kiểu lọc bằng tường lửa

    • RFC 4787 khác với triển khai thực tế. Hầu hết router SOHO dựa trên Linux, nên việc bàn về cách hoạt động của NAT dựa trên netfilter sẽ thực tế hơn
      Linux netfilter triển khai cả NAT lẫn tường lửa; các quy tắc DNAT/SNAT trong bảng nat là NAT, còn các quy tắc REJECT/DROP trong bảng filter đóng vai trò tường lửa
      Nếu chỉ áp dụng quy tắc NAT, thì cả lưu lượng không thuộc kết nối hiện có cũng vẫn đi qua như thường
    • Mục đó trong RFC 4787 nói về kết nối outbound
      Nó đề cập đến quá trình NAT tạo bảng trạng thái khi thiết lập kết nối đi ra ngoài, rồi cho phép các gói inbound tương ứng đi vào
      Tức là “filtering” trong tài liệu này không có nghĩa là chặn các kết nối inbound không được yêu cầu
    • IPv6 không kém an toàn hơn chỉ vì không có NAT, nhưng cấu hình mặc định (defaults) rất quan trọng
      IPv6 có thể an toàn ngang IPv4, nhưng điều đó còn tùy cấu hình
    • Theo 30 năm kinh nghiệm IT, môi trường NAT khuyến khích thiết kế lười biếng
      Việc kỹ sư hệ thống và ứng dụng không hiểu vấn đề một cách toàn diện rồi dựa dẫm vào NAT và tường lửa biên là một thói quen bảo mật tệ
    • RFC không phải lúc nào cũng là chuẩn mực tuyệt đối
      Đặc biệt khi càng xa rời triển khai thực tế thì độ đáng tin của RFC càng giảm
  • Trong các mạng di động ở Mỹ, IPv6 được dùng mà không cần NAT
    Ví dụ, T-Mobile dùng 464XLAT để tunnel IPv4 qua IPv6
    Điều này cho thấy tường lửa trạng thái có thể vận hành ở quy mô lớn ngay cả khi không có NAT

    • Trên mạng Elisa ở Phần Lan, kết nối TCP inbound qua IPv6 hoạt động tốt
      Đã thử bằng Termux và netcat; IPv4 nằm sau CGNAT, nhưng IPv6 có thể kết nối trực tiếp
    • Tò mò vì sao “điện thoại thông minh không thể hoạt động như máy chủ”
    • Tôi cho rằng việc thiết bị cá nhân có thể trực tiếp cung cấp dữ liệu là một quyền tự nhiên
      Nếu dung lượng mạng không đủ thì cần giải quyết điều đó
      Khi IPv6 trở nên phổ biến, mọi người sẽ coi việc giao tiếp trực tiếp là điều hiển nhiên
    • Khi dùng hotspot, không rõ PC khách có nhận cùng một địa chỉ IPv6 hay không
    • Thiết bị di động bị giới hạn trong môi trường sandbox
  • Điều đầu tiên tôi học khi làm kỹ sư mạng là mối quan hệ giữa NAT và bảo mật
    Địa chỉ private của IPv4 (192.168.0.1) khó bị truy cập từ bên ngoài, nhưng địa chỉ global của IPv6 có thể làm lộ thông tin về thiết bị
    IPv6 có các lựa chọn thay thế như Prefix Translation, cho phép giữ lại một phần ưu điểm của NAT trong khi vẫn có truy cập minh bạch

    • So sánh địa chỉ private của IPv4 với địa chỉ global của IPv6 là không công bằng
      Cần đặt cả hai vào cùng bối cảnh địa chỉ nội bộ hoặc địa chỉ bên ngoài thì mới so sánh công bằng được
      Trong môi trường CGNAT thì không thể có kết nối inbound, nên trên IPv6 cũng có thể hạn chế theo cách tương tự
    • Dù địa chỉ nội bộ có bị lộ thì điểm tấn công thực tế vẫn là tường lửa biên Internet
      Có thể dùng NAT66 để che prefix, nhưng lợi ích bảo mật thực tế không lớn
    • 192.168.0.1 từng quá dễ truy cập (giọng điệu nửa đùa nửa thật)
    • NAT66 là một “cái ác cần thiết”, nhưng trong một số tình huống có thể là lựa chọn tốt nhất
  • Nhiều hacker nhầm lẫn giữa NAT và tường lửa
    NAT không được tạo ra vì mục đích bảo mật, và bảo mật là do tường lửa cung cấp

    • Tôi hiểu sự khác biệt giữa NAT và tường lửa, nhưng trong thực tế chúng hoạt động cùng nhau
      NAT là namespacing, còn tường lửa là bảo mật dựa trên chính sách
      Bản thân namespacing cũng là một thuộc tính bảo mật mạnh vì khiến kẻ tấn công “thậm chí không biết tên” của tài nguyên
      Tường lửa IPv6 có thể vô tình phơi ra toàn thế giới chỉ với một dòng quy tắc sai
    • NAT chặn truy cập từ bên ngoài nên có hiệu quả bảo mật thực tế
      Ngay cả không có tường lửa, chỉ riêng NAT cũng có thể bảo vệ tài nguyên nội bộ
      NAT giúp giảm bề mặt tấn công của mạng gia đình xuống còn một router
    • NAT cung cấp hành vi mà đa số người dùng mong muốn như một mặc định
      Trong khi đó, cấu hình mặc định của tường lửa có thể khác nhau, nên IPv6 đôi khi bị người dùng phổ thông cảm nhận như một bước lùi về bảo mật
    • NAT dùng cho người tiêu dùng trên thực tế hoạt động gần như tường lửa chặn mặc định
      Nói UPnP phá vỡ bảo mật của NAT cũng giống như nói PCP phá vỡ bảo mật của tường lửa
    • NAT đối xứng hay CGNAT không phải là tường lửa, nhưng trên thực tế lại tạo ra hiệu ứng tương tự
  • Về lập luận rằng tính chất chặn mặc định của NAT là ưu thế bảo mật của IPv4
    Quy tắc chặn mặc định của IPv6 cung cấp cùng mức độ bảo mật, nên không có khác biệt bảo mật mang tính cấu trúc

    • Khái niệm “bảo mật nội tại” là vô nghĩa
      NAT của IPv4 và quy tắc chặn mặc định của IPv6 duy trì cùng một điều kiện bất biến
      Cả hai đều có thể trở nên dễ tổn thương như nhau nếu cấu hình sai
  • Tôi từng chủ quan vì có NAT rồi, và SBC đã bị hack do chưa cấu hình tường lửa IPv6
    Nguyên nhân là lỗi cấu hình IPv6 chứ không phải NAT

    • Không gian địa chỉ IPv6 quá lớn nên quét toàn bộ là bất khả thi; tôi tò mò không biết kẻ tấn công đã biết địa chỉ bằng cách nào
    • Đó là một sai lầm khá đáng xấu hổ
  • NAT cũng gây ra các vấn đề bảo mật
    Có thể xuất hiện tấn công reflection hoặc khó truy vết do sự tách rời giữa địa chỉ và endpoint
    Trước đây AOL từng có trường hợp nhiều người dùng dùng chung một số ít địa chỉ egress, khiến việc chặn một số người dùng trở nên khó khăn

    • Theo RFC 1631, NAT được ghi rõ là “làm giảm các tùy chọn cung cấp bảo mật”
      Nhưng theo thời gian, NAT lại bị xem như một dạng niềm tin bảo mật cargo cult
  • Tác dụng của NAT khác nhau tùy cấu hình ISP và router
    NAT không phải là tính năng bảo mật được thiết kế có chủ đích, nhưng vẫn tạo ra hiệu ứng bảo mật phụ
    Trong IPv6, nếu mỗi thiết bị nhận địa chỉ trực tiếp thì cần có tường lửa chặn mặc định

    • Hầu hết router cũng áp dụng chặn mặc định trên IPv6, nhưng các tính năng tự động port forwarding như UPnP có thể vô hiệu hóa điều đó
      Liên kết đặc tả UPnP
    • Trên IPv6, việc chặn inbound cũng hoạt động giống như trên IPv4
    • Nếu tắt NAT mà vẫn không thể truy cập như cũ, thì nguyên nhân có thể không phải NAT mà là cấu hình định tuyến
    • Việc dùng NAT cho IPv6 là hiếm; NAT các địa chỉ fc00::/7 là một trường hợp đặc biệt
    • ISP chỉ cấp đúng một địa chỉ IPv6 là một cấu hình bất thường. Tối thiểu nên cấp /56
  • Trước câu nói rằng ai cho NAT là nền tảng bảo mật thì là người không hiểu mạng

    • Có người phản bác rằng “đó là một sự khái quát hóa quá mức”, và NAT tuy không thể là bảo mật nhưng cũng không nên bị phớt lờ hoàn toàn
    • Người đó tự nhận là chuyên gia IPv6 và nói mình đã có kinh nghiệm vận hành IPv6 từ năm 2008
      Họ chia sẻ một trường hợp máy chủ SIP bị lỗi do vấn đề tích lũy địa chỉ riêng tư hồi đó
      Cuộc thảo luận liên quan vẫn còn giá trị trong chuỗi VOIP trên Reddit
  • Về lập luận rằng NAT không drop lưu lượng inbound
    NAT chỉ đơn giản thực hiện chuyển đổi địa chỉ và không drop gói tin

    • Nhưng tùy cấu hình router, nhiều trường hợp vẫn chặn rõ ràng lưu lượng đi vào từ giao diện egress
    • Dù NAT không drop gói tin, nếu IP đích là chính router thì cuối cùng nó vẫn không được định tuyến
      Tác giả nói đã sửa bài để phản ánh góp ý này