GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Distribuisci Modsecurity con Nginx su Ubuntu 20.04 LTS

ModSecurity è un firewall per applicazioni Web gratuito e open source supportato da diversi server Web come Apache, IIS e Nginx. Viene distribuito come livello di sicurezza esterno per proteggere i server Web.

Qui a LinuxAPT, esamineremo come installare il firewall ModSecurity con Nginx preinstallato sul server Ubuntu 20.04.


Passaggi per implementare Modsecurity con Nginx su Ubuntu 20

1. Installa Nginx sul sistema

Se non hai Nginx installato sul tuo server, segui questa guida per soddisfare i requisiti di installazione di Modsecurity:https://linuxapt.com/blog/1276-install-nginx-on-ubuntu-20-04-lts-using- codice sorgente


2. Installa libmodsecurity3

Ora installa git sulla tua macchina in modo da poter clonare il repository git di ModSecurity. Possiamo farlo eseguendo questo comando:

$ sudo apt install git -y

Ora che git è installato, clona il repository eseguendo questo comando:

$ git clone --depth 1 -b v3/master --single-branch https://github.com/SpiderLabs/ModSecurity /usr/local/src/ModSecurity/


3. Vai alla directory Modsecurity

Ora che hai clonato il repository git di modsecurity, vai alla directory modsecurity seguendo il percorso seguente:

$ cd /usr/local/src/ModSecurity/


4. Installa le dipendenze di libmodsecurity3

Ora che siamo all'interno della directory Modsecurity, installeremo le dipendenze di libmodsecurity3 in questo passaggio. Esegui questo comando:

$ sudo apt install gcc make build-essential autoconf automake libtool libcurl4-openssl-dev liblua5.3-dev libfuzzy-dev ssdeep gettext pkg-config libpcre3 libpcre3-dev libxml2 libxml2-dev libcurl4 libgeoip-dev libyajl-dev doxygen -y


5. Installa i moduli Git

Ora, installa i sottomoduli git con l'aiuto di questo comando:

$ git submodule init

Successivamente, aggiorneremo i sottomoduli:

$ git submodule update


6. Crea l'ambiente modsecurity

È tempo di costruire l'ambiente modsecurity. Per farlo, esegui il seguente comando:

$ ./build.sh

Ora configura usando questo comando:

$ ./configure

Dopo questo, riceverai questo errore:

fatal: No names found, cannot describe anything.


7. Compila il codice sorgente di modsecurity

Ora compileremo l'ambiente per libmodsecurity3 con questo comando:

$ make

Se vuoi aumentare la velocità di compilazione, puoi specificare -j . Ho 4 CPU e le userò tutte e 4 per compilare come mostrato di seguito:

$ make -j 4

Successivamente, eseguiremo il comando di installazione:

$ sudo make install

L'installazione viene eseguita in /usr/local/modsecurity/.


8. Installa il connettore modsecurity-nginx

Qui installeremo il connettore Modsecurity-nginx. È il punto di connessione e comunicazione tra Nginx e ModSecurity.

Prima di tutto, dobbiamo clonare il repository del connettore. Fallo eseguendo questo comando:

$ sudo git clone --depth 1 https://github.com/SpiderLabs/ModSecurity-nginx.git /usr/local/src/ModSecurity-nginx/


9. Installa le dipendenze modsecurity-nginx

Per prima cosa, vai alla directory di origine di Nginx in questo modo:

$ cd /usr/local/src/nginx/nginx-1.21.1

Assicurati di sostituire la versione di Nginx nel comando con la versione corrente di Nginx, altrimenti riceverai un errore.

Per installare le dipendenze necessarie, esegui questo comando:

$ sudo apt build-dep nginx && sudo apt install uuid-dev -y

Successivamente, compileremo il modulo connettore Modsecurity-nginx con il flag –with-compat eseguendo questo comando:

$ sudo ./configure --with-compat --add-dynamic-module=/usr/local/src/ModSecurity-nginx

Ora esegui questo comando per creare i moduli dinamici:

$ sudo make modules

Ora, copia il modulo dinamico che hai appena creato in objs/ngx_http_modsecurity_module.so in /usr/share/nginx/modules con l'aiuto di questo comando:

$ sudo cp objs/ngx_http_modsecurity_module.so /usr/share/nginx/modules/


10. Abilita Modsecurity nel file di configurazione di Nginx

Per abilitare Modsecurity in Nginx, devi prima specificare il modulo di caricamento e il percorso del tuo modulo modsecurity nella configurazione.

Apri il file di configurazione di Nginx con l'editor nano in questo modo:

$ sudo nano /etc/nginx/nginx.conf

Nel file, aggiungi questa riga in alto:

load_module modules/ngx_http_modsecurity_module.so;

Nella sezione HTTP {}, aggiungi le seguenti righe di codice:

modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/modsec-config.conf;


11. Configura directory e file per modsecurity

Crea una directory con il nome modsec. Il percorso della directory è indicato nel comando:

$ sudo mkdir /etc/nginx/modsec/

Avrai bisogno di questa directory in futuro per archiviare i file di configurazione e le regole.

Ora, copia il file di configurazione Modsecurity di esempio dalla directory git clonata con questo comando:

$ sudo cp /usr/local/src/ModSecurity/modsecurity.conf-recommended /etc/nginx/modsec/modsecurity.conf

Ora apri il file di configurazione di modsecurity:

$ sudo nano /etc/nginx/modsec/modsecurity.conf

Individua la direttiva SecRuleEngine nel file alla riga 7 e modificala in DetectionOnly in questo modo:

secruleEngine DetectionOnly

Per abilitare Modsecurity, trova modifica la seguente direttiva su On in questo modo:

secRuleEngine on

Ora individua la seguente direttiva alla riga 224:

secAuditLogParts ABIJDEFHZ

Cambialo in:

secAuditLogParts ABCDEFHJKZ

Ora crea il file modsec-config.conf. Qui aggiungerai modsecurity.conf e altre regole per modsecurity:

$ sudo nano /etc/nginx/modsec/modsec-config.conf

All'interno del file che hai appena creato, aggiungi questa riga:

Include /etc/nginx/modsec/modsecurity.conf

Salva il file ed esci.


12. Copia il file unicode.mapping

Infine, copia il file unicode.mapping di Modsecurity in questo modo:

$ sudo cp /usr/local/src/ModSecurity/unicode.mapping /etc/nginx/modsec/


13. Controlla la configurazione di Nginx

Prima di riavviare Nginx, controlla se la configurazione è corretta eseguendo questo comando:

$ sudo nginx -t


14. Ricarica Nginx

Ora riavvia Nginx con questo comando:

$ sudo systemctl restart nginx



Ubuntu
  1. Come installare Nextcloud con Nginx su Ubuntu 18.04 LTS

  2. Come installare Seafile con Nginx su Ubuntu 20.04 LTS

  3. Come installare Varnish Reverse Proxy con Nginx su Ubuntu 16.04 LTS

  4. Come installare Seafile con Nginx su Ubuntu 18.04 LTS

  5. Come distribuire Modsecurity con Nginx su Ubuntu 20.04 LTS

Come installare phpMyAdmin con Nginx (LEMP) su Ubuntu 18.04 LTS

Come installare Nginx con il modulo Ngx_Pagespeed su Ubuntu 16.04 LTS

Come installare Joomla con Nginx su Ubuntu 18.04 LTS

Come installare phpMyAdmin con Nginx su Ubuntu 18.04 LTS

Come installare phpMyAdmin con Nginx su Ubuntu 20.04 LTS

Come distribuire l'applicazione Laravel con Nginx su Ubuntu?