Ta có thể thực hiện một chút tối ưu nhỏ chỉ với những chain mặc định INPUT, OUTPUT, FORWARD. Trong từng chain, luật được duyệt từ trên xuống từng luật một cho đến khi tìm được luật thích match.
$IPT -A INPUT -i $LAN_INTERFACE -j LOG $IPT -A OUTPUT -o $LAN_INTERFACE -j LOG
$IPT -A INPUT -i $INTERNET -p icmp \
--icmp-type parameter-problem -d $IPADDR -j ACCEPT
$IPT -A OUTPUT -o $INTERNET -p icmp \
Trang 68
Hình 2.6 Duyệt luật trong chain mặc định
Không có một công thức nào là tối ưu cho việc tối ưu luật. Có tham số chính quyết định cấu hình của một Firewall là trên máy Firewall sẽ chạy những dịch vụ nào và mục đích chính của máy đó là làm gì. Như thế cấu hình luật của một máy Firewall được sử dụng như một máy thường khác với cấu hình luật của một máy được sử dụng để làm lá chắn cho một web server. Ngoài ra còn một tham số thứ ba quyết định đến việc tổ chức luật nữa là vấn đề băng thông mạng, tốc độ kết nối.
Một số cách tối ưu trong việc tổ chức luật như sau:
Luôn bắt đầu với những luật cấm trước khi đưa thêm luật cho phép những dịch vụ nào đó.
Dựa vào giao thức, ta nên đặt những luật cho luật cho giao thức TCP lên trước những luật cho giao thức UDP. Bởi vì hầu hết các dịch vụ mạng đều dựa trên giao thức TCP.
Đặt những luật dành cho những dịch được sử dụng nhiều nhất càng sớm càng tốt. Điều này dựa vào tham số thứ hai trong việc quyết định xây dựng Firewall. Chẳng hạn, ta nên đặt những luật cho dịch vụ web càng sớm càng tốt nếu máy Firewall này được sử dụng làm một web server.
Trang 69