it-swarm-vi.com

Có phải NAT Loopback trên bộ định tuyến của tôi có phải là vấn đề bảo mật không?

Một số bộ định tuyến DSL ngăn chặn NAT loopback. Bảo mật đôi khi được trích dẫn là lý do. Is NAT loopback thực sự là một vấn đề bảo mật? Và nếu vậy, điều này được khai thác như thế nào?

NAT loopback ... trong đó một máy trong mạng LAN có thể truy cập vào một máy khác trong mạng LAN thông qua địa chỉ IP bên ngoài của LAN/bộ định tuyến (với chuyển tiếp cổng được thiết lập trên bộ định tuyến để yêu cầu trực tiếp đến máy thích hợp trên mạng LAN) . Không có NAT loopback, bạn phải sử dụng địa chỉ IP bên trong của thiết bị khi ở trên mạng LAN.

EDIT: Các đề cập về bảo mật được thừa nhận từ các nguồn không chính thức, đó là lý do tại sao tôi muốn làm rõ điều này ...

Từ Diễn đàn cộng đồng BT :

Đây không phải là một lỗi. Hầu hết các bộ định tuyến sẽ không gửi và nhận dữ liệu trên cùng một giao diện (Loopback), vì đây là một rủi ro bảo mật.

tiếp tục xuống cùng trang , từ cùng một người dùng:

Là một kỹ sư mạng, tôi làm việc với các bộ định tuyến của Cisco và Brocade hàng ngày và những bộ này sẽ không cho phép loopback do các vấn đề bảo mật cố hữu. BT đã áp dụng một cách tiếp cận rằng bảo mật là rất quan trọng và như với các bộ định tuyến lớp doanh nghiệp, loopback không được phép.

Từ một trang trên NAT Bộ định tuyến lặp lại :

Nhiều bộ định tuyến/modem DSL ngăn kết nối loopback như một tính năng bảo mật.

Thành thật mà nói, cho đến giờ tôi vẫn luôn cho rằng việc không hỗ trợ NAT loopback chỉ đơn giản là một lỗi trong phần cứng/phần sụn, không phải là 'tính năng bảo mật'?! vấn đề IMHO. (Nếu bạn không đoán được, bộ định tuyến của tôi không hỗ trợ NAT loopback.)

10
MrWhite

Hầu hết các bộ định tuyến cấp tiêu dùng không có bất kỳ sự cấm đoán nào, nó chỉ không hoạt động.

Hãy tưởng tượng kịch bản sau đây. Đây không phải là giả thuyết, chỉ cần chạy tcpdump trên máy tính của riêng bạn và bạn sẽ thấy điều đó xảy ra ngay bây giờ. Bị bắt từ Buffalo ddwrt của tôi một lúc trước chỉ để xác minh.

Người chơi: [Bộ định tuyến: 10.0.0.1] [Máy ​​tính1: 10.0.0.3] [Máy ​​tính2: 10.0.0.4]
[.__.] IP bên ngoài: 99,99,99,99, được chuyển tiếp đến Computer2

  • Computer1 đến Bộ định tuyến [10.0.0.3 -> 99.99.99.99]

  • Bộ định tuyến sử dụng DNAT để thay đổi đích đến 10.0.0.4 và đẩy nó trở lại mạng cục bộ:
    [.__.] Bộ định tuyến tới Máy tính2 [10.0.0.3 -> 10.0.0.4]

  • Computer2 cố gắng phản hồi gói bằng cách gửi tới IP nguồn.
    [.__.] Máy tính2 đến Máy tính1 [10.0.0.4 -> 10.0.0.3]

  • Máy tính1: WTF?
    [.__.] Computer1 đang mong đợi câu trả lời từ 99.99.99.99, thay vào đó là một từ 10.0.0.4. Địa chỉ không khớp, lỗi kết nối, gói RST được gửi lại.

Bây giờ, bạn hỏi, tại sao bộ định tuyến SNAT kết nối từ Computer1 đến IP bên trong của bộ định tuyến khi nó kết nối nó với Computer2? Bởi vì quy tắc SNAT sẽ tạo ra một mớ hỗn độn của tất cả các lưu lượng còn lại không tuân theo mẫu ở trên.

SNAT thực sự chỉ nên được sử dụng theo một hướng trừ khi bạn sẵn sàng dành nhiều thời gian và sự quan tâm vào việc chế tạo và duy trì một quy tắc NAT sẽ không cắn bạn.

Và để tránh bất cứ ai nói về điều này:

iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -d 10.0.0.0/24 -j MASQUERADE

Tôi sẽ chỉ ra rằng quy tắc này sẽ không chỉ ảnh hưởng đến lưu lượng truy cập vòng lặp NAT, mà còn ảnh hưởng đến cầu lưu lượng truy cập (ví dụ: mạng WiFi sang mạng có dây) sẽ làm cho một bộ định tuyến WiFi bị hỏng một cách bực bội. Quy tắc sẽ phải được tùy chỉnh để CHỈ phù hợp với lưu lượng loopback, khó hơn một chút và có thể liên quan đến việc đánh dấu các gói. Không phải là không thể, nhưng không phải là loại kỹ thuật và gỡ lỗi đi vào hầu hết các bộ định tuyến; và chắc chắn đầy nguy hiểm.

Thuật ngữ:
[.__.] SNAT = Nguồn NAT (thay đổi IP nguồn)
[.__.] DNAT = Destination NAT (thay đổi IP đích)
[.__.] NAT = Dịch địa chỉ mạng

11
tylerl

Không thể tìm thấy cơ sở kỹ thuật cho yêu cầu này NAT yêu cầu bảo mật loopback. =)

Vòng lặp duy nhất mà tôi có thể nhớ trong những ngày đầu tiên là nối cả hai đầu của dây cáp cat5e vào cùng một công tắc và làm rối kết nối của mạng LAN. Sau đó, chúng tôi gọi nó là một loopback. Nhưng nó khá kỹ thuật hơn là vấn đề bảo mật.

2
John Santos