Chặn ping linux bằng csf
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). Show 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 firewallcủ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 : 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ì?
Contents
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.
2. Chặn PING đến máy chủ của bạn với một thông báo lỗiBạ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àoBạ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 kernelNgoà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ếtNhư 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 iptables và Kernel 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/ |