Only the unit's SupplementaryGroups gave them, so 'sudo -u guard guard test' and 'guard check' could read neither /var/log's files nor the journal. systemd-sysusers (run on every install and upgrade) adds them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1.8 KiB
1.8 KiB
Changelog
All notable changes to Guard are documented here. The format follows Keep a Changelog, and versions follow Semantic Versioning.
[Unreleased]
Added
- First version. Guard watches log files (followed through rotation and
truncation) and the systemd journal (by unit and syslog identifier),
matches lines with patterns holding one
<IP>, counts each address's bounty within a window, and bans an address that reaches a watch's hits in a Housecarl ban list (Housecarl 0.2): of every port, or of the watch's protocol and ports, for a time that grows for repeat offenders. IPv6 addresses are counted and banned by the ban list's prefix (/64). Never banned:never_ban(addresses, prefixes, host names), loopback, link-local, multicast; Housecarl adds its own. Bans wait while Housecarl can't be reached, across restarts. - Presets:
sshd,jarl,housecarl,steward,bind-xfr,postfix-sasl,dovecot,nginx-auth,housecarl-drops(Housecarl's log of dropped packets, TCP only by default). - Commands:
guard run,check,config [--example],presets,test(a watch's patterns over a log),status(through a local socket),bans,ban,unban,version. - A Debian package with a sandboxed systemd unit, as the
guarduser in theadmandsystemd-journalgroups, published with each release to the Gitea Debian registry (stable, ortestingfor a release candidate) along with tarballs for Linux amd64 and arm64.
Fixed
- The package's
guarduser is now in theadmandsystemd-journalgroups itself, as the documentation said, not only through its unit'sSupplementaryGroups.sudo -u guard guard testandguard checkcould read neither/var/log's files (permission denied) nor the journal. Upgrading adds the groups.