Những gì bạn muốn là Fail2ban (giả sử đây là máy linux, bạn không nói ...)
Fail2ban là gì?
Fail2ban sẽ phân tích các bản ghi hệ thống, tìm kiếm các biểu thức chính quy cụ thể để chặn. Khi tìm thấy kết quả khớp (hoặc một số kết quả trùng khớp từ cùng một IP, tùy thuộc vào cách bạn định cấu hình nó), nó sẽ chặn, thông thường thông qua IPTables. Thông thường, điều này được sử dụng để chặn các nỗ lực xác thực thất bại đối với SSH hoặc máy chủ web.
Bạn định cấu hình nó để cấm chúng trong một khoảng thời gian nhất định (có thể là vài phút, có thể là vài ngày ... tùy thuộc vào mức độ tồn tại của chúng), sau đó lệnh cấm sẽ hết hiệu lực, trừ khi chúng thử lại.
Làm thế nào điều này giúp chặn các bot quét phpmyadmin?
Nó có thể dễ dàng được sử dụng để phù hợp với các dấu hiệu phổ biến của một cuộc tấn công, như cố gắng truy cập các thư mục phpmyadmin không tồn tại. Bạn sẽ phải tìm ra biểu thức chính xác chính xác để khớp với các lần thử đó và đảm bảo bạn không chặn người dùng hợp pháp.
Cấu hình được đưa ra trong bài đăng trên blog này có thể hoạt động nguyên văn hoặc yêu cầu một số điều chỉnh cho thiết lập của bạn.
Tại sao tôi nên chặn chúng? Các lỗi 404 không tốn nhiều tiền
Chặn chúng trong iptables DOES có một số cách sử dụng - tỷ lệ cược là nếu chúng đang kiểm tra các lỗ hổng phpmyadmin, chúng cũng có thể thử các dịch vụ khác để tìm lỗ hổng, cho đến khi chúng đạt được thứ gì đó hoạt động. Cấm chúng sẽ khiến hầu hết các bot / script bỏ cuộc sau một lúc, và chúng sẽ chuyển sang các mục tiêu tốt hơn.
Ngay cả khi quét không tốn nhiều chi phí (trừ khi chúng thực sự tìm thấy lỗ hổng), chúng sẽ làm ngập nhật ký của bạn khiến việc xem các cuộc tấn công và sự cố thành công với máy chủ web của bạn trở nên khó khăn hơn.
Như bình luận bên dưới nói, Fail2ban yêu cầu một số tài nguyên hệ thống. Nhưng không nhiều. Ít nhất tôi có thể nói rằng tôi chưa bao giờ gặp vấn đề về hiệu năng mà tôi có thể gán cho Fail2ban. Tuy nhiên, tôi đã gặp vấn đề về hiệu năng từ các tập lệnh rất tích cực khi cố gắng tạo ra mật khẩu hoặc ném hàng ngàn lần thử SQL và các khai thác khác mỗi giây vào máy chủ của tôi. Chặn chúng ở cấp tường lửa cần ít tài nguyên hơn FAR so với chặn chúng ở cấp máy chủ / ứng dụng. Nó cũng có thể được mở rộng để chạy các tập lệnh tùy chỉnh để cấm địa chỉ IP - vì vậy thay vì cấm chúng trong IPtables, bạn có thể cấm nó trong tường lửa phần cứng hoặc gửi email cho ai đó nếu cùng một người cố gắng tấn công bạn để bạn có thể khiếu nại đến ISP của họ hoặc yêu cầu trung tâm dữ liệu của bạn chặn họ trên tường lửa của họ.
Còn lời khuyên nào nữa không?
Điều đáng lưu ý là bạn nên liệt kê một vài địa chỉ IP mà bạn kiểm soát để bạn không vô tình tự khóa mình.