"Câu hỏi là: Làm thế nào tôi có thể liệt kê các địa chỉ IP bị chặn?"
Tạo chuỗi CẤM:
iptables -N BANNED
iptables -F BANNED
Tạo một chuỗi đăng nhập:
iptables -N BANNEDLOG
iptables -F BANNEDLOG
iptables -A BANNEDLOG -j LOG --log-prefix "BANNED:" --log-level 6
iptables -A BANNEDLOG -j DROP
Thêm bước nhảy vào chuỗi bị cấm trong chuỗi INPUT trước hầu hết các quy tắc khác
...
iptables -A INPUT -j BANNED
...
Bây giờ hãy thêm ipad vào chuỗi bị cấm:
flock -w 5 /var/lock/iptables -c 'iptables -A BANNED -s 140.130.20.202/32 -i eth0 -m comment --comment "2012-03-19 23:49:33 accesslog" -j BANNEDLOG'
etc...
Bạn cũng có thể sử dụng nó như một cơ sở dữ liệu với các tùy chọn nhận xét, vì vậy bạn có thể biết khi nào và tại sao v.v ... đàn rất quan trọng khi iptables được cập nhật thường xuyên bởi nhiều quy trình - có vẻ như iptables không có khóa nào được tích hợp trong đó.
Để xem các địa chỉ và quy tắc bị cấm trong chuỗi bị cấm:
iptables -S BANNED
Để xem chỉ cần sắp xếp ipaddresses:
iptables -S BANNED | egrep -o '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | sort -u
Tôi có một số trình tiện ích đang chạy trên máy chủ của mình để kiểm tra các tệp nhật ký hệ thống và nhật ký web, vì vậy nếu bất kỳ ai khó chịu đang cố gắng, địa chỉ của họ sẽ tự động bị cấm trong vài ngày, tùy thuộc vào loại và mức độ nghiêm trọng và số lần tấn công trước đó. Thông tin được đăng nhập vào cơ sở dữ liệu mysql và đã hết hạn định kỳ. Các địa chỉ cũng được phân phối cho mọi máy khác trong cụm sao trên bản sao mysql để chúng cũng được bảo vệ và giữ đồng bộ. Phần mềm của tôi cũng tìm kiếm chủ sở hữu của mạng và gửi đơn khiếu nại đến ISP.
Sau 10 năm làm việc, tôi hy vọng sẽ sớm cung cấp cho mọi người sử dụng. Tôi hiện có khoảng 1,5 triệu lịch sử địa chỉ IP và hàng trăm ngàn cuộc tấn công mail và ssh được báo cáo, giúp dọn dẹp mạng. Nếu nhiều hơn sẽ sử dụng nó thì tôi hy vọng nó sẽ có tác động nhiều hơn.
iptables -L INPUT -v -n
hiển thị tất cả ip bị chặn