Seguendo i recenti annunci riguardo attacchi informatici diretti verso il nostro Paese volti ad interruzione di servizio (DDoS – Distributed Denial of Service), consiglio di mitigare (o quanto meno provare a farlo) questi attacchi proteggendo i servizi web esposti sulla rete pubblica.
Per chi possiede o ospita piattaforme “on premises” su web server Apache (httpd) consiglio l’attivazione del modulo “mod_evasive” che consente, con poche righe di configurazione, di limitare i tentativi ripetuti di accesso alle risorse e il flood di richieste HTTP.
In primis, consiglio l’impiego di un reverse proxy (per le architetture più complesse anche in load balance) per l’esposizione di servizi web sulla rete pubblica. Per i più esigenti, consiglio vivamente l’uso di CDN e sistemi di protezione frontend come Cloudflare.
Ad ogni modo, nei prossimi paragrafi, vedremo l’installazione e la configurazione del modulo descritto su un ambiente Ubuntu Server.
Premessa: come funziona il modulo “mod_evasive”
Il modulo “mod_evasive” di Apache lavora monitorando le richieste ricevute dal web server. Questo modulo controlla anche attività sospette provinienti da ogni singolo indirizzo IP, del tipo:
numero di richieste per la stessa risorsa nella finestra temporale di un secondo;
più di 50 richieste simultanee per secondo;
richieste ricevute da un indirizzo IP che è già stato temporaneamente messo in blacklist.
Il modulo risponderà alle richieste con un errore “403 – Forbidden” se si verificheranno le condizioni riportate sopra. Nella configurazione di default è presente anche un tempo di 10 secondi di “wait period” che deve trascorrere prima che un indirizzo IP venga rimosso dalla blacklist.
Se l’indirizzo IP continua a fare richieste durante questa finestra temporale, il tempo di attesa prima di essere rimosso dalla blacklist verrà progressivamente aumentato.
Installazione
Procedere all’installazione eseguendo questi comandi:
Verrà installato anche il relay server “Postfix” per permettere la configurazione di alert via email (la configurazione può essere omessa se non ci interessa essere avvertiti).
Configurazione
Come tutti i pacchetti software, la configurazione è raggiungibile tramite un file “.conf” che viene poi caricato all’avvio del web server.
sudo pico /etc/apache2/mods-enabled/evasive.conf
Rimuovere i commenti nel file di configurazione esistente per ottenere una configurazione di questo tipo:
Ricaricare la configurazione del web server per applicare le modifiche apportate:
sudo systemctl reload apache2
Test di funzionamento del modulo
E’ presente un script di test che viene scaricato durante l’installazione del modulo. Eseguirlo con il seguente comando per verificare che le richieste vengano respinte:
Vi rimando all’articolo originale in lingua inglese per tutti i dettagli sui parametri di configurazione aggiuntivi che sono presenti in questo modulo.
Svolta epocale: con il rilascio di VMware 8.0U3e, Broadcom rende nuovamente disponibile gratuitamente VMware ESXi! Difficile da credere, ma la notizia appena emersa su Twitter e altri canali secondo cui...
Se state leggendo questo articolo, probabilmente avete già familiarità con l'argomento, specie con il firmware open source "OpenWRT". Le indicazioni che sto per darvi sono frutto di una mia esperienza...
OWASP Zed Attack Proxy (ZAP) è uno strumento di sicurezza che consente di rilevare vulnerabilità in applicazioni e siti Web. È una soluzione semplice e flessibile che si adatta a...
I cookie ci aiutano a fornire i nostri servizi. Utilizzando tali servizi, accetti il nostro utilizzo dei cookie. Ulteriori informazioniOK
Ulteriori informazioni
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.