Điểm:0

Cách chặn dấu chấm "." trong một quy tắc iptables?

lá cờ vn

Tôi có quy tắc này trong iptables của mình để chặn các tên miền kết thúc bằng .đồng hồ:

sudo iptables -A OUTPUT -j DROP -m string --string ".watch" --algo kmp

Nhưng vấn đề là . không thể phù hợp. Vì vậy, dòng trên không khớp với bất cứ điều gì. Nhưng nếu tôi xóa dấu chấm khỏi .đồng hồ đến đồng hồ nó hoạt động ổn.

Làm cách nào tôi có thể chặn các dấu chấm "." trong quy tắc iptables?

lá cờ us
Đây không phải là cách thích hợp để làm điều này. Nếu bạn muốn chặn các truy vấn DNS cho miền, thì không có dấu chấm nào phù hợp trong các gói truy vấn do cách triển khai giao thức DNS.
light9876 avatar
lá cờ vn
Cảm ơn bạn @Tero. Bạn có biết cách nào tốt hơn là sử dụng `Dnsmasq` không?
Điểm:3
lá cờ jp

Về mặt cú pháp, điều này có vẻ đúng, nhưng cách tiếp cận của bạn không phù hợp cho mục đích này. Các vá chuỗi khớp với một chuỗi ở bất kỳ đâu trong gói:

  • Bạn đang bỏ bất kỳ gói nào có đồng hồ hoặc .đồng hồ bất cứ đâu. Điều này có khả năng gây ra các kết quả dương tính giả và thậm chí còn giới thiệu một vectơ mới cho các cuộc tấn công từ chối dịch vụ.
  • Nó không thể xử lý lưu lượng được mã hóa. Nó không thể chặn phần lớn lưu lượng truy cập web.
  • Mặc dù bạn có các tùy chọn tương đối tốt cho thuật toán so khớp (bm BoyerâMoore & kmp KnuthâPrattâMorris), việc sử dụng bộ lọc chuỗi vẫn có thể được tính toán chuyên sâu.

Tài liệu này cũng cảnh báo rõ ràng về điều này:

Vui lòng sử dụng trận đấu này một cách thận trọng. Rất nhiều người muốn sử dụng trận đấu này để ngăn chặn sâu, cùng với mục tiêu DROP. Đây là một chuyên ngành sai lầm. Nó sẽ bị đánh bại bởi bất kỳ phương pháp trốn tránh IDS nào.

Theo cách tương tự, rất nhiều người đã sử dụng trận đấu này như một có nghĩa là dừng các chức năng cụ thể trong HTTP như POST hoặc GET bằng cách thả bất kỳ gói HTTP nào chứa chuỗi POST. Xin hãy hiểu rằng công việc này được thực hiện tốt hơn bởi một proxy lọc. Ngoài ra, bất kỳ HTML nội dung có từ POST sẽ bị loại bỏ với phương thức cũ. Trận đấu này đã được thiết kế để có thể xếp hàng vào vùng người dùng các gói thú vị để phân tích tốt hơn, vậy thôi. thả gói dựa trên điều này sẽ bị đánh bại bởi bất kỳ phương pháp trốn tránh IDS nào.

Có những lựa chọn thay thế tốt hơn cho những gì bạn đang cố gắng đạt được:

  • Lọc dựa trên DNS. Bất kỳ máy chủ DNS nào cũng có thể thực hiện việc này. Ví dụ., dnsmasq là một trình chuyển tiếp DNS nhẹ phổ biến: bạn chỉ cần thêm địa chỉ=/đồng hồ/0.0.0.0 đến cấu hình của nó.
  • Lọc dựa trên proxy web.
light9876 avatar
lá cờ vn
Cảm ơn bạn. Điều tôi thực sự muốn nói là `.` không thể bị chặn. Ví dụ: chặn chuỗi `"com"` chặn `serverfault.com`; nhưng sử dụng `".com"` không chặn cùng một trang web.
lá cờ jp
Tôi có thể hiểu điều đó.Điều tôi đang cố gắng nói là bạn nên ngừng tăng cường búa để vặn vít và thay vào đó hãy sử dụng tuốc nơ vít. :)
light9876 avatar
lá cờ vn
Hóa ra `/etc/hosts.deny` không được dùng nữa. https://askubfox.com/a/23225
lá cờ jp
Cảm ơn! Tôi đã loại bỏ điều đó.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.