🧭 Tổng quan
ICMP là giao thức mạng quen thuộc, thường được sử dụng trong các lệnh như ping
, traceroute
. Tuy nhiên, một số loại ICMP ít được biết đến — điển hình là ICMP Timestamp Request (Type 13) và ICMP Timestamp Reply (Type 14) — lại có thể bị kẻ tấn công khai thác để thu thập thông tin hệ thống như thời gian hoạt động, định tuyến mạng, hoặc dùng trong tấn công phản xạ (reflection attack).
Theo khuyến cáo bảo mật của Cloudflare và Putorius.net, việc chặn các gói ICMP type 13/14 là một bước cần thiết giúp bảo vệ hệ thống khỏi các lỗ hổng khai thác thời gian.
💡 Mục tiêu
- Chặn ICMP type 13 và 14 (timestamp) bằng
iptables
. - Không ảnh hưởng đến các chức năng ICMP thông thường (như
ping
). - Không gây downtime hệ thống.
- Có khả năng rollback nếu cần.
🧪 Môi trường & Danh sách server
Các server cần áp dụng
vStorage HCM04 Nginx:
- 172.16.197 (VIP: 172.16.199) - PRIVATE: 172.16.23.2 (VIP: 172.16.23.4)
- 172.16.198 - PRIVATE: 172.16.23.3
vStorage HCM04 Nginx:
- 172.16.110.201 (VIP: 172.16.110.203) - PRIVATE: 10.10.23.113(VIP: 10.10.23.115)
- 172.16.110.202 - PRIVATE: 10.10.23.114
⚙️ Cài đặt công cụ kiểm thử
Trên một máy kiểm thử (VD: LABSERVER-16-10
, IP: 172.16.16.10
), bạn cần cài hping3
để gửi gói ICMP tùy biến:
apt update
apt install hping3 -y
🧪 Thử nghiệm trước khi thay đổi
Gửi ICMP timestamp request (type 13) tới một server
hping3 --icmp --icmptype 13 172.16.23.2
Kết quả (chưa chặn):
ICMP timestamp: Originate=31994155 Receive=31994155 Transmit=31994155
➤ Điều này cho thấy gói ICMP type 13/14 đang được cho phép, cần xử lý.
🔧 Thực hiện chặn bằng iptables
Các lệnh áp dụng
# Chặn ICMP Timestamp Request (type 13)
iptables -I INPUT -p icmp --icmp-type timestamp-request -j DROP
# Chặn ICMP Timestamp Reply (type 14)
iptables -I INPUT -p icmp --icmp-type timestamp-reply -j DROP
Dùng -I
thay vì -A
để đảm bảo rule chặn được áp dụng trước các rule khác.
✅ Kiểm tra lại rule
iptables -L --line-numbers -n -v
Ví dụ output:
Chain INPUT (policy ACCEPT)
num pkts bytes target prot opt in out source destination
1 5 200 DROP icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 14
2 25 1000 DROP icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 13
💾 Lưu cấu hình iptables
Để tránh mất cấu hình sau reboot:
iptables-save > /etc/iptables/rules
✅ Kiểm tra sau khi áp dụng
Test lại ICMP timestamp (type 13)
hping3 --icmp --icmptype 13 172.16.23.2
Kết quả (sau khi chặn):
no replies, 100% packet loss
➤ Gói ICMP type 13 đã bị chặn đúng như mong đợi.
Kiểm tra ping
thông thường vẫn hoạt động:
ping -c 4 172.16.23.2
Kết quả:
64 bytes from 172.16.23.2: icmp_seq=1 ttl=63 time=0.475 ms
...
➤ ping
vẫn hoạt động vì sử dụng ICMP type 8 (echo-request) và type 0 (echo-reply), không bị chặn.
🔁 Rollback khi cần
Nếu cần khôi phục cấu hình ban đầu:
Liệt kê rule:
iptables -L --line-number -n -v
Xóa rule theo số dòng:
iptables -D INPUT <số-dòng>
Ví dụ:
iptables -D INPUT 2
iptables -D INPUT 1
✅ Ưu điểm
Ưu điểm | Mô tả |
---|---|
Tăng cường bảo mật | Giảm nguy cơ dò thời gian hoạt động hoặc cấu trúc mạng. |
Không ảnh hưởng ICMP thường | Vẫn dùng được ping , traceroute . |
Áp dụng tức thì, không downtime | Rule chặn có hiệu lực ngay lập tức. |
❌ Nhược điểm (và lưu ý)
Nhược điểm | Lưu ý |
---|---|
Có thể ảnh hưởng đến các hệ thống giám sát dùng ICMP type 13/14 | Kiểm tra kỹ hệ thống monitoring trước khi áp dụng. |
Không phải tất cả distro Linux đều lưu iptables sau reboot tự động | Có thể cần dùng iptables-persistent hoặc systemd service để lưu. |
🧠 Lời khuyên
- Kiểm tra kỹ trước khi áp dụng diện rộng, đặc biệt nếu bạn sử dụng các công cụ giám sát mạng đặc thù.
- Nên kiểm tra khả năng kết nối từ cả mạng nội bộ và bên ngoài sau khi chặn.
- Lưu ý các thiết bị firewall hoặc NAT bên ngoài có thể ảnh hưởng đến việc test ICMP.
📌 Kết luận
Chặn ICMP timestamp là một bước đơn giản nhưng quan trọng để nâng cao bảo mật mạng cho các hệ thống Linux. Việc áp dụng không gây ảnh hưởng đến dịch vụ và hoàn toàn có thể rollback nếu cần. Trong bối cảnh các cuộc tấn công ngày càng tinh vi, việc “dọn dẹp” những kênh thông tin không cần thiết như ICMP type 13/14 là điều nên làm sớm.
Hãy áp dụng bảo mật từ những thứ nhỏ nhất – đó là nền móng cho hệ thống vững chắc.