Protezione di un server Web tramite modsecurity: suggerimenti e alcune considerazioni

Quindi, mi è stato commissionato di creare un sito web, mi è stata data un'infrastruttura piuttosto grande con cui lavorare, e ho mancanza di esperienza in questo.

Quindi, come auto-promemoria sto scrivendo alcune note su ciò che ho fatto o posso fare in generale.

Che cos'è ModSecurity?

ModSecurity è un modulo Apache (anche se può essere utilizzato come autonomo), che ti aiuta a proteggere il tuo sito Web utilizzando una serie di regole. Il set più comune di regole utilizzato per impostazione predefinita è il set di regole OWASP.

È definito come un firewall dell'applicazione Web (WAF, Web Application Firewall), ovvero che analizza e filtra il traffico a livello HTTP. E questo aspetto detta i suoi punti di forza e di debolezza.

Configurarlo

C'è una descrizione dettagliata dell'installazione nel wiki del repository: qui. Ma dovrei amministratore non ricordo di usarlo, sembra troppo complicato.

Questo sembra il tipo di processo di installazione che mi piace. Che possiamo riprendere con i seguenti comandi chiave:

sudo apt aggiornamento -y
sudo apt installare libapache2-mod-security2
Sudo SystemCTL Riavviare Apache2 

E questo è tutto.

Farlo funzionare

È stato un po 'meno intuitivo, richiede molta ricerca e studio per padroneggiarlo, per fortuna devo solo farlo funzionare.

Ho installato il ruleset OWASP da qui (almeno se lo ricordo correttamente).

Poi ho dovuto mettere a punto alcuni file di configurazione:

il file modsecurity.conf

Questo richiede di passare da:

SecRuleEngine DetectionOnly

A

SecRuleEngine On

Quindi, a seconda dell'applicazione Web che si sta tentando di proteggere, è possibile annullare il commento di uno dei seguenti elementi:

setvar:tx.crs_exclusions_cpanel=1,
setvar:tx.crs_exclusions_drupal=1,
setvar:tx.crs_exclusions_dokuwiki=1,
setvar:tx.crs_exclusions_nextcloud=1,
setvar:tx.crs_exclusions_wordpress=1,
setvar:tx.crs_exclusions_xenforo=1"

Questo è fondamentalmente quello che ho fatto finora e sembra che applichi alcune regole di base che reindirizzano i potenziali aggressori a una pagina 403 (non autorizzata). È un minimo indispensabile e in realtà richiede alcune personalizzazioni per farlo funzionare correttamente.

Considerazioni

Ho un servizio di bilanciamento del carico tra i miei server e utenti, il che significa che non riesco a sfruttare alcune funzionalità utili come la possibilità di integrare fail2ban con esso.

Apparentemente, anche se modsec (in realtà è apache) può rilevare l'IP originale attraverso l'intestazione X-Forwarded-for, iptables non può bloccare l'IP originale. Un vero showstopper.

Posted in Sviluppo web.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.