Search Criteria
Package Details: wazuh-agent 4.14.6-2
Package Actions
| Git Clone URL: | https://aur.archlinux.org/wazuh-agent.git (read-only, click to copy) |
|---|---|
| Package Base: | wazuh-agent |
| Description: | Wazuh Agent actively protects Arch Linux systems with advanced threat prevention, detection, and response capabilities. |
| Upstream URL: | https://wazuh.com/ |
| Keywords: | siem wazuh |
| Licenses: | GPL2 |
| Submitter: | madara125 |
| Maintainer: | madara125 (MrHacker) |
| Last Packager: | MrHacker |
| Votes: | 11 |
| Popularity: | 0.020949 |
| First Submitted: | 2023-11-18 04:14 (UTC) |
| Last Updated: | 2026-07-04 22:09 (UTC) |
Dependencies (8)
- brotli (brotli-gitAUR)
- curl (curl-gitAUR, curl-c-aresAUR)
- inetutils (inetutils-gitAUR)
- nodejs (nodejs-gitAUR, nodejs-lts-hydrogenAUR, python-nodejs-wheelAUR, nodejs-lts-iron, nodejs-lts-jod, nodejs-lts-krypton)
- perl (perl-gitAUR)
- python
- sudo (sudo-gitAUR, fudo-gitAUR, sudo-selinuxAUR, doas-sudo-shim-gitAUR, run0-sudoAUR, run0-sudo-shim-selinuxAUR, run0-sudo-shimAUR, run0-sudo-shim-gitAUR, doas-sudo-shimAUR, voixAUR)
- lsb-release (optional)
Latest Comments
1 2 3 Next › Last »
mooteel commented on 2026-07-04 13:28 (UTC)
Hmm. The patching process is trying to work on the symlink in src instead of the file that the symlink points to.
If we add --follow-symlinks in the patch command (in PKGBUILD), it works correctly.
MrHacker commented on 2026-07-04 00:36 (UTC)
Thanks a lot Richard Soti and willymdv for the detailed reports — all of it landed in 4.14.6-1.
== SCA (cis_arch_linux.yml) == The SCA policy is pulled from upstream (wazuh/integrations) and pinned by checksum, so I couldn't just edit the file in-tree — it would be overwritten on every rebuild. Instead the fixes now ship as a local patch applied in prepare() (cis_arch_linux-arch-derivatives.patch). I'll also open a PR upstream so this eventually becomes unnecessary.
Applied: - OS detection (line 31): the whole policy was being skipped on Arch-based distros. Fixed to match EITHER id, so it works on Arch AND derivatives from a single file — no separate CachyOS copy needed: f:/etc/os-release -> r:^ID=arch|^ID_LIKE=arch Note: I did NOT use
r:ID_LIKE=archalone, since pure Arch has no ID_LIKE field in /etc/os-release and that would have skipped the policy on Arch itself. Confirmed on CachyOS: /etc/arch-release is present (from thefilesystempackage) and ID_LIKE=arch, so the requirements block passes.-> r:^<pkg>-> r:^enabled$staticas valid for systemd-tmpfiles-clean.timer: -> r:^enabled$|^static$systemctl show | greprule; now a direct check on /etc/systemd/coredump.conf (Storage=none + ProcessSizeMax=0)condition: anyand added afindmnt -kn /tmpfallback, keepingmountfor bare metalOne I intentionally skipped: the SigLevel change (7001/19001). The package already uses
r:^SigLevel.*Required, which is more permissive than the proposed\s=\sform (that one would fail onSigLevel=Requiredwith no spaces, or with tabs), so I kept the existing rule.== ossec.conf == Added Richard's journald collector so PAM auth / sudo / pacman / kernel events are captured out of the box:
Thanks again both — really appreciate the quality reports. Keep them coming!
willymdv commented on 2026-05-04 19:49 (UTC)
Additional fixes to cis_arch_linux.yml
Following the previous set of fixes, here are more checks that were failing due to the same pattern matching bug in the Wazuh SCA engine.
Root cause (same bug, multiple checks)
not c:command without a -> r:pattern clause fails whenever the command produces any output — even disabled, not-found, or an error message. The fix is to always pair not c: with an explicit pattern so the check only fails when the output matches what actually indicates non-compliance.
Checks 9001 / 9002 — xinetd / openbsd-inetd not installed
When a package is absent, pacman -Q <package> exits non-zero and outputs an error string. Without a pattern, not c:pacman -Q xinetd fails because there is output.
Checks 11001–11008 — unused services not enabled
systemctl is-enabled always produces output (disabled, not-found, static, etc.), so not c:systemctl is-enabled <service> without a pattern always fails regardless of the actual service state.
Fixed by adding -> r:^enabled$ to every rule in these checks:
# 11001
- not c:systemctl is-enabled nfs-server -> r:^enabled$
- not c:systemctl is-enabled rpcbind -> r:^enabled$ # 11002
- not c:systemctl is-enabled named -> r:^enabled$ - not c:systemctl is-enabled bind9 -> r:^enabled$
# 11004 - not c:systemctl is-enabled httpd -> r:^enabled$
- not c:systemctl is-enabled apache2 -> r:^enabled$ - not c:systemctl is-enabled nginx -> r:^enabled$
# 11005 - not c:systemctl is-enabled dovecot -> r:^enabled$
# 11006
- not c:systemctl is-enabled smb -> r:^enabled$ - not c:systemctl is-enabled nmb -> r:^enabled$
# 11007 - not c:systemctl is-enabled squid -> r:^enabled$
# 11008
- not c:systemctl is-enabled snmpd -> r:^enabled$
willymdv commented on 2026-05-04 14:26 (UTC)
Check 9003 — Legacy network services
not c:command without a pattern fails whenever the command produces any output, even disabled or not-found. Added -> r:^enabled$ so the check only fails if a service is actually enabled.
Same fix applied to the duplicate vsftpd check (near check 749).
Checks 13002 / 13003 / 13004 — nodev / nosuid / noexec on /tmp
c:mount produces very verbose output on systems with many overlay/container mounts. The regex can fail to match even when the option is present. Added findmnt as an alternative and switched to condition: any so either rule can satisfy the check. The original mount rule is kept for compatibility on bare-metal installs.
condition: any
rules:
- c:mount -> r:/tmp.*nodev # bare metal fallback - c:findmnt -kn /tmp -> r:nodev
(same pattern for nosuid and noexec)
willymdv commented on 2026-05-03 14:06 (UTC) (edited on 2026-05-04 14:25 (UTC) by willymdv)
Line 31 — OS detection
The original check uses ID=arch, but Arch-based distributions declare themselves via ID_LIKE=arch in /etc/os-release. Without this fix, the entire policy is skipped.
Check 7005 — systemd-tmpfiles-clean.timer
On Arch, systemd-tmpfiles-clean.timer reports as static, not enabled. Both states are valid and mean the unit is active.
Check 8001 — Core dump restriction
The original rule uses systemctl show which is unreliable in some environments. Replaced with a direct file check against /etc/systemd/coredump.conf.
Check 8003 — Prelink not installed
not c:command without a pattern fails whenever the command produces any output. Added an explicit pattern so the check only fails if prelink is actually installed.
Checks 488 and 19001 — pacman SigLevel
The original pattern Required\s+DatabaseOptional does not match a standard Arch pacman.conf where SigLevel = Required. Simplified to match what is actually present.
wunit-adf commented on 2026-02-03 16:42 (UTC)
I see that with 4.14.2-r2 the CIS/SCA file added earlier is now actually being used, thanks. That was the part that didn't initially make any sense to me.
MrHacker commented on 2026-01-28 14:12 (UTC)
@sells I'm working to resolve this issue with the Arch Linux package installation. In the meantime, if you're coming from an older installation, the package creates a backup of your current ossec.conf file, which you can restore by changing the pacsave file extension.
sells commented on 2026-01-26 21:30 (UTC)
Tried this current version and the ossec.conf file was not present.
MrHacker commented on 2025-12-26 22:03 (UTC)
Hi @wunit-adf,
Yes, starting with this version an unofficial CIS/SCA file for Arch Linux is being added as a hardening guideline for base Arch systems.
I’m personally maintaining this file. At the moment, it is automatically installed only when upgrading from a version prior to 4.14.1. Once installed, it can be consulted through the agent view under CIS Benchmarks, and it will be updated over time as new hardening rules are identified from the official CIS benchmarks and adapted to Arch.
It’s important to clarify that this is a community-maintained, non-official CIS policy. It is not enabled by default as an official benchmark, and its purpose is to provide guidance and coverage for Arch users while acknowledging the rolling-release nature of the distribution.
Future updates will continue to refine and expand the ruleset based on upstream CIS guidance and practical hardening considerations for Arch Linux.
MrHacker commented on 2025-12-26 21:39 (UTC)
Hello @ReallyLoudFan,
Yes, we are already aware of this issue. I personally reported it to the staff.
During the update to version 4.14.1, the ossec.conf file is being deployed empty, and as a consequence, the service fails during startup after installation. This is a known regression.
This behavior is expected to be fixed in the upcoming 4.14.2 release.
As a temporary workaround, the package is configured so that when upgrading over an existing installation, a backup of the previous configuration is created. You can try restoring that backup by simply reverting the file extensions.
If this is a fresh installation and no backup is available, you will need to manually recreate ossec.conf using the generic agent configuration and complete it according to the Wazuh documentation, specifically the agent installation section.
Thank you for reporting this and for your patience.
Best regards,
1 2 3 Next › Last »