Gitea's jail already reads the gitea container's journal (CONTAINER_NAME=gitea) and covers port 222, but its filter only matched web-login failures. Gitea's sshd logs into the same journal, and brute-force on port 222 went unbanned (167 attempts/hour, jail showed 0 failures). Adds two patterns, one per attempt so nothing is counted twice: 'Invalid user X from HOST port N' and 'User X from HOST not allowed because ...'. Tested with fail2ban-regex against 24h of the real journal: 946 matches (878 + 68), and 0 matches on the 134 accepted-publickey lines. mesh-controller's catalogue checks pass against the manifest.
Gitea's jail already reads the gitea container's journal (CONTAINER_NAME=gitea) and covers port 222, but its filter only matched web-login failures. Gitea's sshd logs into the same journal, and brute-force on port 222 went unbanned (167 attempts/hour, jail showed 0 failures). Adds two patterns, one per attempt so nothing is counted twice: 'Invalid user X from HOST port N' and 'User X from HOST not allowed because ...'. Tested with fail2ban-regex against 24h of the real journal: 946 matches (878 + 68), and 0 matches on the 134 accepted-publickey lines. mesh-controller's catalogue checks pass against the manifest.
The jail read gitea's container journal, which carries its sshd's lines,
but matched only the web login. 167 ssh attempts an hour from the
internet went unbanned. Two patterns, one per attempt: an unknown user,
and a user sshd refuses; tested against a day of the real log, 946
matches and none on an accepted login.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Gitea's jail already reads the gitea container's journal (CONTAINER_NAME=gitea) and covers port 222, but its filter only matched web-login failures. Gitea's sshd logs into the same journal, and brute-force on port 222 went unbanned (167 attempts/hour, jail showed 0 failures). Adds two patterns, one per attempt so nothing is counted twice: 'Invalid user X from HOST port N' and 'User X from HOST not allowed because ...'. Tested with fail2ban-regex against 24h of the real journal: 946 matches (878 + 68), and 0 matches on the 134 accepted-publickey lines. mesh-controller's catalogue checks pass against the manifest.