Logo
Firewall IPTables: FILTER - Cho phép/cấm các giao thức ICMP (ping), HTTP (web), FTP, telnet

Firewall IPTables: FILTER - Cho phép/cấm các giao thức ICMP (ping), HTTP (web), FTP, telnet

tobi
tobi•• … views

Trong bài viết này, chúng ta sẽ cấu hình firewall trên AlmaLinux 9 bằng IPTables theo yêu cầu bài Lab chương 6 môn An toàn thông tin. Nội dung gồm kiểm soát luồng dữ liệu vào/ra, lọc ICMP/HTTP/FTP/Telnet, và thiết lập luật INPUT/OUTPUT/FORWARD.

I.Yêu Cầu

II. Chuẩn Bị

Máy bảo vệ (Victim + Firewall): Hệ điều hành AlmaLinux 9 (thay thế cho Ubuntu/CentOS)

Máy tấn công: Kali Linux

Hai máy kết nối cùng mạng ảo nội bộ (VMware NAT hoặc Host-only)

III. Thực Hành

1.Cài đặt và bật IPTables (Thực hiện trên máy AlmaLinux)

sudo systemctl stop firewalld sudo systemctl disable firewalld sudo dnf install iptables-services -y sudo systemctl enable iptables sudo systemctl start iptables

2. Cài đặt dịch vụ để cần thiết đề demo (Thực hiện trên máy AlmaLinux)

sudo dnf install vsftpd -y sudo systemctl enable vsftpd sudo systemctl start vsftpd sudo dnf install epel-release -y sudo dnf install telnet telnet-server -y sudo systemctl enable telnet.socket sudo systemctl start telnet.socket sudo dnf install nginx -y # Có rồi thì khỏi cài nhé ! sudo systemctl enable nginx # Có rồi thì khỏi cài nhé ! sudo systemctl start nginx # Có rồi thì khỏi cài nhé !

3. Cấu hình chuyển tiếp gói tin (Forward Packet) (Thực hiện trên máy AlmaLinux)

sudo sysctl -w net.ipv4.ip_forward=1

Đảm bảo dòng sau có trong /etc/sysctl.conf:

net.ipv4.ip_forward = 1

4.Cấu hình luật FILTER theo yêu cầu Lab ( Bắt đầu demo)

Xóa các cấu hình cũ nếu có :

sudo iptables -F sudo iptables -X

INPUT: Chặn ICMP, HTTP, FTP, TELNET đi vào LAN

ICMP(PING) :

Sử dụng máy Kali ping tới máy Almalinux test :

ping 192.168.85.134

Chặn Ping bằng lệnh sau (Trên Almalinux) :

sudo iptables -A INPUT -p icmp -j DROP

kiểm tra lại bằng lệnh ping xem đã thành công chưa :

HTTP :

Test bằng cách truy cập vào website bằng trình duyệt :

Chặn HTTP bằng lệnh sau( Trên Almalinux) :

sudo iptables -A INPUT -p tcp --dport 80 -j DROP

Giờ thì hết vào được rồi !

FTP

Test FTP bằng giao thức telnet luôn nhé :

telnet 192.168.85.134 21

Như hình là đang port 21 đang mở, tức là có thể FTP bình thường.

Chặn FTP:

sudo iptables -A INPUT -p tcp --dport 21 -j DROP

Như vậy là chặn thành công !.

Telnet

Test telnet :

telnet 192.168.85.134

Chặn Telnet :

sudo iptables -A INPUT -p tcp --dport 23 -j DROP

Như vậy là thành công chặn rồi.

OUTPUT: Chặn ICMP từ LAN ra ngoài.

sudo iptables -A OUTPUT -p icmp -j DROP

Lúc này bên trong máy Almalinux sẽ không thể ping ra ngoài 8.8.8.8 được.

sudo iptables -D OUTPUT -p icmp -j DROP

Muốn ping lại được cần mở lại các lệnh chặn này :

sudo iptables -D OUTPUT -p icmp -j DROP sudo iptables -D INPUT -p icmp -j DROP

Lưu Ý có thể chỉ định chặn 1 IP nhất định :

# ICMP - Chặn ping vào từ IP cụ thể sudo iptables -A INPUT -s 192.168.85.134 -p icmp -j DROP # HTTP sudo iptables -A INPUT -s 192.168.85.134 -p tcp --dport 80 -j DROP # FTP sudo iptables -A INPUT -s 192.168.85.134 -p tcp --dport 21 -j DROP # TELNET sudo iptables -A INPUT -s 192.168.85.134 -p tcp --dport 23 -j DROP

Ngoài ra có thể mở chặn bằng cách đổi biến -A thành -D :

Ví dụ : sudo iptables -A INPUT -s 192.168.85.134 -p icmp -j DROP Mở chặn bằng lệnh : sudo iptables -D INPUT -s 192.168.85.134 -p icmp -j DROP

FORWARD: Cho phép HTTP ra ngoài và phản hồi lại:

 Cho phép truy cập HTTP từ LAN ra ngoài

Mai Tobi viết tiếp nhé !.

Chuyên mục:Linux

Bình luận

Bình luận chưa được cấu hình (thiếu biến môi trường PUBLIC_GISCUS_*).

Zalo