Có bao nhiêu hướng dẫn có thể được nhồi vào iptables mà không mất đi sự tỉnh táo của hệ thống?


9

Nói một mong muốn có một danh sách các địa chỉ IP bị chặn.

Tôi đã thấy đoạn script ví dụ sau:

BLOCKDB="/path/to/ip.blocked.file"
# omit comments lines
IPS=$(grep -Ev "^#" $BLOCKDB)
for i in $IPS
do
    iptables -A INPUT -s $i -j DROP
    iptables -A OUTPUT -d $i -j DROP
done

Là vài ngàn dòng, mà chuyển thành vài ngàn mục iptables, lành mạnh?

Giới hạn hàng đầu là gì, ngoài ra, hiệu quả hệ thống sẽ bị ảnh hưởng đáng kể?


2
Có vẻ như bạn đã tìm thấy câu trả lời cho câu hỏi của bạn. Nếu vậy, bạn nên chuyển câu trả lời ra khỏi câu hỏi của mình và sử dụng nút "Trả lời câu hỏi của bạn" và đăng câu trả lời ở đó. Sau đó, bạn có thể chấp nhận câu trả lời của mình và mọi thứ sẽ được tổ chức độc đáo hơn nhiều.
Scott Severance

@ScottSeverance được thực hiện như bạn đề xuất, tuy nhiên, phải mất 4 giờ cho đến khi một người có thể chấp nhận tự trả lời.
Tzury Bar Yochay

Câu trả lời:


8

Tôi nghĩ rằng tôi đã tìm thấy một giải pháp thông qua bài viết này và IPSet dường như là câu trả lời

Tóm lại:

Nếu bộ địa chỉ IP chứa hàng ngàn mục thì hiệu suất của iptables giảm (thực tế, hiệu suất của bộ lọc mạng, ngay khi iptables chỉ là một công cụ để quản lý tường lửa). Tải CPU của bạn cũng có thể tăng. May mắn thay, có một giải pháp hoàn hảo - ipsets

IPSet là công cụ hoàn hảo nếu bạn muốn:

  • Lưu trữ nhiều địa chỉ IP hoặc số cổng và khớp với bộ sưu tập bằng iptables tại một swoop;
  • Tự động cập nhật các quy tắc iptables đối với các địa chỉ IP hoặc cổng mà không bị phạt hiệu năng;
  • Thể hiện các quy tắc dựa trên địa chỉ IP và cổng phức tạp với một quy tắc iptables duy nhất và hưởng lợi từ tốc độ của các bộ IP

Cài đặt ipset rất đơn giản sudo apt-get install ipset

Sau đó chạy như sau

ipset -N autoban iphash ––hashsize 4096 ––probes 2 ––resize 50

Thêm nó vào chuỗi iptables của bạn. Nó có thể khác nhau tùy thuộc vào cài đặt tường lửa của bạn. Ở đây chúng tôi sử dụng chuỗi ethin.

iptables -I ethin 2 -p tcp -m multiport ––dport 80,443 -m set ––match-set autoban src -j DROP

Bây giờ bạn có thể thêm tất cả IP xấu vào ipset của bạn. Chẳng hạn, bạn có tệp văn bản gọi là bot.txt với một IP trên mỗi dòng. Vì vậy, bạn có thể thêm chúng vào ipset bằng cách sử dụng tập lệnh bash đơn giản:

for i in $( cat /tmp/bots.txt ) ; do ipset -A autoban $i ; done

Để kiểm tra chạy:

ipset -L autoban

cảm ơn câu trả lời Dưới đây là hướng dẫn nhanh về ipset cho những người không quen thuộc với ipset (như tôi 8-) - linuxjournal.com/content/advified-firewall-configurations-ipset
Tzunghsing David Wong
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.