1. iptables là gì?
thanhnt@Thanhnt:~$ whatis iptablesTrước đây, gói firewall/NAT được sử dụng phổ biến trên linux là ipchans, dần dần bị thay thế dó có nhiều bug và thiếu tính năng, iptables ra đời.
iptables (8) - administration tool for IPv4 packet filtering and NAT
So với ipchains, iptables có những ưu điểm vượt trội như:
- Tích hợp cao với linux kernel
- Có khả năng phân tích packet hiệu quả
- Filter packet được dựa trên các MAC address và các giá trị của flags trong TCP header
- Hệ thống log có các tùy chọn phù hợp, dựa trên mức độ và chi tiết reports
- Translation địa chỉ mạng tốt hơn
- Hỗ trợ tích hợp với các web proxy programs
- Có khả năng ngăn chặn một số cơ chế tấn công theo kiểu DoS
- Khởi động: service iptables start
- Tắt: service iptables stop
- Khởi động lại: service iptables restart
- Xác định trạng thái: service iptables status
3. Cơ chế xử lý trong iptables
Iptables sẽ kiểm tra các packet khi nó đi qua iptables host, quá trình kiểm tra sẽ được tiến hành theo trình tự thời gian
Bất kì packet nào muốn đi đến host đều phải đi qua Input Chain
Bất kì packet nào muốn đi ra khỏi host đề phải đi qua output Chain
Bất kì packet nào mà máy host muốn chuyển (forward) cho máy khác phải đi qua Forward Chain
Tất cả các điều trên đều được iptables giám sát một cách chặt chẽ. Việc cấu hình cho input, output và foward chain được gọi là thiết lập rules cho Firewall
Một số port và service thông dụng trên linux:
Port | Protocol | service |
---|---|---|
21 | TCP | FTP |
22 | TCP | SSH |
23 | TCP | TELNET |
25 | TCP | SMTP |
53 | TCP | NAME(DNS) |
80 | TCP | HTTP |
110 | TCP | POP3 |
443 | TCP | HTTPS |
3306 | TCP | MYSQL |
4. Một số câu lệnh khi config iptables
4.1 Block a một địa chỉ IP
$ iptables -I INPUT -s 10.10.10.10 -j DROPĐể block một địa chỉ IP đơn ta sử dụng tùy chon -s (source)
-I : insert vào file config của input chain
INPUT: kiểm tra packet đến host, qua input chain
DROP: drop packet gửi đến từ máy có IP 10.10.10.10
4.2 Cho phép tất cả các traffic từ một IP:
$ iptables -A INPUT -s 10.10.10.10 -j ACCEPT-A: append
4.3: Block tất cả các address theo port:
iptables -A INPUT -p tcp --dport 3306 -j DROP-p: protocol. Ở đây là tcp
-dport: dest port, ở đây là 3306 , port của MySQL
4.4 Cho phép một port từ một single IP
iptables -A INPUT -p tcp -s 10.10.10.10 --dport 3306 -j ACCEPTTìm hiểu thêm tại:
$ man iptables
Nên bổ xung thêm phần xử lý các rule của iptables là có thứ tự --> apply từng rule 1 từ trên xuống dưới trong 1 chain nếu thảo mãn 1 rule nào đó nó sẽ được xử lý theo option -j của rule đó (DROP, ACCEPT hoặc jump đến 1 table khác do người dùng định nghĩa).
ReplyDelete