Hướng Dẫn Chi Tiết Chặn Các Bot Truy Cập Bất Hợp Pháp và Các Dải IP Đáng Ngờ trên Server

Trong thời đại kỹ thuật số ngày nay, bảo mật website không chỉ là vấn đề của riêng các doanh nghiệp lớn mà còn là vấn đề của mọi trang web. Một trong những mối đe dọa lớn nhất đến từ các bot và các truy cập bất hợp pháp. Các bot như AhrefsBot, SemrushBot, và nhiều bot khác có thể gây ra những vấn đề lớn về hiệu suất và bảo mật cho trang web của bạn. Hơn nữa, các dải IP cụ thể như 173.252.xxx.xxx và 66.220.xxx.xxx cũng có thể gây nguy hiểm cho trang web của bạn. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách chặn các bot và dải IP đáng ngờ này trên máy chủ sử dụng Linux cụ thể là HĐH Centos 7.x.

Tại Sao Bạn Cần Chặn Các Bot và Dải IP Đáng Ngờ?

Các bot tìm kiếm và phân tích thường không chỉ đơn thuần là thu thập dữ liệu mà còn có thể gây ra các vấn đề như:

  • Tiêu tốn tài nguyên: Các bot này có thể làm tăng tải máy chủ, dẫn đến giảm hiệu suất của trang web.
  • Bảo mật: Một số bot có thể cố gắng khai thác lỗ hổng bảo mật của trang web.
  • Tăng chi phí băng thông: Lượng truy cập không cần thiết từ các bot có thể làm tăng chi phí băng thông.

Chặn các dải IP đáng ngờ và các bot này là bước quan trọng để bảo vệ trang web của bạn khỏi những mối đe dọa tiềm ẩn.

Cách Chặn Các Bot Truy Cập Bất Hợp Pháp và Các Dải IP Đáng Ngờ trên Server

Dưới đây là hướng dẫn chi tiết cách chặn các bot và dải IP đáng ngờ trên máy chủ sử dụng VestaCP.

1. Chặn Các Bot Bằng .htaccess (Cho Apache)

Nếu máy chủ của bạn sử dụng Apache, bạn có thể sử dụng tệp .htaccess để chặn các bot dựa trên User-Agent. Dưới đây là cấu hình cụ thể:

<IfModule mod_rewrite.c>
RewriteEngine On

# Chặn các user-agent chứa các từ khóa
RewriteCond %{HTTP_USER_AGENT} AhrefsBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} BaiDuSpider [NC,OR]
RewriteCond %{HTTP_USER_AGENT} baidu.com [NC,OR]
RewriteCond %{HTTP_USER_AGENT} /bin/bash [NC,OR]
RewriteCond %{HTTP_USER_AGENT} [email protected] [NC,OR]
RewriteCond %{HTTP_USER_AGENT} DnyzBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} DotBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} eval\( [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Go-http-client [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Nikto [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Nimbostratus [NC,OR]
RewriteCond %{HTTP_USER_AGENT} python-requests [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Scrapy [NC,OR]
RewriteCond %{HTTP_USER_AGENT} SeznamBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Sogou\ web\ spider [NC,OR]
RewriteCond %{HTTP_USER_AGENT} spbot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Uptimebot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} WebDAV-MiniRedir [NC,OR]
RewriteCond %{HTTP_USER_AGENT} WinHttp.WinHttpRequest [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ZmEu [NC,OR]
RewriteCond %{HTTP_USER_AGENT} MegaIndex.ru [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ahrefs [NC,OR]
RewriteCond %{HTTP_USER_AGENT} serpstatbot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ZoominfoBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} MJ12bot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} SemrushBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} DotBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} AspiegelBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} webmeup-crawler [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Barkrowler [NC,OR]
RewriteCond %{HTTP_USER_AGENT} mj12bot [NC,OR]
RewriteCond %{HTTP_REFERER} thienduongweb.com [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ping.blo.gs [NC,OR]
RewriteCond %{HTTP_USER_AGENT} PetalBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Adsbot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} blo.gs [NC,OR]
RewriteCond %{HTTP_USER_AGENT} crawler [NC,OR]
RewriteCond %{HTTP_USER_AGENT} MauiBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} dataforseo [NC,OR]
RewriteCond %{HTTP_USER_AGENT} facebookexternalhit [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0.2 Safari/600.2.5 (Amazonbot/0.1; +https://developer.amazon.com/support/amazonbot)" [NC]

# Thực hiện chặn các bot
RewriteRule .* - [F,L]

# Chặn IP dải 173.252.xxx.xxx
RewriteCond %{REMOTE_ADDR} ^173\.252\.[0-9]{1,3}\.[0-9]{1,3}$
RewriteRule .* - [F,L]

# Chặn IP dải 66.220.xxx.xxx
RewriteCond %{REMOTE_ADDR} ^66\.220\.[0-9]{1,3}\.[0-9]{1,3}$
RewriteRule .* - [F,L]
</IfModule>

# Chỉ định trang lỗi tùy chỉnh cho mã trạng thái 403
ErrorDocument 403 /403.html

Giải Thích:

  • RewriteEngine On: Kích hoạt mod_rewrite.
  • RewriteCond: Điều kiện để áp dụng RewriteRule. Nếu HTTP_USER_AGENT chứa các từ khóa được liệt kê, hoặc nếu REMOTE_ADDR khớp với các dải IP cụ thể, quy tắc Rewrite sẽ được áp dụng.
  • RewriteRule .* - [F,L]: Chặn các yêu cầu nếu bất kỳ điều kiện nào ở trên khớp.
  • ErrorDocument 403 /403.html: Chỉ định trang lỗi tùy chỉnh cho mã trạng thái 403.

2. Chặn Các Bot và IP Trên Nginx

Nếu máy chủ của bạn sử dụng Nginx, bạn có thể cập nhật cấu hình Nginx để chặn các bot và dải IP cụ thể. Dưới đây là hướng dẫn chi tiết:

  1. Mở tệp cấu hình chính của Nginx. Trên VestaCP, tệp này thường nằm trong /etc/nginx/nginx.conf.
sudo nano /etc/nginx/nginx.conf
  1. Thêm các điều kiện chặn cho các user-agent và dải IP trong khối http { ... }:
http {
# Chặn các user-agent chứa các từ khóa
map $http_user_agent $bad_bot {
default 0;
"~*AhrefsBot" 1;
"~*BaiDuSpider" 1;
"~*baidu.com" 1;
"~*/bin/bash" 1;
"~*[email protected]" 1;
"~*DnyzBot" 1;
"~*DotBot" 1;
"~*eval\(" 1;
"~*Go-http-client" 1;
"~*Nikto" 1;
"~*Nimbostratus" 1;
"~*python-requests" 1;
"~*Scrapy" 1;
"~*SeznamBot" 1;
"~*Sogou web spider" 1;
"~*spbot" 1;
"~*Uptimebot" 1;
"~*WebDAV-MiniRedir" 1;
"~*WinHttp.WinHttpRequest" 1;
"~*ZmEu" 1;
"~*MegaIndex.ru" 1;
"~*ahrefs" 1;
"~*serpstatbot" 1;
"~*ZoominfoBot" 1;
"~*MJ12bot" 1;
"~*SemrushBot" 1;
"~*DotBot" 1;
"~*AspiegelBot" 1;
"~*webmeup-crawler" 1;
"~*Barkrowler" 1;
"~*mj12bot" 1;
"~*thienduongweb.com" 1;
"~*ping.blo.gs" 1;
"~*PetalBot" 1;
"~*Adsbot" 1;
"~*blo.gs" 1;
"~*crawler" 1;
"~*MauiBot" 1;
"~*dataforseo" 1;
"~*facebookexternalhit" 1;
"~*Amazonbot" 1;
}

server {
...

# Chặn các bot
if ($bad_bot) {
return 403;
}

# Chặn IP dải 173.252.xxx.xxx
if ($remote_addr ~* "^173\.252\.[0-9]{1,3}\.[0-9]{1,3}$") {
return 403;
}

# Chặn IP dải 66.220.xxx.xxx
if ($remote_addr ~* "^66\.220\.[0-9]{1,3}\.[0-9]{1,3}$") {
return 403;
}

...

# Chỉ định trang lỗi tùy chỉnh cho mã trạng thái 403
error_page 403 /403.html;

location = /403.html {
root /path/to/your/document/root; # Đường dẫn đến thư mục gốc của trang web
internal;
}
}
}
  1. Lưu lại tệp và kiểm tra cấu hình Nginx để đảm bảo không có lỗi cú pháp:
sudo nginx -t
  1. Khởi động lại Nginx để áp dụng thay đổi:
sudo systemctl restart nginx

Kết Luận

Việc chặn các bot không mong muốn và các dải IP đáng ngờ là bước quan trọng trong việc bảo vệ và duy trì hiệu suất của trang web. Bằng cách thực hiện các bước hướng dẫn trên cho Apache và Nginx, bạn có thể ngăn chặn các truy cập không mong muốn và bảo vệ trang web của bạn khỏi các mối đe dọa tiềm ẩn. Nếu bạn sử dụng VestaCP, việc cập nhật cấu hình máy chủ trở nên dễ dàng và hiệu quả hơn bao giờ hết.

Hy vọng bài viết này đã cung cấp cho bạn những thông tin hữu ích và giúp bạn thực hiện các biện pháp bảo mật cần thiết cho trang web của mình. Nếu bạn có bất kỳ câu hỏi hay cần hỗ trợ thêm, đừng ngần ngại để lại bình luận bên dưới. Chúng tôi luôn sẵn sàng hỗ trợ bạn.

Hướng Dẫn Chi Tiết Chặn Các Bot Truy Cập Bất Hợp Pháp và Các Dải IP Đáng Ngờ trên Server
Hướng Dẫn Chi Tiết Chặn Các Bot Truy Cập Bất Hợp Pháp và Các Dải IP Đáng Ngờ trên Server
GMH
Logo
Compare items
  • Total (0)
Compare
0