당신이 원하는 것은 Fail2ban입니다 (이것이 리눅스 머신이라고 가정하면 말하지 않았습니다 ...)
Fail2ban은 무엇입니까?
Fail2ban은 시스템 로그를 구문 분석하여 차단할 특정 정규식을 찾습니다. 일치하는 항목 (또는 구성 방법에 따라 동일한 IP에서 여러 개의 일치하는 항목)을 찾으면 일반적으로 IPTables를 통해 차단됩니다. 일반적으로 SSH 또는 웹 서버에 대한 인증 시도 실패를 차단하는 데 사용됩니다.
설정된 시간 (분, 일 수, 지속 기간에 따라 다름)에 대해 금지하도록 구성한 후, 다시 시도하지 않으면 금지가 만료됩니다.
이것은 phpmyadmin 스캐닝 봇을 어떻게 차단합니까?
존재하지 않는 phpmyadmin 폴더에 액세스하는 것과 같이 일반적인 공격 징후와 일치하는 데 쉽게 사용할 수 있습니다. 이러한 시도와 일치하도록 올바른 정규식을 파악하고 합법적 인 사용자를 차단하지 않도록해야합니다.
이 블로그 게시물에 제공된 구성 이 그대로 작동하거나 설정을 약간 조정해야 할 수 있습니다.
왜 차단해야합니까? 404 오류는 많은 비용이 들지 않습니다
iptables에서 그것들을 차단하기 일부 용도가 있습니다-phpmyadmin 취약점을 점검하는 경우, 취약점에 대한 다른 서비스도 시도 할 수 있습니다. 금지하면 대부분의 봇 / 스크립트가 잠시 후에 포기하게되고 더 나은 목표로 넘어갑니다.
스캔을 통해서도 비용이 많이 들지 않지만 (실제로 취약점을 발견하지 않는 한) 로그를 넘치게하여 웹 서버의 성공적인 공격과 문제를보기가 더 어려워집니다.
아래 주석에서 알 수 있듯이 Fail2ban에는 일부 시스템 리소스가 필요합니다. 그러나별로. 최소한 Fail2ban으로 인한 성능 문제가 전혀 없다고 말할 수 있습니다. 그러나 매우 공격적인 스크립트로 인해 암호를 강제로 쓰거나 서버에서 초당 수천 건의 SQL 주입 시도 및 기타 악용을 던지면서 성능 문제가 발생했습니다. 방화벽 수준에서 차단하면 서버 / 응용 프로그램 수준에서 차단하는 것보다 적은 리소스가 필요합니다. 또한 IP 스크립트를 금지하기 위해 사용자 지정 스크립트를 실행하도록 확장 할 수 있습니다. 따라서 IPtables에서 금지하는 대신 하드웨어 방화벽에서 금지 시키거나 같은 사람이 계속 공격하려고하면 누군가에게 이메일을 보내서 불만을 제기 할 수 있습니다 ISP에 문의하거나 데이터 센터가 방화벽에서 차단하도록하십시오.
다른 팁이 있습니까?
실수로 자신을 잠그지 않도록 자신이 제어하는 몇 개의 IP 주소를 허용하는 것이 좋습니다.