Skip to content

docs: make egress hardening concrete with SPM v3.9.0 default-deny allowlist#312

Merged
fabriziosalmi merged 2 commits into
mainfrom
docs/egress-allowlist-spm-v390
Jun 15, 2026
Merged

docs: make egress hardening concrete with SPM v3.9.0 default-deny allowlist#312
fabriziosalmi merged 2 commits into
mainfrom
docs/egress-allowlist-spm-v390

Conversation

@fabriziosalmi

Copy link
Copy Markdown
Owner

Follows up the perimeter-hardening docs (#311). That section described the "allow what CertMate needs, deny the rest" egress choke point in the abstract because, at the time, Secure Proxy Manager had no destination allowlist. SPM v3.9.0 just shipped exactly that (a first-class default-deny egress allowlist), so this makes the guidance concrete and actionable.

What changed

  • docs/installation.md (egress-hardening section): document the SPM Default-deny egress toggle and the Egress Allowlist (managed in Settings or via /api/egress-allowlist for IaC), with a representative starter allowlist for CertMate's real destinations — ACME CA host, DNS provider API, object-storage endpoint, notification host, and cloudflare-dns.com for DoH CNAME resolution. Clarifies that HTTPS destination matching works on the CONNECT host without TLS interception.
  • README.md (Network Security): a short outbound-confinement pointer beside the existing inbound firewall rules, linking to the worked example.

Verification

Every factual claim was adversarially fact-checked against the live source in both repos:

  • SPM v3.9.0 egress_default_deny setting, /api/egress-allowlist routes, dst/dstdomain ACL injection in proxy/startup.sh, cidr-vs-domain auto-classification — all confirmed.
  • CertMate honors HTTP(S)_PROXY (requests/certbot/urllib/boto3), SMTP is the documented direct-TCP exception, DoH CNAME resolution against cloudflare-dns.com, real ACME hosts, real notification channels and S3 backup — all confirmed.
  • Anchor link resolves; no emoji introduced.

Docs-only; no code or behaviour change.

🤖 Generated with Claude Code

fabriziosalmi and others added 2 commits June 15, 2026 12:07
…owlist

The egress-hardening section was written before Secure Proxy Manager shipped
a destination allowlist, so it described the "allow what CertMate needs, deny
the rest" choke point only in the abstract. SPM v3.9.0 added exactly that as a
first-class default-deny egress allowlist, so make the guidance concrete:

- docs/installation.md: describe the SPM "Default-deny egress" toggle and the
  Egress Allowlist (managed in Settings or via /api/egress-allowlist), with a
  representative starter allowlist for CertMate's real destinations (ACME CA
  host, DNS provider API, object storage, notification host, cloudflare-dns.com
  for DoH CNAME resolution). Note that HTTPS destination matching works on the
  CONNECT host without TLS interception.
- README: under Network Security, add a short outbound-confinement pointer next
  to the existing inbound firewall rules, linking to the worked example.

All claims verified against the SPM v3.9.0 source and the CertMate code.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@fabriziosalmi fabriziosalmi merged commit 96cdfe4 into main Jun 15, 2026
9 checks passed
@fabriziosalmi fabriziosalmi deleted the docs/egress-allowlist-spm-v390 branch June 15, 2026 17:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant