Cài đặt Iptables Linux Firewall trên VPS ubuntu

1. Cài đặt Iptables 

Iptable được cài đặt sẵn trong hầu hết các bản phân phối của Linux. Nhưng nếu nó chưa được cài đặt trên hệ thống Ubuntu/Debian, hãy sử dụng lệnh sau để cài đặt.

sudo apt-get update
sudo apt-get install iptables

2. Kiểm tra trạng thái hiện tại của Iptables

Bạn có thể dùng lệnh sau để kiểm tra các cấu hình hiện tại của Iptables.
Tùy chọn -L để liệt kê tất cả các rules (qui tắc) và -v để hiện thêm các danh sach bổ trợ. Bạn hãy chú ý các ký tự viết hoa viết thường là khác nhau nhé.

sudo iptables -L -v

Ví dụ đầu ra như sau:

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination

Đây là kết quả của lệnh bạn vừa nhập, hiện cả ba chains được thiết lập mặc định là ACCEPT và không có rules cho bất kỳ chains nào.
Để làm cho bài hướng dẫn Iptable này thực tế hơn, chúng ta sẽ sửa đổi INPUT chain để lọc lưu lượng truy cập đến.

Bước 2: Định nghĩa các chain rules

Định nghĩa các chain rules là thực hiện thêm nó vào danh sách chain hiện tại. Đây là lệnh Iptables được định dạng với các tùy chọn thông thường, chúng tôi sẽ không nêu rõ hết tất cả các tham số.

sudo iptables -A -i <interface> -p <protocol (tcp/udp)> -s <source> –dport <port no.> -j <target>

-A: thêm chain rules
-i <interface> là giao diện mạng bạn cần thực hiện lọc các gói tin
-p <protocol> là giao thức mạng thực hiện lọc (tcp/udp)
–dport <port no.> là cổng mà bạn muốn đặt bộ lọc
Bạn có thể tìm hiểu thêm và các tùy chọn và các lệnh thực thi của iptable tại đây

1. Cho phép lưu lượng truy cập trên localhost

Cho phép giao tiếp giữa ứng dụng mà database của nó trên server như bình thường

sudo iptables -A INPUT -i lo -j ACCEPT

Kết quả như sau

Chain INPUT (policy ACCEPT 7 packets, 488 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all — lo any anywhere anywhere

-A thêm rules vào chains INPUT cho phép tất cả các kết nối ở interface lo
Cho phép truy cập trên các cổng HTTP, SSH, SSL

sudo iptables -A INPUT -p tcp –dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp –dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp –dport 443 -j ACCEPT

Cho phép tất cả các truy cập TCP trên các cổng 22 (SSH), HTTP (80), HTTPS (443)

3. Lọc các gói tin dựa trên nguồn của nó

Nếu bạn muốn cho phép hay từ chối các gói tin dựa trên một IP nguồn của nó hãy sử dụng tham số -s

sudo iptables -A INPUT -s 192.168.1.3 -j ACCEPT

Cho phép các gói tin từ IP 192.168.1.3

sudo iptables -A INPUT -s 192.168.1.3 -j DROP

Từ chối các gói tin từ IP 192.168.1.3
Nếu bạn muốn từ chối các gói tin từ một dãy IP hãy sử dụng tham số Iprange -m với dãy IP đặt sau –src-range

sudo iptables -A INPUT -m iprange –src-range 192.168.1.100-192.168.1.200 -j DROP

4. Chặn tất cả các truy cập khác

Lưu ý: một việc rất quan trọng là bạn cần DROP tất cả các gói tin từ các nguồn khác để tránh các truy cập trái phép từ các cổng mở trên server của bạn.

sudo iptables -A INPUT -j DROP

Sau khi đã thiết lập các rules, bạn có thể kiểm tra lại bằng lệnh sau

sudo iptables -L -v

5. Xóa các rules

Nếu bạn muốn xóa tất cả các rules để tạo lại từ đầu hãy dùng lệnh

sudo iptables -F

Bạn có thể xóa từng rules khác nhau dùng tham số -D nhưng trước tiên bạn cần dùng lệnh

sudo iptables -L –line-numbers

để liệt kê các rules tương ứng với từng số

Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all — 192.168.0.4 anywhere
2 ACCEPT tcp — anywhere anywhere tcp dpt:https
3 ACCEPT tcp — anywhere anywhere tcp dpt:http
4 ACCEPT tcp — anywhere anywhere tcp dpt:ssh

Sau đó dùng lệnh

sudo iptables -D INPUT 3

để xóa rules số 3 ở chain INPUT

Bước 3: Lưu giữ các thay đổi

Các Iptables rules chúng ta tạo ra đều được lưu ở bộ nhớ, nếu bạn reboot máy chủ thì bạn cần thực hiện tạo lại các rules này.
Để lưu giữ vào cấu hình hệ thống, bạn dùng lệnh sau

sudo /sbin/iptables-save

Nếu bạn muốn tắt firewall, hãy sử dụng lệnh

sudo iptables -F
sudo /sbin/iptables-save

Be the first to comment

Leave a Reply

Your email address will not be published.


*