DataReel Reporting Agent for Linux Documentation Downloads

Vulnerability scans

Once a day the agent lists the Red Hat security advisories (RHSA) the installed packages still need, with their severity, CVEs and fixed packages.

Turn scans on

The scans are off by default. Turn them on in /etc/drra/drra.ini:

[scan]
enabled=1
# systemctl reload drra
# drra scan                 # or run one now

An OpenSCAP scan can use about 800 MB of memory for a few minutes: keep that in mind on small cloud servers, or use source=dnf there.

Sources

sourceUsed forHow
auto (default)Every hostOpenSCAP on RHEL 8 and 9; the CSAF/VEX index on RHEL 10 when the agent sends to a report server over https; dnf updateinfo otherwise
ovalAny releaseAlways OpenSCAP: oscap oval eval against oval_feed_url
csafRHEL 10 (8 and 9 too)The report server's CSAF/VEX index, plus dnf errata newer than the VEX files
dnfAny releasednf updateinfo: the repositories' security errata, plus EPEL

RHEL 8 and 9: OpenSCAP

The agent runs oscap oval eval (package openscap-scanner) against Red Hat's OVAL feed for the release, for example security.access.redhat.com/data/oval/v2/RHEL9/rhel-9.oval.xml.bz2. The feed is downloaded only when it changes. The OpenSCAP HTML report goes to the server with the next report, and DRSM links it from the Vulnerabilities page.

RHEL 10: CSAF/VEX

Red Hat publishes no OVAL feed for RHEL 10, only CSAF/VEX files: one JSON file per CVE, about 400 MB in all. Rather than every host downloading them, vex_sync.php on the report server builds a small index (about 2 MB) of the RHEL 10 packages each CVE is fixed in, and of the packages Red Hat lists as affected with no fix yet (see Set up the report server). Agents download the index from vex_index.php when it changes and compare it with their packages using rpm's version rules. Red Hat's VEX files can lag the errata by a day or more, so the agent adds the dnf errata that are newer.

CVEs with no fix

CSAF/VEX scans also count the CVEs that affect an installed package and have no update yet, which dnf updateinfo cannot do. RHEL lists thousands of moderate and low CVEs (most of them kernel) as affected while they are reviewed, so the agent counts them all by severity and lists only those at or above unfixed_list_severity (Important). DRSM warns about unfixed CVEs at or above UNFIXED_WARN_SEVERITY (Critical).

Compliance scans

Set compliance_profile to run a SCAP Security Guide profile (package scap-security-guide) with each scan, for example cis_server_l1, stig or pci-dss. The report gets the score and the failed rules, and the HTML report goes to the server. List the profiles with:

$ oscap info /usr/share/xml/scap/ssg/content/ssg-rhel9-ds.xml

A compliance scan can also be run by hand and sent as a hook upload, so a host does not run it every day.

Hosts with no internet

source=oval with oval_feed_url set to a local file uses a feed you copy to the host. csaf_index_url can point at a local copy of the CSAF/VEX index too.

The Vulnerabilities page

DRSM's Vulnerabilities page shows every host's advisory counts by severity, the advisories that affect the most hosts, and per host its advisories, fixed packages, CVEs, unfixed CVEs and compliance results. The linux/vulnerabilities plugin raises an error for a critical advisory and a warning for an important one, an unfixed critical CVE, a scan older than 3 days, a failed scan or a low compliance score.