TopGit
Đánh giá repo GitHub

Nginx Ultimate Bad Bot Blocker: Cấu Hình Chặn Bot

mitchellkrogza/nginx-ultimate-bad-bot-blocker
NTopGit review image for mitchellkrogza/nginx-ultimate-bad-bot-blocker
Review by Topgit.dev for mitchellkrogza/nginx-ultimate-bad-bot-blocker, with GitHub repository stats and README context.
Nhận định nhanh

Nginx Ultimate Bad Bot Blocker là một tập hợp file config Nginx và shell script chặn user-agent xấu, referrer spam, và scanner dò lỗ hổng bảo mật thông qua các blocklist mà bạn cài trực tiếp lên server của mình. Nó làm mới danh sách mỗi ngày qua cron job. Hãy dùng nếu bạn tự chạy Nginx và muốn lọc traffic bằng blocklist mà không phải trả tiền cho WAF; bỏ qua nếu CDN đã lọc traffic này giúp bạn rồi.

Sao
★ 4.8k
Fork
⑂ 525
Người đóng góp
👥 32
Ngôn ngữ
Shell
Giấy phép
Xem trong repo
Chủ đề
Security
Cập nhật
Oct 2026
Trang chủ
—
GitHub

Chặn Traffic Độc Hại Trên Nginx

Server Nginx công khai hứng scanner dò theme WordPress có lỗ hổng, scraper phớt lờ robots.txt, bot referrer spam cố gắng làm bẩn analytics bằng một domain lạ, và fake Googlebot giả mạo chuỗi user-agent của crawler thật để lách qua các kiểm tra đơn giản. Nginx không tự lọc bất kỳ traffic nào trong số đó, nên bạn phải tự viết map block và deny rule, hoặc tìm một danh sách và script được duy trì sẵn để làm việc đó thay bạn. Nginx Ultimate Bad Bot Blocker ra đời vì làm việc đó từng chữ ký một không thể mở rộng quy mô, và một blocklist không được cập nhật hàng ngày sẽ lỗi thời chỉ sau vài tuần khi các chữ ký bot mới xuất hiện.

Nginx Ultimate Bad Bot Blocker Là Gì?

Nginx Ultimate Bad Bot Blocker là một add-on cho Nginx, được phân phối dưới dạng tập hợp file config (globalblacklist.conf, blockbots.conf, ddos.conf, và nhiều file khác) cùng các shell script install, setup, và update, do Mitchell Krog duy trì. Ở phiên bản V4.2026.08.6097, nó chặn 7115 bad referrer, 699 bad user-agent, và 218 tín hiệu fake Googlebot, và có thể tự làm mới các danh sách đó qua cron job hàng ngày.

Các Tính Năng Bảo Vệ Chính

  • ✓Chặn 699 bad user-agent và 7115 bad referrer qua globalblacklist.conf và các file bots.d/*.conf mà nó cài đặt, theo số liệu ở phiên bản V4.2026.08.6097 trong README.
  • ✓Đánh dấu 218 tín hiệu fake Googlebot: user-agent tự xưng là Googlebot nhưng không khớp với crawler thật của Google, một hạng mục mà hầu hết danh sách bot chung chung bỏ qua.
  • ✓Có riêng một ddos.conf để rate-limit ở tầng Nginx, tách biệt khỏi các blocklist bot và referrer.
  • ✓Chặn referrer spam qua bad-referrer-words.conf và custom-bad-referrers.conf mà bạn có thể mở rộng thêm domain của riêng mình.
  • ✓Phát hiện scanner dò theme WordPress, theo mô tả và topics của repo.
  • ✓Topics của repo còn gắn nhãn lọc referrer gambling và porn, cùng chặn adware, malware, và spyware, bên cạnh các blocklist bot và referrer cốt lõi.
  • ✓Mô tả trên GitHub còn nhắc tới một Fail2Ban jail cho các IP tái phạm, dù nội dung README ở đây không nói rõ cách cấu hình nó.
  • ✓update-ngxblocker có thể gửi email báo cáo sau mỗi lần tự cập nhật, hoặc chạy im lặng với flag -n.
Số sao GitHub của repo này thay đổi thế nào theo thời gian. Nguồn: star-history.com.Xem lịch sử sao ↗

Ai Được Lợi Từ Blocker Này?

Nginx Ultimate Bad Bot Blocker phù hợp với người tự chạy server Nginx, có quyền truy cập shell và root, không phải managed hosting nơi bạn không thể thả file vào /etc/nginx/. Nếu bạn đang gặp traffic scraper, fake-Googlebot, hay referrer spam làm bẩn analytics, và có thể tự set up cron job, nó giúp bạn khỏi phải tự tay duy trì deny list. Bỏ qua nếu bạn dùng shared hosting không có quyền root, hoặc nếu CDN trước site của bạn đã lọc traffic này trước khi nó chạm tới Nginx.

Cài Đặt Nginx Bot Blocker

Cài trên Linux bắt đầu bằng việc tải một script duy nhất: `sudo wget https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/install-ngxblocker -O /usr/local/sbin/install-ngxblocker`, sau đó `sudo chmod +x /usr/local/sbin/install-ngxblocker`. Người dùng FreeBSD có thể bỏ qua bước đó và chạy `pkg install www/nginx-ultimate-bad-bot-blocker` thay thế. Chạy `sudo ./install-ngxblocker` trước tiên sẽ thực hiện dry run, cho bạn xem mọi file nó sẽ tải về trước khi thực sự làm; thêm `-x` để tải thật globalblacklist.conf, botblocker-nginx-settings.conf, các file bots.d/*.conf, và các script setup/update vào /etc/nginx/. Sau đó, `sudo ./setup-ngxblocker -x` chèn các dòng include vào file vhost của bạn. Nó mặc định file vhost nằm ở /etc/nginx/sites-available/ và có đuôi .vhost, dù flag -e (ví dụ `-e conf`) cho phép trỏ tới đuôi file khác. Chạy `sudo nginx -t` để kiểm tra config, rồi `sudo nginx -s reload` để áp dụng. Một hướng dẫn cấu hình thủ công riêng cũng có trong MANUAL-CONFIGURATION.md cho ai muốn bỏ qua các script.

Cấu Hình Và Bảo Trì Blocker Của Bạn

Đặt updater chạy cron hàng đêm để danh sách không bị lỗi thời: `00 22 * * * sudo /usr/local/sbin/update-ngxblocker -e [email protected]` cập nhật một lần mỗi ngày và gửi email báo cáo cho bạn. README ghi rằng maintainer đôi khi phát hành 3-4 bản cập nhật trong một ngày, nên chuyển sang `00 */8 * * *` sẽ bắt kịp những lần đó nhanh hơn. Thêm `-n` để bỏ qua thông báo email, hoặc `-g` để gửi qua Mailgun thay thế. Các chỉnh sửa của riêng bạn nằm trong những file mà updater không bao giờ ghi đè: whitelist-ips.conf, whitelist-domains.conf, blacklist-user-agents.conf, blacklist-ips.conf, bad-referrer-words.conf, và custom-bad-referrers.conf. Để xác nhận nó đang hoạt động, hãy curl domain của bạn với một user-agent xấu giả như `Xenu Link Sleuth/1.3.8`; README nói bạn sẽ nhận được connection reset hoặc empty reply thay vì phản hồi bình thường, trong khi user-agent Googlebot hay bingbot thật vẫn phải trả về 200 OK.

Điểm mạnh

  • ✓Miễn phí và cụ thể: chặn 699 bad user-agent, 7115 bad referrer, và 218 tín hiệu fake-Googlebot ngay khi cài, theo số liệu gắn với từng phiên bản trong README.
  • ✓Tự cập nhật qua cron, nên danh sách không lỗi thời như một blocklist tải về một lần.
  • ✓Các file tuỳ chỉnh của bạn được bảo vệ khỏi bị ghi đè khi cập nhật, nên các chỉnh sửa cục bộ vẫn còn nguyên.
  • ✓Chế độ dry-run trên install-ngxblocker và setup-ngxblocker cho bạn thấy mọi file nó sẽ đụng tới trước khi thực sự đụng vào.
  • ✓FreeBSD có hẳn một package (`pkg install www/nginx-ultimate-bad-bot-blocker`), không chỉ đường script dành cho Linux.

Hành Vi Và Lưu Ý Cần Biết

  • △Dữ kiện GitHub ở đây không liệt kê giấy phép, nên hãy kiểm tra trực tiếp repo trước khi dựa vào nó cho việc gì nhạy cảm về license.
  • △Các message [WARN] trùng lặp trong log Nginx là hệ quả bình thường của quá trình reload blacklist hàng ngày, không phải bug, nhưng trông đáng lo nếu bạn chưa biết điều đó.
  • △README nêu rõ có vấn đề thật với phương thức http-01 challenge của Let's Encrypt khi dùng cùng blocker này, và khuyên dùng webroot authenticator thay thế, mà không xác định rõ nguyên nhân là do certbot hay Nginx.
  • △setup-ngxblocker mặc định file vhost nằm ở /etc/nginx/sites-available/ với đuôi .vhost; cấu trúc khác cần flag -e, dễ bị bỏ sót ở lần chạy đầu.
  • △Fail2Ban jail được nhắc trong mô tả dự án không được giải thích trong phần README có ở đây, nên cách cấu hình nó không rõ từ nguồn này.
  • △Đây là shell script xây riêng cho Nginx; không giúp được gì nếu bạn chạy Apache, Caddy, hay một reverse proxy khác.

Các Giải Pháp Bảo Mật Nginx Khác

caddy — một web server khác có HTTPS tự động và config đơn giản hơn, đáng cân nhắc nếu bạn muốn đổi hẳn web server thay vì gắn thêm blocklist lên Nginx. ↗ModSecurity — module WAF đa năng cho Nginx và Apache, để lọc theo rule vượt ra ngoài các danh sách bot và referrer tĩnh.Bot management của Cloudflare — lựa chọn ở tầng edge nếu bạn muốn lọc traffic trước khi nó chạm tới server Nginx của mình.Fail2ban độc lập — hệ thống jail quét log mà mô tả của dự án này nói cũng có tích hợp, hữu ích nếu bạn muốn tách việc ban IP ra khỏi config Nginx.

Câu Hỏi Thường Gặp

Blocker này chặn những loại traffic xấu nào?

Nginx Ultimate Bad Bot Blocker chặn bad user-agent, referrer spam, scanner dò lỗ hổng, và fake Googlebot; mô tả trên GitHub còn liệt kê adware, malware, ransomware, và traffic từ site độc hại khác trong số những gì nó nhắm tới.

Blacklist được cập nhật bao lâu một lần?

Maintainer cập nhật danh sách liên tục, và README ghi rằng đôi khi ông phát hành 3-4 bản cập nhật trong một ngày; chạy update-ngxblocker hàng đêm hoặc mỗi 8 giờ qua cron giúp bản copy của bạn luôn mới.

Tôi có thể tuỳ chỉnh danh sách chặn và whitelist không?

Nginx Ultimate Bad Bot Blocker hỗ trợ tuỳ chỉnh qua các file như whitelist-ips.conf, whitelist-domains.conf, blacklist-user-agents.conf, và custom-bad-referrers.conf, tất cả đều không bị script tự cập nhật đụng tới.

Blocker này có tương thích với mọi phiên bản Nginx không?

README nói nó đã được test từ Nginx 1.10.x tới các bản mainstream, nhưng không khẳng định tương thích với mọi phiên bản, nên hãy test ở môi trường staging trước khi đưa lên production.

`[WARN] DUPLICATE NETWORK MESSAGES` từ Nginx là gì?

README của Nginx Ultimate Bad Bot Blocker giải thích đây là hành vi bình thường: việc reload blacklist hàng ngày tạm thời gắn cờ một số IP trước khi whitelist lại chúng ở cuối thứ tự load, và nó không ảnh hưởng tới hoạt động của Nginx.

Blocker này có hỗ trợ chứng chỉ SSL Let's Encrypt không?

Nginx Ultimate Bad Bot Blocker hoạt động cùng Let's Encrypt, nhưng README khuyên dùng riêng phương thức webroot authenticator, vì một số người dùng gặp vấn đề chưa rõ nguyên nhân với phương thức http-01 challenge.

Trường hợp sử dụng tốt nhất

  • •Khoá chặt một server Nginx tự quản lý trước traffic scraper và scanner dò lỗ hổng mà không phải tự viết deny rule từ đầu.
  • •Dọn sạch referrer spam trong công cụ analytics bằng cách chặn domain referrer trước khi Nginx kịp ghi log.
  • •Chặn bot dò theme WordPress trên site WordPress tự host chạy sau Nginx.
  • •Chạy một chu trình cập nhật blocklist tự động qua cron trên server bạn không muốn phải canh tay.

Repo liên quan

Nguồn & ghi công

Thông tin và số liệu lấy từ repository GitHub mitchellkrogza/nginx-ultimate-bad-bot-blocker và README của nó.

Dữ liệu GitHub · đồng bộ lần cuối 12 thg 8, 2026Đánh giá bởi Henry
← Về TopGit

Vẫn đang phân vân về nginx-ultimate-bad-bot-blocker?

Một cú bấm sẽ gửi câu hỏi kèm trang này cho AI — xem AI nói gì về nginx-ultimate-bad-bot-blocker.

GitHub