Skip to content

feat(firewall): enforce default-deny VPS ingress - #9

Merged
Chalvin96 merged 2 commits into
masterfrom
feat/vps-firewall-role
Oct 25, 2026
Merged

Chalvin96 merged 2 commits into
masterfrom
feat/vps-firewall-role

Conversation

@Chalvin96

@Chalvin96 Chalvin96 commented Sep 18, 2026 •

Copy link
Copy Markdown
Owner

Changes

Enforce a default-deny VPS input policy with nftables, using the repository's existing firewall stack.

  • Allow configured SSH, HTTP/HTTPS and WireGuard ports, plus loopback, established/related traffic, ICMP and DHCP.
  • Block unsolicited forwarding from the public interface, including accidentally published container ports; preserve tunnel forwarding and established replies.
  • Install the firewall before WireGuard and load only owned tables during updates.
  • Preserve dynamic bans and NAT state; keep SSH abuse protection with fail2ban rather than adding another rate limiter.
  • Rebase onto current master and remove the UFW implementation that conflicted with the blocklist role.

Validation

Ansible lint, site syntax checks, formatting and secret scans pass locally.
Native tests run in disposable network namespaces and cover IPv4/IPv6, a custom
SSH port, allowed and denied TCP/UDP services, DHCP, loopback, forwarding/return
traffic, published-port denial, existing bans/NAT and repeated rule loading.
The same firewall tests run in CI.

The revised policy has not been applied to the live VPS. Deployment should retain
a recovery path and verify a fresh SSH connection, public web traffic and the
WireGuard tunnel before cancelling rollback.

@Chalvin96
Chalvin96 force-pushed the feat/vps-firewall-role branch from 9443242 to f19d1a1 Compare October 25, 2026 07:51
@Chalvin96 Chalvin96 changed the title feat: add vps-firewall role (ufw default-deny ingress) fix: enforce VPS ingress policy with nftables Oct 25, 2026
@Chalvin96 Chalvin96 changed the title fix: enforce VPS ingress policy with nftables feat(firewall): enforce default-deny VPS ingress Oct 25, 2026
@Chalvin96
Chalvin96 merged commit f4d5614 into master Oct 25, 2026
2 checks passed
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