Tham khảo từ tài liệu :
http://www.linuxhomenetworking.com/w...k_HOWTO_:_Ch14
_:_Linux_Firewalls_Using_iptables
Vẫn còn rất thiếu sót trong tài liệu này . Mong mọi người ủng hộ và đóng góp ý
kiến để tài liệu này hoàn thiện hơn . Mọi ý kiến đóng góp xin gởi về
I. GIỚI THIỆU VỀ IPTABLES:
Bảo mật mạng là một vấn đề quan trọng hàng đầu đối việc lập một website , cũn
như nhiều dịch vụ khác trên mạng . Một trong những cách bảo vệ là sử dụng
firewall . bài viết này sẽ cho thấy làm sao để chuyển một Linux server thành :
• Một firewall đồng thời cho mail server , web server , DNS server.
• Một thiết bị dẫn đường ( router ) sẽ dùng NAT và chuyển tiếp cổng ( port
forwarding ) để vừa bảo vệ hệ thống mạng của bạn , vừa cho phép một web serv
công khai chia sẻ địa chỉ IP firewall .
Một trong những firewall thông dụng nhất chạy trên Linux là iptables . Ta sẽ xem
qua một số chức năng của iptables :
• Tích hợp tốt với Linux kernel , để cải thiện sự tin cậy và tốc độ chạy iptables
• Quan sát kỹ tất cả các gói dữ liệu . Điều này cho phép firewall theo dõi mỗi m
kết nối thông qua nó , và dĩ nhiên là xem xét nội dung của từng luồng dữ liệu để
đó tiên liệu hành động kế tiếp của các giao thức . Điều này rất quan trọng trong
việc hỗ trợ các giao thức FTP , DNS ….
• Lọc gói dựa trên địa chỉ MAC và các cờ trong TCP header. Điều này giúp ng
chặn việc tấn công bằng cách sử dụng các gói dị dạng (malformed packets) và ng
chặn việc truy cập từ nội bộ đến một mạng khác bất chấp IP của nó.
• Ghi chép hệ thống (System logging) cho phép việc điều chỉnh mức độ của bá
cáo
• Hỗ trợ việc tính hợp các chương trình Web proxy chẳng như Squid .
• Ngặn chặn các kiểu tấn công từ chối dịch vụ.
II. SỬ DỤNG IPTABLES
1. Khởi động iptables :
Câu lệnh start, stop, và restart iptables .
[root@goldenbook]#service iptables start
[root@goldenbook]# service iptables stop
[root@goldenbookservice iptables restart
Để khởi động iptables mỗi khi khởi động máy .
[root@goldenbook]# chkconfig iptables on
Để xem tình trạng của iptables
[root@goldenbook]# service iptables status
2. Xử lý gói trong iptables:
Tất cả mọi gói dữ liệu đều được kiểm tra bởi iptables bằng cách dùng các bảng
tuần tự xây dựng sẵn (queues ) . Có 3 loại bảng này gồm :
_ Mangle : chịu trách nhiệm thay đổi các bits chất lượng dịch vụ trong TCP header
như TOS (type of service), TTL (time to live), và MARK.
_ Filter : chịu trách nhiệm lọc gói dữ liệu . Nó gồm có 3 quy tắc nhỏ (chain) để
giúp bạn thiết lập các nguyên tắc lọc gói , gồm :
• Forward chain: lọc gói khi đi đến đến các server khác .
• Input chain: lọc gói khi đi vào trong server .
• Output chain: lọc gói khi ra khỏi server .
_ NAT : gồm có 2 loại :
• Pre-routing chain: thay đổi địa chỉ đến của gói dữ liệu khi cần thiết.
• Post-routing chain: thay đổi địa chỉ nguồn của gói dữ liệu khi cần thiết .