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. I campi obbligatori sono contrassegnati *

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