Я установил fail2ban для моего обратного прокси nginx. Я следовал этому HowTo:
https://www.digitalocean.com/community/tutorials/how-to-protect-an-nginx-server-with-fail2ban-on-ubuntu-14-04
Они говорят сделать следующее в nginx-http-auth.conf, что для меня очень важно:
[Definition]
failregex = ^ \[error\] \d+#\d+: \*\d+ user "\S+":? (password mismatch|was not found in ".*"), client: <HOST>, server: \S+, request: "\S+ \S+ HTTP/\d+\.\d+", host: "\S+"\s*$
^ \[error\] \d+#\d+: \*\d+ no user/password was provided for basic authentication, client: <HOST>, server: \S+, request: "\S+ \S+ HTTP/\d+\.\d+", host: "\S+"\s*$
ignoreregex =
Я пытался заблокировать себя с неправильным именем пользователя / паролем (строка 1) -> сработало
Я пытался заблокировать себя с помощью нет имя пользователя / пароль (строка 2) -> не работает
Итак, я заглянул в свой nginx error.log
2019/05/21 09:37:52 [error] 552#552: *308 user "1" was not found in "/etc/nginx/.htpasswd", client: 111.111.111.111, server: my.domain, request: "GET / HTTP/1.1", host: "my.domain"
2019/05/21 09:37:54 [error] 552#552: *308 user "1" was not found in "/etc/nginx/.htpasswd", client: 111.111.111.111, server: my.domain, request: "GET / HTTP/1.1", host: "my.domain"
2019/05/21 09:37:56 [error] 552#552: *308 user "1" was not found in "/etc/nginx/.htpasswd", client: 111.111.111.111, server: my.domain, request: "GET / HTTP/1.1", host: "my.domain"
2019/05/21 09:37:57 [error] 552#552: *308 user "1" was not found in "/etc/nginx/.htpasswd", client: 111.111.111.111, server: my.domain, request: "GET / HTTP/1.1", host: "my.domain"
2019/05/21 09:37:59 [error] 552#552: *308 user "1" was not found in "/etc/nginx/.htpasswd", client: 111.111.111.111, server: my.domain, request: "GET / HTTP/1.1", host: "my.domain"
Мой nginx не регистрируется, если кто-то пытается пройти аутентификацию без имени пользователя или пароля. Я пробовал это с разными браузерами с разных компьютеров из разных сетей.
Я не могу найти ничего об этой проблеме в Интернете.
Валар Моргулис