User Tools

Site Tools


doc:appunti:linux:sa:fail2ban

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
doc:appunti:linux:sa:fail2ban [2020/10/30 15:18] – [Reference configurazione predefinita] niccolodoc:appunti:linux:sa:fail2ban [2022/07/21 11:22] – [Integrazione con Shorewall] niccolo
Line 160: Line 160:
 banaction_allports = shorewall banaction_allports = shorewall
 </file> </file>
 +
 +===== Esempio per WordPress wp-login.php =====
 +
 +Un caso tipico di attacco a forza bruta è quello contro il login di WordPress, nei file di log Apache si legge:
 +
 +<code>
 +185.120.86.118 - - [21/Jul/2022:11:00:25 +0200] "GET /wp/wp-login.php HTTP/1.1" 200 7004 ...
 +185.120.86.118 - - [21/Jul/2022:11:00:26 +0200] "POST /wp/wp-login.php HTTP/1.1" 200 7373 ...
 +</code>
 +
 +In questo caso si agisce sull'accesso al file **wp-login.php** indipendentemente dal fatto che il login abbia successo o meno (i due casi non sono distinguibili nei log). Si definisce anzitutto una regola di controllo log creando il file **/etc/fail2ban/filter.d/wordpress-local.conf**:
 +
 +<file>
 +[Definition]
 +failregex = ^<HOST> .* "POST .*wp-login.php
 +            ^<HOST> .* "POST .*xmlrpc.php
 +            ^<HOST> .* "GET .*wp-login.php
 +            ^<HOST> .* "GET .*xmlrpc.php
 +ignoreregex =
 +</file>
 +
 +Come si vede si approfitta per bloccare anche gli accessi a **xmlrpc.php**, un altro vettore comune di attacco a WordPress (fra l'altro il protocollo XML-RPC è da considerarsi obsoleto e rimpiazzato dalle API native di WordPress).
 +
 +Quindi si definisce la regola di ban creando il file **/etc/fail2ban/jail.d/wordpress-local.conf**:
 +
 +<file>
 +[wordpress]
 +enabled = true
 +usedns = no
 +port = http,https
 +filter = wordpress-local
 +logpath = /var/log/apache2/*/access.log
 +maxretry = 4
 +findtime = 120
 +bantime = 7200
 +</file>
 +
 +Dopo aver fatto il reload del servizio fail2ban, chi accede a ''wp-login.php'' per più di 4 volte in 2 minuti verrà bloccato per 2 ore.
  
doc/appunti/linux/sa/fail2ban.txt · Last modified: 2023/10/30 10:32 by niccolo