Skip to content

Commit c10d2ef

Browse files
committed
add operational completeness hardening plugins
1 parent a7fbda4 commit c10d2ef

20 files changed

Lines changed: 3421 additions & 149 deletions

docs/plugins/archive.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,3 +99,10 @@ Extracts a zip archive on the remote target.
9999

100100

101101
Archive plugins do not add `sudo` themselves. Run them as a user with the required remote permissions, or wrap exceptional privileged archive operations with an explicit `remote.command` until privileged archive support is added.
102+
103+
## Safe extraction
104+
105+
`archive.untar` and `archive.unzip` support checksum verification and safe
106+
extraction checks that reject absolute paths or `..` traversal before extracting.
107+
They also support include/exclude filtering and post-extract owner/group/mode
108+
handling.

docs/plugins/filesystem.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -328,3 +328,9 @@ Use `backup_before` when the target must be copied before removal. Use
328328
`trash_dir` when operators need a reversible move instead of an immediate
329329
`rm`. `allowlist` and `denylist` keep cleanup jobs scoped to known-safe path
330330
prefixes.
331+
332+
## File mutation validation
333+
334+
`fs.write`, `fs.template`, `fs.line` and `fs.replace` support validation commands
335+
and backup-before semantics for configuration file edits. `fs.replace` also
336+
supports `match_count_assert` to prevent zero-match or broad-match regex changes.

docs/plugins/firewall.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,19 @@ and after runtime rule changes.
4848
insertion, comments, `-w` wait handling, pre-change backups and `save_after`.
4949
`nftables.apply` supports check-only validation, pre-apply backup, persistent
5050
ruleset installation and service reload.
51+
52+
## Backend-specific firewall extras
53+
54+
firewalld backend extras manage source bindings, ICMP blocks, masquerading and
55+
forward-port rules through explicit plugins: `firewalld.source`,
56+
`firewalld.icmp_block`, `firewalld.masquerade` and `firewalld.forward_port`.
57+
58+
nftables extras provide readback assertion and rollback: `nftables.ruleset_assert`
59+
and `nftables.rollback_file`. Rollback requires `confirm: true`.
60+
61+
iptables extras provide deletion, rule existence assertion and counter assertion:
62+
`iptables.delete`, `iptables.exists_assert` and `iptables.counter_assert`.
63+
Deletion requires `confirm: true`.
64+
65+
UFW extras provide `ufw.delete` and `ufw.reset`. Both require `confirm: true`
66+
because they remove firewall state.

0 commit comments

Comments
 (0)