Skip to content

Commit 18cb4b3

Browse files
committed
[Change] docs: monitor_scan_owner_filters toggle reference; issue #485
[Change] conf.maldet: scan_ignore_root comment cross-references monitor carve-out (monitor_scan_owner_filters default-off); issue #485 [Change] README.md: scan_ignore_root row notes monitor exception; new monitor_scan_owner_filters row in monitor config table; issue #485 [Change] maldet.1: MONITOR MODE gains carve-out paragraph explaining default-off ownership filters and monitor_scan_owner_filters semantics; Monitoring config group listing updated; issue #485
1 parent 928e7e9 commit 18cb4b3

5 files changed

Lines changed: 35 additions & 2 deletions

File tree

CHANGELOG

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,12 @@ v2.0.1 | Mar 25 2026:
100100
Dockerfile bake + explicit helper call); unblocks issue-485
101101
UAT which re-sets scan_ignore_root=1 to exercise the
102102
production default; issue #485
103+
[Change] docs: conf.maldet scan_ignore_root comment cross-references monitor carve-out;
104+
README.md scan_ignore_root row notes monitor exception, new
105+
monitor_scan_owner_filters row added to monitor config table;
106+
maldet.1 MONITOR MODE gains carve-out paragraph (issue #485 rationale,
107+
monitor_scan_owner_filters semantics) and Monitoring config group
108+
listing updated; issue #485
103109
[Change] Vendored libs synced to canonical: tlog_lib 2.0.6, alert_lib 1.0.7, elog_lib 1.0.6, pkg_lib 1.0.10 (zero functional change)
104110
[Change] Alert templates: consolidate summary into headers; drop "TOTAL" prefix from
105111
labels (HITS/CLEANED/QUARANTINED); add quarantine metrics; aligned column spacing

CHANGELOG.RELEASE

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,12 @@ v2.0.1 | Mar 25 2026:
100100
Dockerfile bake + explicit helper call); unblocks issue-485
101101
UAT which re-sets scan_ignore_root=1 to exercise the
102102
production default; issue #485
103+
[Change] docs: conf.maldet scan_ignore_root comment cross-references monitor carve-out;
104+
README.md scan_ignore_root row notes monitor exception, new
105+
monitor_scan_owner_filters row added to monitor config table;
106+
maldet.1 MONITOR MODE gains carve-out paragraph (issue #485 rationale,
107+
monitor_scan_owner_filters semantics) and Monitoring config group
108+
listing updated; issue #485
103109
[Change] Vendored libs synced to canonical: tlog_lib 2.0.6, alert_lib 1.0.7, elog_lib 1.0.6, pkg_lib 1.0.10 (zero functional change)
104110
[Change] Alert templates: consolidate summary into headers; drop "TOTAL" prefix from
105111
labels (HITS/CLEANED/QUARANTINED); add quarantine metrics; aligned column spacing

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ maldet -co quarantine_hits=1,email_addr=you@domain.com -a /home
269269
| `scan_cpunice` | Nice priority for scan process (-19 to 19) | `19` |
270270
| `scan_ionice` | IO scheduling class priority (0-7) | `6` |
271271
| `scan_cpulimit` | Hard CPU limit percentage (0=disabled) | `0` |
272-
| `scan_ignore_root` | Skip root-owned files in scans | `1` |
272+
| `scan_ignore_root` | Skip root-owned files in scans (not applied in monitor mode by default; see `monitor_scan_owner_filters`) | `1` |
273273
| `scan_ignore_user` | Skip files owned by specific users ||
274274
| `scan_ignore_group` | Skip files owned by specific groups ||
275275
| `scan_user_access` | Allow non-root users to run scans | `0` |
@@ -336,6 +336,7 @@ maldet -co scan_yara=1 -a /home/?/public_html
336336
| `digest_escalate_hits` | Hit count threshold for immediate escalation alert; `0` = disabled | `0` |
337337
| `cron_digest_hook` | Enable cron.daily hook digest sweep (fires digest if new hook detections exist) | `1` |
338338
| `monitor_paths_extra` | Path to a line-separated file of additional inotify watch paths | `/usr/local/maldetect/monitor_paths.extra` |
339+
| `monitor_scan_owner_filters` | Apply `scan_ignore_root`/`scan_ignore_user`/`scan_ignore_group` ownership filters in monitor mode; `0` (default) = off — monitor scans all files regardless of owner (restores 1.6.6 semantics, fixes issue #485); `1` = on — apply ownership filters (matches rc1..rc3 behavior) | `0` |
339340

340341
### 3.7 Post-Scan Hooks
341342

files/conf.maldet

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,9 @@ scan_cpulimit="0"
298298
# As a design and common use case, LMD typically only scans user space paths
299299
# and as such it makes sense to ignore files that are root owned. It is
300300
# recommended to leave this enabled for best performance.
301+
# Note: in monitor mode, this filter is NOT applied by default (controlled
302+
# by monitor_scan_owner_filters below) so that root-owned malware drops in
303+
# user docroots are not silently skipped; issue #485.
301304
# [ 0 = disabled, 1 = enabled ]
302305
scan_ignore_root="1"
303306

files/maldet.1

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -447,7 +447,8 @@ Key variables by category:
447447
.BR inotify_cpulimit ,
448448
.BR digest_interval ,
449449
.BR digest_escalate_hits ,
450-
.BR monitor_paths_extra .
450+
.BR monitor_paths_extra ,
451+
.BR monitor_scan_owner_filters .
451452
.PP
452453
.B Hook Scanning:
453454
.BR hookscan_timeout ,
@@ -848,6 +849,22 @@ by listing them (one per line) in the file pointed to by
848849
.BR monitor_paths_extra .
849850
These are merged with the primary path list on every cycle reload.
850851
.PP
852+
By default, monitor mode scans every file that lands in its watched scope
853+
regardless of owner \(em including root\-owned files.
854+
This restores the behavior of LMD 1.6.6 and closes the detection gap
855+
for root\-owned malware dropped into user docroots (issue #485).
856+
The ownership filters
857+
.BR scan_ignore_root ,
858+
.BR scan_ignore_user ,
859+
and
860+
.B scan_ignore_group
861+
are NOT applied in monitor mode unless
862+
.B monitor_scan_owner_filters
863+
is set to
864+
.BR 1 ,
865+
which re\-enables the rc1\[en]rc3 behavior for operators who have deliberately
866+
tuned their ownership filter configuration.
867+
.PP
851868
Monitor exclusions union two files:
852869
.B ignore_inotify
853870
(user\-owned, preserved across upgrades) and

0 commit comments

Comments
 (0)