Hướng dẫn chặn PING trên Linux

Hướng dẫn chặn PING trên Linux | PING – Packet InterNet Gopher, là một tiện ích quản trị mạng máy tính được sử dụng để kiểm tra khả năng kết nối của máy chủ trên giao thức Internet (IP) và dùng để đo thời gian gói tin được gửi từ máy chủ đến máy đích và quay trở về. Việc chặn PING trên server/VPS khá hữu ích trong trường hợp máy chủ của bạn bị kiểu tấn công DDOS sử dụng tính năng PING (Flood ICMP).

chặn ping trên linux

Trước khi đọc bài hướng dẫn này, mình cần lưu ý các bạn về phần firewall của Linux. Trên Linux có rất nhiều dịch vụ firewall như : shorewall, csf, firewalld,.. nhưng nhìn chung tất cả sẽ tương tác qua ‘iptables‘ -> core module kernel ‘netfilter‘. Vì vậy ta sẽ sử dụng công cụ chính là ‘iptables‘ để cấu hình trực tiếp các rule chặn giao thức ICMP (hoạt động PING) trên Linux.

Iptables là một hệ thống tường lửa dựa vào thiết lập rule, thường được cài sẵn trên hệ điều hành Unix/Linux và chúng có nhiệm vụ kiểm soát gói tin vào ra. Mặc định iptables sẽ không có bất cứ rule nào được thiết lặp sẵn, chúng ta có thể tạo, thêm, sửa các rule. Trong bài viết này, CuongQuach.com sẽ hướng dẫn các bước để làm sao có thể cho phép/chặn gói tin ICMP (thao tác PING) theo cả chiều IN và OUT của hệ thống Linux.

Các bạn cần nắm được thông tin sau :
– ICMP echo messenger (type 0 và type 8)
– ICMP messenger khác

Các kiến thức về PING hay giao thức ICMP có thể xem tại bài viết này: PING là gì ? ICMP là gì? 

Có thể bạn quan tâm chủ đề khác
Guacamole là gì ? Tìm hiểu dịch vụ Remote Desktop Gateway – Guacamole
Giám sát log server Linux thời gian thực với công cụ Log.io
Top chứng chỉ Linux quốc tế mà Quản trị viên nên có
NTP Server là gì ? Tổng quan dịch vụ NTP

1. Những option iptables hỗ trợ

Do chúng ta sẽ sử dụng chương trình công cụ firewall ‘iptables‘ để thiết lập các rule tường lửa. Vì vậy bạn cần lưu ý cơ bản 1 số option sau của nó. Sau này sẽ có một bài viết chi tiết về sử dụng ‘iptables‘ sau.

  • -A : Thêm Rule vào phía dưới bảng rule iptables
  • -D : Xóa rule ra
  • -p : Chỉ định giao thức (ở đây mình sẽ sử dụng giao thức “icmp”)
  • –icmp-type : Loại chỉ định của giao thức ICMP.
  • -J : Chỉ định đến mục tiêu

2. Chặn PING đến máy chủ của bạn với một thông báo lỗi

Bạn có thể chặn PING đến máy chủ Linux của bạn với một thông báo lỗi “Destination Port Unreachable”.

# iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT

Kiểm tra:

# iptables -L
Chain INPUT (policy ACCEPT)
target  prot opt source             destination         
ACCEPT  all  --  anywhere           anywhere            state RELATED,ESTABLISHED
ACCEPT  all  --  anywhere           anywhere            
ACCEPT  tcp  --  anywhere           anywhere            state NEW tcp dpt:ssh
REJECT  icmp --  anywhere             anywhere          icmp echo-request reject-with icmp-port-unreachable
 
Chain FORWARD (policy ACCEPT)
target  prot opt source             destination         
 
Chain OUTPUT (policy ACCEPT)
target  prot opt source             destination

Kết quả ping thử :

[c:\~]$ ping 192.168.1.69

Pinging 192.168.1.69 with 32 bytes of data:
Reply from 192.168.1.69: Destination port unreachable.
Reply from 192.168.1.69: Destination port unreachable.
Reply from 192.168.1.69: Destination port unreachable.
Reply from 192.168.1.69: Destination port unreachable.

Ping statistics for 192.168.1.69:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

3. Để chặn PING mà không cần thông báo lỗi nào

Bạn sử dụng DROP là option cho hành động xử lý packet ‘Jump To Target‘.

# iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
# iptables -A OUTPUT -p icmp --icmp-type echo-reply -j DROP

Kiểm tra:

# iptables -L
Chain INPUT (policy ACCEPT)
target  prot opt source             destination         
DROP    icmp --  anywhere           anywhere            icmp echo-request
 
Chain FORWARD (policy ACCEPT)
target  prot opt source             destination         
 
Chain OUTPUT (policy ACCEPT)
target  prot opt source             destination   
DROP    icmp --  anywhere             anywhere            icmp echo-reply

Kết quả ping thử :

[c:\~]$ ping 192.168.1.69

Pinging 192.168.1.69 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.

Ping statistics for 192.168.1.69:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

4. Cho phép PING từ OUTSIDE đến INSIDE

# iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
# iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

5. Chặn PING từ chính máy chủ của bạn

# iptables -A OUTPUT -p icmp --icmp-type echo-request -j DROP

Kết quả ping thử:

# ping google.com
PING google.com (172.217.161.142) 56(84) bytes of data.
ping: sendmsg: Operation not permitted
ping: sendmsg: Operation not permitted
ping: sendmsg: Operation not permitted
ping: sendmsg: Operation not permitted
ping: sendmsg: Operation not permitted
^C
--- google.com ping statistics ---
5 packets transmitted, 0 received, 100% packet loss, time 4855ms

6 .Cho phép PING từ INSIDE đến OUTSIDE

# iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
# iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT

7. Chặn ping từ cấu hình kernel

Ngoài cách Allow/Deny PING bằng iptables ra, các bạn cũng có thể chặn PING bằng cách cấu hình tinh chỉnh Kernel như sau:

+ Deny PING:

# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

Ngược lại Allow PING:

# echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

Tổng kết

Như vậy thông qua bài hướng dẫn này, CuongQuach đã hướng dẫn các bạn 2 cách để chặn PING trên Linux đó là sử dụng chương trình iptablesKernel setting. Hy vọng bài viết sẽ giúp ích các bạn trong việc ngăn chặn mục đích tấn công DOS Flood PING hoặc không muốn người khác ping được máy chủ Linux của bạn. Cám ơn các bạn đã theo dõi.

Nguồn: https://cuongquach.com/

Previous article[vSphere] Hướng dẫn mở giao diện DCUI ESXi trên terminal SSH
Next articleHướng dẫn cài đặt Ubuntu Server 16.04 LTS
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !