Come installare WordPress ModSecurity Rule Set (WPRS)

Set di regole di sicurezza Mod di WordPress (WPRS) è stato creato da AndreaTheMiddle. È un set di regole che estende il noto e più utilizzato CRS OWASP con il freeware open source Mod Security 3 WAF. Questi set di regole sono una scelta eccellente per gli utenti che hanno installazioni di WordPress in quanto sono ben noti per essere i più attaccati dato che sono il CMS numero 1 popolare e più utilizzato.

Nel seguente tutorial imparerai come scaricare e configurare WordPress WPRS sul tuo server Linux.

Scarica WPRS

Individua la directory in cui hai ModSecurity e il set di regole principali di OWASP. Il tutorial utilizza Ubuntu 20.04. Puoi modificare i comandi per adattarli al tuo sistema operativo preferito.

cd /etc/nginx/waf

Quindi, clona WPRS nella directory.

sudo git clone https://github.com/Rev3rseSecurity/wordpress-modsecurity-ruleset.git
scarica wprs da github

pubblicità


Installa WPRS in OWASP CRS

Come affermato, WPRS deve funzionare con il set di regole di base OWASP, è necessario includere il set di regole WPRS e devi averlo in modsecurity.conf:

Include wordpress-modsecurity-ruleset/*.conf
Installa WPRS in OWASP CRS

Dopo averlo incluso nel tuo file, prova il tuo server web per assicurarti che non ci siano errori e riavvia il tuo server, in modo che le regole predefinite siano operative. Congratulazioni, hai installato WPRS in combinazione con Modsecurity/OWASP CRS.

Configura WPRS

Ora puoi esaminare le impostazioni predefinite per modificare il comportamento. Potresti avere funzionalità che dovrai modificare per ottimizzare le prestazioni del set di regole nel file “01-SETUP.conf”.

Regola 22000000: Indirizzo IP del cliente

Per l'ID client reale, abbiamo tre opzioni tra cui scegliere con %{REMOTE_ADDR} predefinito che di solito è la scelta. Tuttavia, puoi impostare l'opzione per Load Balance o Cloudflare se il tuo server è dietro uno di questi decommentando una delle tre righe.

Decommenta 1 riga opzione:

====DEFAULT====
#SecAction "phase:1,id:22000000,nolog,pass,t:none,setvar:tx.wprs_client_ip=%{REMOTE_ADDR}"

====CLOUDFLARE====
#SecAction "phase:1,id:22000000,nolog,pass,t:none,setvar:tx.wprs_client_ip=%{REQUEST_HEADERS:CF-Connecting-IP}"

====LOAD BALANCER====
#SecAction "phase:1,id:22000000,nolog,pass,t:none,setvar:tx.wprs_client_ip=%{REQUEST_HEADERS:X-Forwarded-For}"
Regola 22000000: Indirizzo IP client

Regola 22000004: Abilita/Disabilita la mitigazione della forza bruta

Regola di mitigazione della forza bruta WPRS, questa è attivata per impostazione predefinita e impostata su 1. Dovresti impostarla su 0 solo se ciò influisce sulla tua applicazione web o è in conflitto con un'altra regola di sicurezza.

Decommenta la riga e regola:

====Disabled====

SecAction "id:22000004,phase:1,nolog,pass,t:none,setvar:tx.wprs_check_bruteforce=0"

====Enabled (Recommended)====

SecAction "id:22000004,phase:1,nolog,pass,t:none,setvar:tx.wprs_check_bruteforce=1"
Regola 22000004: Abilita/Disabilita la mitigazione della forza bruta

Regola 22000005: Intervallo di tempo

I "arco di tempo" regola copre quanti secondi il contatore di accesso verrà incrementato ad ogni tentativo su /wp-login.php. L'impostazione predefinita è 120 secondi (2 minuti); tuttavia, consiglio di cambiarlo a 10 minuti come esempio nel set-up.

Decommenta la riga e regola:

SecAction "id:22000005,phase:1,nolog,pass,t:none,setvar:tx.wprs_bruteforce_timespan=600"
Regola 22000005: Intervallo di tempo

Regola 22000010: Soglia

La regola della soglia determina il numero di tentativi di accesso all'interno del "arco di tempo" periodo prima che WPRS accetti prima di bannare il client. L'impostazione predefinita è "5", che è una buona impostazione, ma è possibile modificarla.

Ad esempio, impostiamo una regola temporale di 600 secondi. Pensi che i tentativi di accesso "5" in quel lasso di tempo siano inaccettabili, quindi imposta la soglia di attesa su "3".

Decommenta la riga e regola:

SecAction "id:22000010,phase:1,nolog,pass,t:none,setvar:tx.wprs_bruteforce_threshold=3"
Regola 22000010: Soglia

Regola 22000015: Periodo di divieto

Periodo di ban dopo il raggiungimento della soglia di forza bruta tentativi di accesso, il periodo predefinito è 300 secondi (5 minuti); tuttavia, se sei sotto attacco di forza bruta da parte dei bot, come la maggior parte delle installazioni di WordPress, lo imposterei molto più alto. Consigliamo 3600 secondi (1 ora)

Decommenta la riga e regola:

SecAction "id:22000015,phase:1,nolog,pass,t:none,setvar:tx.wprs_bruteforce_banperiod=3600"
Regola 22000015: Periodo di divieto

Regola 22000020: Autenticazione log

Gli eventi di autenticazione dei log su /wp-login.php possono essere disabilitati, ma l'impostazione predefinita è abilitata e consigliata per le revisioni dei log di sicurezza.

Decommenta la riga e regola:

====Disabled====

SecAction "id:22000020,phase:1,nolog,pass,t:none,setvar:tx.wprs_log_authentications=0"

====Enabled (Recommended)====

SecAction "id:22000020,phase:1,nolog,pass,t:none,setvar:tx.wprs_log_authentications=1"
Regola 22000020: Autenticazione log

Regola 22000025: XMLRPC

Regola 22000025 XMLRPC è possibile abilitare o disabilitare l'accesso allo script xmlrpc.php. Molti utenti di WordPress non hanno bisogno di questa opzione, ma la lasciano attivata perché non sanno niente di meglio e apre un vettore di attacco per gli hacker.

Avere xmlrpc.php aperto è il secondo WordPress più attivo per hacker e sfruttatori accanto a /wp-login.php. Quindi, si consiglia di disabilitarlo se non hai bisogno di questa opzione di WordPress.

Decommenta la riga e regola:

====Disabled (Recommended)====

SecAction "id:22000025,phase:1,nolog,pass,t:none,setvar:tx.wprs_allow_xmlrpc=0"

====Enabled (Recommended)====

SecAction "id:22000025,phase:1,nolog,pass,t:none,setvar:tx.wprs_allow_xmlrpc=1"
Regola 22000025: XMLRPC

Regola 22000030: Enumerazione utente

La regola di enumerazione può abilitare o disabilitare richieste come "/author=1". Gli aggressori usano spesso l'enumerazione utente utilizzando il parametro autore, quindi dovrebbe essere considerato un punto da chiudere a meno che tu non lo desideri specificamente.

Decommenta la riga e regola:

====Disabled (Recommended)====

SecAction "id:22000030,phase:1,nolog,pass,t:none,setvar:tx.wprs_allow_user_enumeration=0"

====Enabled (Recommended)====

SecAction "id:22000030,phase:1,nolog,pass,t:none,setvar:tx.wprs_allow_user_enumeration=1"
Regola 22000030: Enumerazione utente

Regola 22000035: Attacco DoS

Quando la regola abilitata controlla gli attacchi DoS sul tuo sito Web WordPress, la regola impedisce attacchi come CVE-2018-6389. Se gli hacker trovano un CVE, possono causare il consumo di risorse, come l'attacco da sfruttare che si è verificato storicamente con WordPress 4.9.2.

Decommenta la riga e regola:

====Disabled====

SecAction "id:22000035,phase:1,nolog,pass,t:none,setvar:tx.wprs_check_dos=0"

====Enabled (Recommended)====

SecAction "id:22000035,phase:1,nolog,pass,t:none,setvar:tx.wprs_check_dos=1"
Regola 22000035: Attacco DoS

pubblicità


Commenti e Conclusione

Il set di regole ModSecurity di WordPress include alcune fantastiche opzioni di regole aggiuntive per aggiungere quel tocco in più di sicurezza a WordPress. Funziona bene con il set di regole OWASP e non dovrebbe darti alcuna complicazione su nessuna delle combinazioni di regole impostate su entrambi i set di regole. La maggior parte dei plugin disponibili sullo store di WordPress fanno ciò che WPRS si propone di fare; tuttavia, essendo in Modsecurity, si trova di fronte al tuo sito Web invece di reagire agli attacchi come plug-in. Nel complesso, è molto più sicuro da usare.

Lascia un tuo commento