iptables, thứ tự của các quy tắc - tôi có hiểu đúng không?


17

Tôi muốn định cấu hình VPS của mình theo cách CHỈ chấp nhận các kết nối từ bên ngoài trên cổng 22 (nơi sshd lắng nghe) và các yêu cầu ICMP. Mọi thứ khác từ bên ngoài nên bị từ chối. Bên trong máy chủ, mọi thứ nên được cho phép. Làm các quy tắc sau đây tạo ra hành vi mong muốn?

iptables -A INPUT --jump ACCEPT --protocol all   --source 127.0.0.1
iptables -A INPUT --jump ACCEPT --protocol tcp   --dport 22
iptabels -A INPUT --jump ACCEPT --protocol icmp
iptables -A INPUT --jump ACCEPT --match state    --state ESTABLISHED,RELATED
iptables -A INPUT --jump REJECT --protocol all

Tôi không hoàn toàn chắc chắn nếu các quy tắc ACCEPT sẽ "chiến thắng" trong toàn bộ DỰ ÁN cuối cùng


1
Bạn không nên sử dụng --source 127.0.0.1để xác định xem một gói có an toàn để chấp nhận hay không. Xem serverfault.com/a/825231/4131
Bruno Bronosky

Câu trả lời:


20

Bạn nói đúng.

Các quy tắc sẽ được xử lý theo thứ tự dòng của tập tin. Nếu có sự trùng khớp cho một quy tắc, sẽ không có quy tắc nào khác được xử lý cho gói IP đó trong trường hợp của bạn.

http://en.wikipedia.org/wiki/Iptables

Mỗi quy tắc trong một chuỗi chứa đặc điểm kỹ thuật của các gói phù hợp. Nó cũng có thể chứa mục tiêu (được sử dụng cho tiện ích mở rộng) hoặc phán quyết (một trong những quyết định tích hợp). Khi một gói đi qua một chuỗi, lần lượt từng quy tắc được kiểm tra. Nếu một quy tắc không phù hợp với gói, gói được chuyển sang quy tắc tiếp theo. Nếu quy tắc khớp với gói, quy tắc sẽ thực hiện hành động được chỉ định bởi mục tiêu / phán quyết, điều này có thể dẫn đến gói được phép tiếp tục dọc theo chuỗi hoặc có thể không

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.