Nội dung bài viết
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 AlamaLinux)
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 AlamaLinux)
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 AlamaLinux)
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é !.