Aggiungendo alla buona risposta di @Labadadada sopra, la mia preoccupazione principale è doverlo fare manualmente. Forse dovresti dare un'occhiata a fail2ban . Anche se non intendi usarlo così com'è, puoi in qualche modo cercare di emulare quello che fa con altri mezzi.
In sostanza, fail2ban
controlla i file di registro e i pattern di corrispondenza. Ad esempio, può facilmente rilevare più accessi non riusciti tramite SSH da un IP specifico. Quindi si configurano le azioni da eseguire e dopo quale soglia. Quindi, ad esempio, blocca tutti gli accessi dall'IP dopo 5 accessi SSH falliti per 15 minuti. Puoi bloccare l'intero IP da tutti gli accessi, o limitare il blocco alla porta specifica (22), e puoi impostare il tempo dopo il quale "sbloccarlo", la soglia ecc.
Questo ti dà una specie di combinazione tra IDS / IPS e un firewall.
Credo che l'approccio di fail2ban
rappresenti una soluzione davvero buona perché:
- non è necessario fare nulla manualmente, a parte la definizione di tali filtri. Sebbene ci siano un sacco di filtri già pronti fuori dalla scatola.
- non devi preoccuparti che la tua lista nera diventi troppo lunga, viene automaticamente pulita.
- ogni attacco persistente sarà comunque mitigato, bloccato e 're-bloccato' se necessario.