Quello che vuoi è Fail2ban (supponendo che si tratti di una macchina Linux, non hai detto ...)
Che cos'è Fail2ban?
Fail2ban analizzerà i registri di sistema, cercando particolari espressioni regolari da bloccare. Quando trova una corrispondenza (o più corrispondenze dallo stesso IP, a seconda della modalità di configurazione), si bloccherà, in genere tramite le tabelle IP. In genere viene utilizzato per bloccare tentativi di autenticazione non riusciti su SSH o server Web.
Lo configuri per vietarli per un determinato periodo di tempo (potrebbero essere minuti, potrebbero essere giorni ... dipende da quanto sono persistenti), dopo di che il divieto scadrà, a meno che non riprovino.
In che modo questo aiuta a bloccare i bot di scansione di phpmyadmin?
Può essere usato altrettanto facilmente per abbinare i segni comuni di un attacco, come tentare di accedere a cartelle phpmyadmin inesistenti. Dovrai capire l'espressione regolare corretta per abbinare tali tentativi e assicurarti di non bloccare utenti legittimi.
La configurazione fornita in questo post di blog potrebbe funzionare verbalmente o richiedere alcune modifiche per la configurazione.
Perché dovrei bloccarli? Gli errori 404 non costano molto
Il loro blocco in iptables ha qualche utilità: le probabilità sono se stanno verificando le vulnerabilità di phpmyadmin, possono provare anche altri servizi per le vulnerabilità, fino a quando non colpiscono qualcosa che funziona. Il loro divieto farà in modo che la maggior parte dei bot / script si arrenda dopo un po 'e passeranno a obiettivi migliori.
Anche attraverso le scansioni non costano molto (a meno che non trovino effettivamente una vulnerabilità), inondano i tuoi registri rendendo più difficile vedere attacchi e problemi riusciti con il tuo server web.
Come dice il commento qui sotto, Fail2ban richiede alcune risorse di sistema. Ma non molto. Per lo meno posso dire che non ho mai avuto problemi di prestazioni che potrei attribuire a Fail2ban. Ho comunque avuto problemi di prestazioni da script molto aggressivi che cercavano di forzare le password o lanciare migliaia di tentativi di iniezione SQL e altri exploit al secondo sul mio server. Il blocco a livello di firewall richiede FAR di meno risorse rispetto al blocco a livello di server / applicazione. Può anche essere esteso per eseguire script personalizzati per vietare gli indirizzi IP, quindi invece di vietarli in IPtables, potresti averli vietati in un firewall hardware o inviare un'email a qualcuno se la stessa persona continua a provare ad attaccarti in modo da poterti lamentare al proprio ISP o fare in modo che il proprio datacenter li blocchi sui propri firewall.
Qualche altro consiglio?
È ALTAMENTE RACCOMANDATO di autorizzare alcuni indirizzi IP che controlli in modo da non bloccarti accidentalmente.