Bài viết này sẽ giới thiệu về Thành Phần Của Iptables và Một Số Lệnh Cơ Bản Iptables. Nếu bạn cần hỗ trợ, xin vui lòng liên hệ VinaHost qua Hotline 1900 6046 ext.3, email về support@vinahost.vn hoặc chat với VinaHost qua livechat https://livechat.vinahost.vn/chat.php.
1. IPtables là gì?
IPtables là ứng dụng tường lửa miễn phí trong Linux, cho phép thiết lập các quy tắc riêng để kiểm soát truy cập, tăng tính bảo mật. Tường lửa là một trong những công cụ quan trọng giúp bạn ngăn chặn các truy cập trái phép. Công cụ tường lửa Iptables đường tích hợp sẳn đối với các bản phân phối linux như Ubuntu, Fedora, CentOS,…
2. Thành phần của Iptables
IPtables là giao diện dòng lệnh để tương tác với packet filtering của netfilter framework.
Packet filter của IPtables được chia thành 3 phần là Tables, Chains, Targets.
Tables
IPtables sử dụng định nghĩa các rules dành cho các gói tin, có các table sau.
Filter Table | Được sử dụng nhiều nhất trong IPtables, Filter Table sẽ quyết định gói tin có được đi đến đích, hoạt yêu cầu của gói tin bị từ chối. |
Nat Table | Sử dụng các rules NAT, NAT Table chịu trách nhiệm chỉnh sửa source hoặc destination của gói tin khi thực hiện cơ chết NAT. |
Mangle Table | Có quyền chỉnh sửa header của gói tin, giá trị của các trường TTL, MTU Type of service. |
Raw Table | Hỗ trợ làm việc trước với các gói tin khi kernel bắt đầu kiểm tra trạng thái và có thể loại bỏ một số gói trong việc tracking. |
Security Table | Một số kernel có thể hỗ trợ thêm security Table, được dùng bới SELinux để thiết lập các chính sách bảo mật |
Chains
Chain được tạo ra với một số lượng nhất định ứng với mỗi table, giúp lọc gói tin tại các điểm khác nhau.
- Chain PREROUTING tồn tại trong NAT Table, Mangle Table và RawTable, các rules t rong chain sẽ được thực thi ngay khi gói tin vào đến giao diện mạng.
- Chain INPUT chỉ có ở Mangle Table và Nat Table với các rules được thực thi ngay trước khi gói tin gặp tiến trình.
- Chain OUTPUT tồn tại ở Raw Table, Mangle Table và Filter Table, có các rules được thực thi sau khi gói tin được tiến trình tạo ra.
- Chain FORWARD tồn tại ở Manle Table và Filter Table, có các rules được thực thi cho các gói tin được định tuyến qua host hiện tại.
- Chain POSTROUTING chỉ tồn tại ở Manle Table và Nat Table với các rules được thực thi khi gói tin rời giao diện mạng.
Target
Target có thể được hiểu là hành động dành cho các gói tin khi gói tin thỏa mãn các rules đặt ra.
- ACCEPT: chấp nhận và cho phép gói tin đi vào hệ thống.
- DROP: loại gói tin, không có gói tin trả lời.
- REJECT: loại gói tin những có trả lời table gói tin khác. Ví dụ: trả lời table 1 gói tin “connection reset” đối với gói TCP hoặc “destination host unreachable” đối với gói UDP và ICMP.
- LOG: chấp nhận gói tin nhưng có ghi lại log.
Gói tin sẽ được đi qua tất cả các rules đặt ra mà không dừng lại ở bất kì rule nào đúng. Trường hợp gói tin không khớp với rules nào mặc định sẽ được chấp nhận
3. Các rules trong IPtables
Có thể dùng lệnh “ Iptable -L -v ” để xem các rules hiện có trong IPtables.
Ý Nghĩa của từng cột và dòng
- TARGET: Hành động sẽ được thực thi.
- PROT (protocol): là các giao thức sẽ được áp dụng để thực thi quy tắc này. Có các lựa chọn như all, tcp, udp. Các ứng dụng như SSH, FTP, sFTP,.. đều sử dụng giao thức TCP.
- IN: Chỉ ra rule sẽ áp dụng cho các gói tin đi ra từ interface nào.
- DESTINATION: địa chỉ của lượt truy cập được phép áp dụng rules.
4. Các tuỳ chọn chỉ định thông số IPtables
- Tên table: -t
- Loại giao thức: -p
- Card mạng vào: -i
- Card mạng ra: -o
- IP nguồn: -s <IP>
- IP đích: -d <IP>
- Cổng nguồn: -sport
- Cổng đích: -dport
5. Các tùy chọn để thao tác với chain trong IPtables
- Tạo chain mới: IPtables -N
- Xóa tất cả các rules đã tạo trong chain: IPtables -X
- Liệt kê các rules: IPtables -L
6. Các tùy chọn để thao tác với rule trong IPtables
- Thêm rule: -A
- Xóa: -D
- Thay thế rule: -R
- Chèn rule: -I
7. Một số lệnh cơ bản IPtables
Tạo một rule mới:
IPtables -A INPUT -i lo -j ACCEPT
Cho phép các cổng truy cập bên ngoài qua giao thức tcp.
SSH (22): Iptales -A INPUT -p tcp –dport 22 -j ACCEPT HTTP (80): Iptales -A INPUT -p tcp –dport 80 -j ACCEPT HTTPS (443): Iptales -A INPUT -p tcp –dport 443 -j ACCEPT
Sau thêm các rules trên dùng lệnh dưới để chặn toàn bộ kết nối truy cập từ bên ngoài không thoả mãn những rule trên.
Iptales -A INPUT -j DROP
Bổ sung một rule mới
Iptables -I INPUT 2 -p tcp –dport 8080 -j ACCEPT
Xoá 1 rule
Iptables -D INPUT 4
Chúc bạn thực hiện thành công!
THAM KHẢO CÁC DỊCH VỤ TẠI VINAHOST
>> THUÊ MÁY CHỦ – ĐẶT SERVER
>> THUÊ CLOUD – VPS
>> THUÊ HOSTING
>> GEOTRUST SSL – LICENSE