Trước khi đi vào bài viết, có một số note trước khi bắt đầu bạn cần lưu ý:
- Nguyên tắc áp dụng luật trên Iptables: áp dụng theo thứ tự từ trên xuống, nếu không tìm thấy luật nào thì chuyển sang dòng tiếp theo, nếu khớp với một luật thì iptables sẽ áp dụng luật đó và ngừng kiểm tra dòng tiếp theo.
- Để sao lưu các luật trong iptables ta dùng lệnh service iptables save, tập tin sao lưu mặc định sẽ nằm ở /etc/sysconfig/iptables.
- Để khôi phục các luật trong iptables ta dùng lệnh iptables-restore < /etc/sysconfig/iptables.
Iptables bao gồm 3 tập tin là:
- /etc/init.d/iptables – là kịch bản điều kiển bao gồm start|stop|restart và save.
- /etc/sysconfig/iptables – Vị trí sao lưu luật.
- /sbin/iptables – ứng dụng chạy.
- Filter
- NAT
- Mangle
- INPUT: dành cho các luồng đi vào hệ thống
- OUTPUT: dành cho các luồng đi ra từ hệ thống
- FORWARD: dành cho các luồng đi qua hệ thống từ các giao diện khác (?)
- RH-Firewall-1-INPUT: luồng do người dùng tự định nghĩa.
Để bật, tắt hoặc khởi động lại iptables ta dùng các lệnh như sau:
Để yêu cầu mỗi khi khởi động lại hệ điều hành, iptables tự động được bật ta chạy lệnh sau:# /etc/init.d/iptables start # /etc/init.d/iptables stop # /etc/init.d/iptables restart
Để sao lưu các luật trong iptables ta dùng lệnh sau:#chkconfig --level 345 iptables on
Mặc định dữ liệu sau lưu sẽ nằm tại /etc/sysconfig/iptables. Dữ liệu này có thể dùng để phục hồi lại cho iptables sau này.#service iptables save
Để kiểm tra trạng thái của iptables ta dùng lệnh sau, với -L là liệt kê danh sách luật, -n là hiển thị dưới dạng số, -v là hiển thị chi tiết:
Để thêm các đánh dấu dòng khi hiển thị trạng thái của iptables ta dùng thêm tùy chọn --line-numbers. Với tham số này ta có thể sử dụng số dòng để thêm, bớt hoặc xoá các luật chỉ định.[root@tecmint ~]# iptables -L -n -v Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 6 396 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT 5 packets, 588 bytes) pkts bytes target prot opt in out source destination
Để xóa toàn bộ luật trong iptables ta dùng lệnh sau:[root@tecmint ~]# iptables -n -L -v --line-numbers Chain INPUT (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 51 4080 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 2 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 3 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 4 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 5 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT 45 packets, 5384 bytes) num pkts bytes target prot opt in out source destination
Xóa hoặc chèn thêm một luật. Trước tiên ta cần phải hiểu sơ qua các luật trong iptables. Lênh dưới đây sẽ hiển thị tất cả các luật trong INPUT, OUTPUT của iptables, các thông số này sẽ giúp ta có thể dễ dàng xóa hoặc thêm các luật mới:[root@tecmint ~]# iptables -F
[root@tecmint ~]# iptables -L INPUT -n --line-numbers Chain INPUT (policy ACCEPT) num target prot opt source destination 1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 5 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Giả sử ta muốn xóa luật thứ 5 trong INPUT, ta phải nhập lệnh sau:[root@tecmint ~]# iptables -L OUTPUT -n --line-numbers Chain OUTPUT (policy ACCEPT) num target prot opt source destination
[root@tecmint ~]# iptables -D INPUT 5
Giả sử ta muốn thêm một luật vào giữa luật số 4 và 5 của INPUT ta dùng lệnh sau:
Trên đây là những kiến thức cơ bản với iptables. Để có thể hiểu thêm chi tiết về Iptables tôi sẽ mạn phép trình bày ở một bài viết khác.[root@tecmint ~]# iptables -I INPUT 5 -s ipaddress -j DROP
Không có nhận xét nào:
Đăng nhận xét