fix(net): martian-source Log-Spam auf VRRP-Backup-Node — v1.3.22

log_martians global aus (rp_filter-Drop bleibt aktiv): utm-2 sah als
Backup dauerhaft Broadcast/Multicast für Gateway-Adressen, die es
nicht besitzt, und flutete dmesg damit (>100k Zeilen/Woche). Security-
Logging läuft ohnehin über nftables-NFLOG/ulogd2 + CrowdSec, nicht dmesg.

Nebenbei: go.mod-Toolchain auf 1.26.6 (offene Stdlib-CVEs in 1.26.4,
govulncheck-Gate schlug fehl) und Makefile-ui-Target braucht
--include=dev für den npm-Fallback, sonst bricht der UI-Build bei
gesetztem NODE_ENV=production ab.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
noroot
2026-08-30 17:54:49 +02:00
parent 51e5fe83d9
commit 7ff6575790
4 changed files with 12 additions and 3 deletions

View File

@@ -104,7 +104,7 @@ ui:
@echo " -> management-ui (vite build, version $(VERSION))" @echo " -> management-ui (vite build, version $(VERSION))"
@cd management-ui && \ @cd management-ui && \
if [ -x "$$(command -v bun)" ]; then bun install --silent && bun run build; \ if [ -x "$$(command -v bun)" ]; then bun install --silent && bun run build; \
else npm install --silent && npm run build; fi else npm install --include=dev --silent && npm run build; fi
deb-amd64: release-check build-linux-amd64 ui deb-amd64: release-check build-linux-amd64 ui
@./scripts/apt-repo/build-package.sh amd64 $(VERSION) @./scripts/apt-repo/build-package.sh amd64 $(VERSION)

View File

@@ -1 +1 @@
1.3.21 1.3.22

2
go.mod
View File

@@ -2,6 +2,8 @@ module git.netcell-it.de/projekte/edgeguard-native
go 1.26.4 go 1.26.4
toolchain go1.26.6
require ( require (
github.com/corazawaf/coraza/v3 v3.7.0 github.com/corazawaf/coraza/v3 v3.7.0
github.com/coreos/go-oidc/v3 v3.18.0 github.com/coreos/go-oidc/v3 v3.18.0

View File

@@ -357,7 +357,14 @@ net.core.default_qdisc = fq
net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_syncookies = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1 net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1 net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.conf.all.log_martians = 1 # log_martians AUS (nicht der rp_filter-Drop selbst!): Ein VRRP-Backup-Node
# sieht auf geteilten L2-VLANs dauerhaft Broadcast/Multicast für Gateway-/
# VIP-Adressen, die er im Backup-Zustand nicht besitzt — rp_filter=2 verwirft
# das korrekt, aber log_martians=1 flutet dmesg/journal damit (>100k Zeilen/
# Woche beobachtet). Kernel-OR-Semantik: conf.all=1 überschreibt jeden
# Interface-spezifischen Wert, daher nur hier zentral abschaltbar. Security-
# Sichtbarkeit läuft ohnehin über nftables-NFLOG/ulogd2 + CrowdSec, nicht dmesg.
net.ipv4.conf.all.log_martians = 0
kernel.kptr_restrict = 2 kernel.kptr_restrict = 2
kernel.dmesg_restrict = 1 kernel.dmesg_restrict = 1