
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ếuHTTP_USER_AGENT
chứa các từ khóa được liệt kê, hoặc nếuREMOTE_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:
- 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
- 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;
}
}
}
- 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
- 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.