Handle LXC limitations for sysctl/auditd and clean UFW SSH rule

This commit is contained in:
root
2026-05-10 20:30:30 +00:00
parent c7bec29f7c
commit 4f578eea52
2 changed files with 21 additions and 5 deletions
+5
View File
@@ -40,6 +40,11 @@ sudo ufw status
sudo systemctl restart ssh sudo systemctl restart ssh
``` ```
## Hinweis fuer LXC
In unprivilegierten LXC-Containern koennen `sysctl`-Keys und `auditd` teilweise nicht gesetzt/gestartet werden.
Das Skript erkennt Container und ueberspringt diese Schritte automatisch, statt mit Fehlern abzubrechen.
## Wichtige Konfigurationen ## Wichtige Konfigurationen
- `config/fail2ban/jail.local` - `config/fail2ban/jail.local`
+16 -5
View File
@@ -42,6 +42,10 @@ log() {
echo "[sicherheit-install] $*" echo "[sicherheit-install] $*"
} }
is_container() {
systemd-detect-virt --quiet --container
}
copy_cfg() { copy_cfg() {
local src="$1" local src="$1"
local dst="$2" local dst="$2"
@@ -72,7 +76,6 @@ ufw default deny incoming || true
ufw default allow outgoing || true ufw default allow outgoing || true
ufw logging medium || true ufw logging medium || true
ufw allow ssh || true ufw allow ssh || true
ufw allow OpenSSH || true
ufw allow 80/tcp || true ufw allow 80/tcp || true
ufw allow 443/tcp || true ufw allow 443/tcp || true
ufw --force enable || true ufw --force enable || true
@@ -83,13 +86,21 @@ sshd -t && systemctl restart ssh || true
log "7/10 sysctl Hardening setzen" log "7/10 sysctl Hardening setzen"
copy_cfg "${CONFIG_DIR}/sysctl/99-sicherheit.conf" "/etc/sysctl.d/99-sicherheit.conf" copy_cfg "${CONFIG_DIR}/sysctl/99-sicherheit.conf" "/etc/sysctl.d/99-sicherheit.conf"
sysctl --system || true if is_container; then
log "Container erkannt: sysctl --system wird uebersprungen (teilweise read-only in LXC)"
else
sysctl --system || true
fi
log "8/10 auditd Regeln setzen" log "8/10 auditd Regeln setzen"
copy_cfg "${CONFIG_DIR}/auditd/hardening.rules" "/etc/audit/rules.d/hardening.rules" copy_cfg "${CONFIG_DIR}/auditd/hardening.rules" "/etc/audit/rules.d/hardening.rules"
augenrules --load || true if is_container; then
systemctl enable auditd || true log "Container erkannt: auditd service/augenrules wird uebersprungen"
systemctl restart auditd || true else
augenrules --load || true
systemctl enable auditd || true
systemctl restart auditd || true
fi
log "9/10 Node.js ${NODE_MAJOR} installieren" log "9/10 Node.js ${NODE_MAJOR} installieren"
if ! command -v node >/dev/null 2>&1; then if ! command -v node >/dev/null 2>&1; then