Nói chung:
Các quy tắc tường lửa được xử lý theo thứ tự chúng được thiết lập và xuất hiện (ở đầu ra của iptables -L -v -n --line-numbers
, iptables -L -v -n -t nat --line-numbers
, iptables-save
và/hoặc các lệnh tương tự).
Việc tạo các quy tắc mới theo sai chuỗi và/hoặc sai thứ tự sẽ dẫn đến những hậu quả không mong muốn, phá vỡ chức năng, bảo mật và/hoặc khóa lưu lượng truy cập hợp lệ.
Hãy nhận biết rằng chạy ở mức thấp iptables
các lệnh để quản lý tường lửa của bạn có thể không phải lúc nào cũng là giải pháp tốt nhất. Theo những gì tôi biết trong Ubuntu, việc sử dụng công cụ UFW được ưu tiên hơn và sẽ hoạt động đáng tin cậy cùng với fail2ban.
Fail2ban tạo một hoặc nhiều chuỗi tùy chỉnh (xử lý hầu hết các công việc nặng nhọc để chặn các địa chỉ IP hoạt động sai cụ thể) như f2b-sshd
chuỗi. Thông thường, bạn để fail2ban quản lý các mục trong các chuỗi đó.
Ngoài ra, fail2ban tạo quy tắc cho chuỗi tùy chỉnh mà nó tạo trong ĐẦU VÀO
chuỗi. Thông thường những quy tắc đó phải đến đầu tiên trong ĐẦU VÀO
chain, trước bất kỳ quy tắc nào khác mà bạn tạo.
Trong cấu hình tường lửa hiện tại của bạn khi bạn sử dụng iptables với -MỘT
chuyển sang nối các quy tắc mới vào chuỗi INPUT, mọi thứ sẽ hoạt động.
Chạy các lệnh sau sẽ nối thêm các quy tắc thông thường để tạo tường lửa cho phép ssh, http và https, đồng thời chặn tất cả lưu lượng truy cập đến khác.
iptables -A INPUT -m state --state LIÊN QUAN, THÀNH LẬP -j CHẤP NHẬN
iptables -A INPUT -i lo -j CHẤP NHẬN
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j CHẤP NHẬN
iptables -A INPUT -p tcp -m tcp --dport 80 -j CHẤP NHẬN
iptables -A INPUT -p tcp -m tcp --dport 443 -j CHẤP NHẬN
iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited