kịch bản rulematch


0

giả sử bạn có quy tắc iptables như sau: nguồn A ------> nguồn B chấp nhận nguồn B ------> nguồn A thả.

tôi quan sát rằng: - một gói tcp đầu tiên từ A đến B được chấp nhận - gói trả lời từ B bị hủy.

Tại sao trả lời gói đang bị bỏ? do gói đầu tiên từ A -> B được cho phép và chấp nhận, nên nó đã được thêm vào bảng kết nối. khi gói từ B -> A đang được nhập, việc tra cứu phải được thực hiện trước khi chạy rulematch và chấp nhận mà không chạy cơ sở quy tắc quyết định bỏ. Tại sao iptables không thực hiện tra cứu?

Cảm ơn.


Bạn thực sự cần phải đăng một iptables-save . Nếu ngay cả các quy tắc của bạn là đúng, thứ tự ở đó cũng rất quan trọng để thành công. Bạn có các quy tắc liên quan, thành lập tiêu chuẩn? iptables -I INPUT 1 -m conntrack -j CHẤP NHẬN
cybernard

Xin chào, tôi có 2 quy tắc: 1 quy tắc là A -> B chấp nhận, quy tắc thứ hai là B -> A drop và iptables luôn thả phản hồi từ B đến -> A. Tại sao các gói đến từ B -> A bị hủy? điều đó có nghĩa là nếu tôi muốn có kết nối giữa A đến -> B, tôi luôn cần thêm quy tắc để "chấp nhận" các gói trả lời? Cảm ơn.
Avi Nehori

các chính sách mặc định của bạn cho INPUT, FORWARD, OUTPUT là gì? bạn cần điều này nếu không bạn sẽ có vấn đề. iptables -I INPUT 1 -m conntrack -j CHẤP NHẬN
cybernard

chính sách mặc định của tôi là tất nhiên giảm cho tất cả.
Avi Nehori

chính sách mặc định của tôi là tất nhiên giảm cho tất cả. Kỳ vọng của tôi là khi một luồng gói bị chặn, luồng ngược lại cũng sẽ được chấp nhận. theo dõi kết nối cho trạng thái không giúp đỡ, tôi đã thử nó và tôi vẫn nhận được giọt cho dòng chảy ngược. kỳ vọng của tôi là nếu A -> B được tích hợp bởi rulematch iptables, các gói ngược lại cũng sẽ được chấp nhận. tôi không thấy lý do tại sao iptables thực hiện rulmatch trên một gói ngược lại. điều này có nghĩa là tôi cần tạo 2 quy tắc cho mỗi quy tắc chấp nhận duy nhất mà tôi mong muốn. không phải vậy sao
Avi Nehori

Câu trả lời:


0

Có tôi đã thêm nó và không thay đổi. Tôi quan sát đây là hành vi chung và khi tôi xem qua mã nguồn Iptables, đó là hành vi dự kiến. Tôi tự hỏi làm thế nào iptables có thể được sử dụng ở tất cả vì điều này là hoàn toàn vô lý để thêm quy tắc ngược. Không thể quản lý cơ sở quy tắc như vậy. Tôi hy vọng chúng ta có thể làm rõ điều này. Cảm ơn.


0

iptables ở mức rất thấp và khi bạn đang viết các quy tắc iptables, bạn đang xử lý các gói IP thô. Điều này có một số hàm ý, một trong số đó bạn đã tìm thấy.

Có những trường hợp sử dụng hoàn toàn hợp lệ khi cho phép lưu lượng đi, nhưng bất kỳ lưu lượng đến tương ứng nào cũng không được phép đi qua tường lửa; hoặc ngược lại, lưu lượng đến được phép nhưng không được phép đi. Một ví dụ phổ biến của việc này là đăng nhập máy chủ lưu trữ (do đó thường hữu ích cho kiểm toán): Đăng nhập giao thông nên được cho phép trong , nhưng không ai được phép ra . Trong trường hợp cực đoan, log giao thông nên được cho phép , nhưng không có gì khác nên được cho phép hoặc trong hoặc ra ngoài .

Bởi iptables không đưa ra bất kỳ giả định nào về những gì bạn muốn, bạn không chỉ tăng cường bảo mật mà còn cả hiệu suất, bởi vì bộ quy tắc có thể được tối ưu hóa cho chính xác những gì bạn muốn tường lửa thực sự làm.

Nếu bạn muốn cho phép lưu lượng truy cập đến có liên quan đến kết nối hoặc phiên đã được thiết lập, thì chỉ cần nói với nó như vậy:

sudo iptables -I INPUT 1 -m state --state RELATED,ESTABLISHED -j ACCEPT

hoặc cho IPv6:

sudo ip6tables -I INPUT 1 -m state --state RELATED,ESTABLISHED -j ACCEPT

Điều chỉnh -I INPUT 1phần trên cơ sở khi cần thiết (ví dụ: nếu bạn có các quy tắc khác được ưu tiên hơn quy tắc chung cho phép lưu lượng truy cập liên quan đến kết nối hoặc phiên được thiết lập).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.