/
etc
/
fail2ban
/
action.d
/
/etc/fail2ban/action.d
mkdir
upload
Name
Size
Mode
Actions
abuseipdb.conf
3748
0644
edit
dl
rm
apf.conf
587
0644
edit
dl
rm
badips.conf
629
0644
edit
dl
rm
badips.py
11536
0644
edit
dl
rm
blocklist_de.conf
2715
0644
edit
dl
rm
bsd-ipfw.conf
3226
0644
edit
dl
rm
cloudflare.conf
2970
0644
edit
dl
rm
complain.conf
4757
0644
edit
dl
rm
dshield.conf
7668
0644
edit
dl
rm
dummy.conf
1717
0644
edit
dl
rm
firewallcmd-allports.conf
1501
0644
edit
dl
rm
firewallcmd-common.conf
2649
0644
edit
dl
rm
firewallcmd-ipset.conf
2719
0644
edit
dl
rm
firewallcmd-multiport.conf
1322
0644
edit
dl
rm
firewallcmd-new.conf
1950
0644
edit
dl
rm
firewallcmd-rich-logging.conf
1021
0644
edit
dl
rm
firewallcmd-rich-rules.conf
1801
0644
edit
dl
rm
helpers-common.conf
592
0644
edit
dl
rm
hostsdeny.conf
1657
0644
edit
dl
rm
ipfilter.conf
1573
0644
edit
dl
rm
ipfw.conf
1505
0644
edit
dl
rm
iptables-allports.conf
1514
0644
edit
dl
rm
iptables-common.conf
2738
0644
edit
dl
rm
iptables-ipset-proto4.conf
2088
0644
edit
dl
rm
iptables-ipset-proto6-allports.conf
2742
0644
edit
dl
rm
iptables-ipset-proto6.conf
2785
0644
edit
dl
rm
iptables-multiport-log.conf
2170
0644
edit
dl
rm
iptables-multiport.conf
1508
0644
edit
dl
rm
iptables-new.conf
1585
0644
edit
dl
rm
iptables-xt_recent-echo.conf
2672
0644
edit
dl
rm
iptables.conf
1427
0644
edit
dl
rm
mail-buffered.conf
2431
0644
edit
dl
rm
mail-whois-common.conf
1051
0644
edit
dl
rm
mail-whois-lines.conf
2443
0644
edit
dl
rm
mail-whois.conf
1842
0644
edit
dl
rm
mail.conf
1709
0644
edit
dl
rm
mynetwatchman.conf
5321
0644
edit
dl
rm
netscaler.conf
1493
0644
edit
dl
rm
nftables-allports.conf
383
0644
edit
dl
rm
nftables-multiport.conf
384
0644
edit
dl
rm
nftables.conf
6318
0644
edit
dl
rm
nginx-block-map.conf
3746
0644
edit
dl
rm
npf.conf
1524
0644
edit
dl
rm
nsupdate.conf
3234
0644
edit
dl
rm
osx-afctl.conf
497
0644
edit
dl
rm
osx-ipfw.conf
2302
0644
edit
dl
rm
pf.conf
3750
0644
edit
dl
rm
route.conf
1023
0644
edit
dl
rm
sendmail-buffered.conf
2806
0644
edit
dl
rm
sendmail-common.conf
1938
0644
edit
dl
rm
sendmail-geoip-lines.conf
1761
0644
edit
dl
rm
sendmail-whois-ipjailmatches.conf
1055
0644
edit
dl
rm
sendmail-whois-ipmatches.conf
1036
0644
edit
dl
rm
sendmail-whois-lines.conf
1299
0644
edit
dl
rm
sendmail-whois-matches.conf
1000
0644
edit
dl
rm
sendmail-whois.conf
950
0644
edit
dl
rm
sendmail.conf
829
0644
edit
dl
rm
shorewall-ipset-proto6.conf
3521
0644
edit
dl
rm
shorewall.conf
2156
0644
edit
dl
rm
smtp.py
6277
0644
edit
dl
rm
symbiosis-blacklist-allports.conf
1418
0644
edit
dl
rm
ufw.conf
1045
0644
edit
dl
rm
xarf-login-attack.conf
6443
0644
edit
dl
rm
Edit:
/etc/fail2ban/action.d/nginx-block-map.conf
(3746B)
# Fail2Ban configuration file for black-listing via nginx # # Author: Serg G. Brester (aka sebres) # # To use 'nginx-block-map' action you should define some special blocks in your nginx configuration, # and use it hereafter in your locations (to notify fail2ban by failure, resp. nginx by ban). # # Example (argument "token_id" resp. cookie "session_id" used here as unique identifier for user): # # http { # ... # # maps to check user is blacklisted (banned in f2b): # #map $arg_token_id $blck_lst_tok { include blacklisted-tokens.map; } # map $cookie_session_id $blck_lst_ses { include blacklisted-sessions.map; } # ... # # special log-format to notify fail2ban about failures: # log_format f2b_session_errors '$msec failure "$cookie_session_id" - $remote_addr - $remote_user ' # ;# '"$request" $status $bytes_sent ' # # '"$http_referer" "$http_user_agent"'; # # # location checking blacklisted values: # location ... { # # check banned sessionid: # if ($blck_lst_ses != "") { # try_files "" @f2b-banned; # } # ... # # notify fail2ban about a failure inside nginx: # error_page 401 = @notify-f2b; # ... # } # ... # # location for return with "403 Forbidden" if banned: # location @f2b-banned { # default_type text/html; # return 403 "<br/><center> # <b style=\"color:red; font-size:18pt; border:2pt solid black; padding:5pt;\"> # You are banned!</b></center>"; # } # ... # # location to notify fail2ban about a failure inside nginx: # location @notify-f2b { # access_log /var/log/nginx/f2b-auth-errors.log f2b_session_errors; # } # } # ... # # Note that quote-character (and possibly other special characters) are not allowed currently as session-id. # Thus please add any session-id validation rule in your locations (or in the corresponding backend-service), # like in example below: # # location ... { # if ($cookie_session_id !~ "^[\w\-]+$") { # return 403 "Wrong session-id" # } # ... # } # # The parameters for jail corresponding log-format (f2b_session_errors): # # [nginx-blck-lst] # filter = # datepattern = ^Epoch # failregex = ^ failure "<F-ID>[^"]+</F-ID>" - <ADDR> # usedns = no # # The same log-file can be used for IP-related jail (additionally to session-related, to ban very bad IPs): # # [nginx-blck-ip] # maxretry = 100 # filter = # datepattern = ^Epoch # failregex = ^ failure "[^"]+" - <ADDR> # usedns = no # [Definition] # path to configuration of nginx (used to target nginx-instance in multi-instance system, # and as path for the blacklisted map): srv_cfg_path = /etc/nginx/ # cmd-line arguments to supply to test/reload nginx: #srv_cmd = nginx -c %(srv_cfg_path)s/nginx.conf srv_cmd = nginx # first test configuration is correct, hereafter send reload signal: blck_lst_reload = %(srv_cmd)s -qt; if [ $? -eq 0 ]; then %(srv_cmd)s -s reload; if [ $? -ne 0 ]; then echo 'reload failed.'; fi; fi; # map-file for nginx, can be redefined using `action = nginx-block-map[blck_lst_file="/path/file.map"]`: blck_lst_file = %(srv_cfg_path)s/blacklisted-sessions.map # Action definition: actionstart_on_demand = false actionstart = touch '%(blck_lst_file)s' actionflush = truncate -s 0 '%(blck_lst_file)s'; %(blck_lst_reload)s actionstop = %(actionflush)s actioncheck = _echo_blck_row = printf '\%%s 1;\n' "<fid>" actionban = %(_echo_blck_row)s >> '%(blck_lst_file)s'; %(blck_lst_reload)s actionunban = id=$(%(_echo_blck_row)s | sed -e 's/[]\/$*.^|[]/\\&/g'); sed -i "/^$id$/d" %(blck_lst_file)s; %(blck_lst_reload)s
Save
cmd:
run