Thứ Tư, 7 tháng 5, 2014

[linux] iptables

1. IPtables là gì?

thanhnt@Thanhnt:~$ whatis iptables
iptables (8) - administration tool for IPv4 packet filtering and NAT
Trước đây, gói firewall/NAT được sử dụng phổ biến trên linux là ipchains, nhưng khi linux ngày càng phát triển, ipchains đã xuất hiện nhiều thiếu sót. Vì vậy, iptables ra đời

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 package hiệu quả
  • Filter packages đượ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
...............
2. Một số lệnh cơ bản khi làm việc với iptables

  • 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
Mỗi table chứa một số lượng các chain, chain có hai loại là buit-in chain và chain do user định nghĩa.
Chain là Một list của các rules. Mỗi rule xác định những "việc phải làm" đối với các gói tin.

Iptables sẽ kiểm tra các package 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ì package nào muốn đi đến host đều phải đi qua Input Chain
Bất kì package nào muốn đi ra khỏi host đề phải đi qua Output Chain
Bất kì package nào mà PC của bạn muốn gửi đi một nơi khác đều 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)
79 TCP FINGER
80 TCP HTTP
110 TCP POP3
111 TCP SUNPRC
443 TCP HTTPS
901 TCP SUMBA-SWAT
1024 TCP KDM
3306 TCP MYSQL
6000 TCP X11

4. Một số câu lệnh khi config iptables
4.1 Block a một địa chỉ IP đơn
$ 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
-I : insert vào file config của input chain
INPUT: kiểm tra package đến host, qua input chain
DROP: block địa chỉ ip đó

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
-dport: số port

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 ACCEPT

Tìm hiểu thêm taị:
$ man iptables

3 nhận xét:

  1. bài này khá ổn, edit lại tí là publish được.
    Tạo PR đi ku

    Trả lờiXóa
    Trả lời
    1. ko thì viết bên fml rồi save draft lại để t sửa sau

      Xóa
    2. yeah,co bai duoc nhan roi.ok, de tao sua lai cho day du :))

      Xóa