Cách Kiểm Tra VPS Bị Ddos Và Cách Khắc Phục - Biên Nguyễn
Có thể bạn quan tâm
- Trang chủ
- Tin tức - sự kiện
- Kỹ năng
Câu lện trên sẽ trả về hàng loạt IP chiếm nhiều connection nhất trên server. Cần lưu ý rằng DDOS có thể xuất phát từ một lượng nhỏ connection. Do đó việc kết quả trả về connection thấp bạn vẫn có thể trong tình trạng under attack.
netstat -anp |grep 'tcp\|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nMột phương pháp khác:
netstat -n | grep :80 |wc -l netstat -n | grep :80 | grep SYN |wc -lDòng lệnh thứ nhất trả về số lượng active connection (connection đang hoạt động). Rất nhiều kiểu tấn công DDOS bằng cách mở một kết nối connection lên server rồi không làm gì cả khiến cho server chờ đợi cho đến khi timeout. Nến nếu dòng lệnh thứ nhất trả về trên 500 thì server của bạn rất nhiều khả năng bị DDOS. Dòng lệnh thứ 2 trả về kết quả trên 100 thì rất nhiều khả năng server bạn trong tình trang syn attack DDOS. Lưu ý: cách tính trên chỉ là tương đối, một số website có lưu lượng truy cập lớn thì phương pháp detect này có thể không chính xác. Một số phương pháp khắc phục: Cách khắc phục nhanh nhất là block các IP chiếm nhiều connection nhất trong "giờ cao điểm": Cách 1:
route add địa-chỉ-ip rejectvd: route add 192.168.0.168 reject Kiểm tra bằng lệnh:
route -n |grep địa-chỉ-ipCách 2: sử dụng iptables
iptables -A INPUT 1 -s địa-chỉ-ip -j DROP/REJECT service iptables restart service iptables saveSau đó xóa hết tất cả connection hiện hành và khơi động lại service httpd
killall -KILL httpd service httpd restartMột số lệnh cơ bản khác – Đếm lượng connection vào Port 80:
netstat -n | grep :80 |wc -l– Kiểm tra số lượng connection đang ở trạng thái SYN_RECV:
netstat -n | grep :80 | grep SYN_RECV|wc -l
– Hiển thị tất cả các IP đang kết nối và số lượng kết nối từ mỗi IP:
netstat -an|grep :80 |awk '{print $5}'|cut -d":" -f1|sort|uniq -c|sort -rn
– Nếu muốn kiểm tra IP nào mở nhiều SYN thì thêm vào:
netstat -an|grep :80|grep SYN |awk '{print $5}'|cut -d":" -f1|sort|uniq -c|sort -rn
– Đối với server có nhiều IP, để kiểm tra IP nào đang bị tấn công:
netstat -plan | grep :80 | awk '{print $4}'| cut -d: -f1 |sort |uniq -c
– Hiển thị tất cả các IP đang kết nối và số lượng kết nối từ mỗi IP:
netstat -an | grep ':80' | awk '{print $5}' | sed s/'::ffff:'// | cut -d":" -f1 | sort | uniq -c– Hiển thị số lượng kết nối mỗi loại
netstat -an | grep :80 | awk '{print $6}' | sort | uniq -c
Nó sẽ hiển thị như sau
61 ESTABLISHED 13 FIN_WAIT1 17 FIN_WAIT2 1 LISTEN 25 SYN_RECV 298 TIME_WAIT– Hiển thị tất cả các IP đang kết nối và số lượng kết nối từ mỗi IP
watch "netstat -an | grep ':80' | awk '{print \$5}' | sed s/'::ffff:'// | cut -d\":\" -f1 | sort | uniq -c" watch "netstat -an | grep :80 | awk '{print \$6}' | sort | uniq -c"
Khi đã phát hiện IP có dấu hiệu bất thường, bạn có thể sử dụng CSF để block IP đó lại.
Tiếp đến, chúng ta cần tham khảo về phân tích Log của VPS Chú ý: Demo được thực hiện trên CentMinMod những VPS khác thì thay được dẫn File log nhé Tham khảo thêm: Các dòng lệnh bỏ túi trong Linux Lệnh tail để liệt kê các dòng cuối cùng trong file, ở đây ví dụ là 10 bạn có thể thay đổi thành 100, 1000… tùy theo muốn xem nhiều hay ít. I. Đơn giản Check log chung của Server
tail -10 /usr/local/nginx/logs/access.log tail -10 /usr/local/nginx/logs/error.logNếu sử dụng Webserver như VestaCP thì thêm vào
tail -10 /usr/local/vestacp/nginx/logs/access.log tail -10 /usr/local/vestacp/nginx/logs/error.logCheck log từng Domain:
tail -10 /home/nginx/domains/domainname.com/log/access.log tail -10 /home/nginx/domains/domainname.com/log/error.logKiểm tra trong /var/log
ls -lhrt /var/logCheck PHP-FPM
tail -10 /var/log/php-fpm/www-error.log /var/log/php-fpm/www-php.error.logKiểm tra log trong cơ sơ dữ liệu MySQL / MariaDB
tail -10 /var/log/mysqld.logKiểm tra log trong CSF firewall
tail -10 /var/log/lfd.logKiểm tra log trong Mail
tail -10 /var/log/maillogFor Cron job
tail -10 /var/log/cronII. Nâng cao Lấy tất cả các log trong 1 ngày Ví dụ mình lấy các log trong ngày 5/12/2015
grep -w '05/Dec/2015' /home/nginx/domains/domain.com/log/access.logLấy log trong nhiều ngày bất kỳ Lấy tất cả các log trong ngày 5/12/2015 và ngày 4/12/2015
grep -w '05/Dec/2015\|04/Dec/2015' /home/nginx/domains/domain.com/log/access.logLấy tất cả IP trong file log
grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' /home/nginx/domains/domain.com/log/access.logLấy log trong ngày được và chuyển hướng google Chỉ lấy các dòng có chuổi là “05/Dec/2015” VÀ “google” (Được hiểu là Log của ngày 5/12/2015 và được chuyển hướng từ google)
grep -w '05/Dec/2015.*google' /home/nginx/domains/domain.com/log/access.logXuất ra log trong ngày và điều kiện “hoặc” Chỉ lấy các dòng có chuổi là “05/Dec/2015” và “google” HOẶC có chuổi là “04/Dec/2015” và “google”
grep -w '05/Dec/2015.*google\|04/Dec/2015.*google' /home/nginx/domains/domain.com/log/access.logXuất ra tất cả IP với điều kiện Xuất tất cả các IP được chuyển hướng từ Google được ghi nhận từ ngày 4 và 5/12/2015
grep -w '05/Dec/2015.*google\|04/Dec/2015.*google' /home/nginx/domains/domain.com/log/access.log | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'Xuất số kết nối của IP đến server trong ngày Đếm xem số lần kết nối của một IP được chuyển hướng từ Google trong ngày 5/12/2015
grep -w '05/Dec/2015.*google' /home/nginx/domains/domain.com/log/access.log | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | soft | uniq -cd | sort -nrXuất ra tất cả các IP có >10 kết nối trong ngày Kiểm tra tất cả các IP có > 10 kết nối trong ngày 5/12/2015
grep -w '05/Dec/2015' /home/nginx/domains/domain.com/log/access.log | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | sort | uniq -cd | sort -nr | grep -v '^ *[1-9] 'Xem toàn bộ chuyển hướng từ google trong 1 tháng Xuất ra màn hình toàn bộ log được chuyển hướng từ google tháng 12/2015 nhưng không chứa bot.html
grep -w 'Dec/2015.*google.com' /home/nginx/domains/domain.com/log/access.log | grep -v 'bot.html'Xem link có nhiều lượt truy cập nhất trong tháng Link có nhiều lượt truy cập nhất từ google trong tháng 12/2015, không tính bot
grep -w 'Dec/2015.*google.com' /home/nginx/domains/domain.com/log/access.log | grep -v 'bot.html' | grep -odeposit pulsa
Bài viết liên quan
- Cây kim tiền hợp mệnh thổ không?
- Security - Privacy Policy
Từ khóa » Cách Ddos Vps
-
Tổng Hợp Cách Chống DDoS Cho VPS Hiệu Quả Năm 2022
-
Hướng Dẫn Cách DDOS Website Hoặc Vps, Sever - YouTube
-
Hướng Dẫn Cách Chống DDOS Cho VPS Hiệu Quả - Nhân Hòa
-
Share Trọn Bộ 7 Tool DDOS Cực Mạnh Và Chất Cuối 2017 - Anonyviet
-
7 Cách Phòng Chống DDoS Cho Website, VPS Và Server Hiệu Quả
-
Anti DDoS VPS, Hướng Dẫn Cách Chống DDoS Cho VPS - Vnetwork
-
Tổng Hợp Các Cách Chống DDoS Cho VPS/Server Hiệu Quả Nhất Hiện ...
-
#6 Cách Phòng Chống DDOS Cho Trang Web - HostingViet
-
Top 7 Cách Chống DDoS Cho Website, VPS, Server | BKHOST
-
Hướng Dẫn Chống DDOS Bằng Dịch Vụ Cloudflare - Wiki Mắt Bão
-
#1 Dịch Vụ Chống DDoS Cho Server, VPS Và Website
-
Làm Gì Khi VPS Bị Tấn Công Ddos Trên Linux | Nguyễn Hữu Hoàng
-
Tổng Hợp 4 Phần Mềm DDoS Web Mạnh Nhất Hiện Nay
-
Cách Giảm ảnh Hưởng Của DDOS Trên Linux - VPS Giá Rẻ