
Leichtgewichtige, sichere Control Plane & Echtzeit-Web-Dashboard in Crystal für die Host-Sicherheit von Linux firewalld und NetworkManager.
Pared ist eine sichere, hochperformante Linux-Host-Sicherheitskontrollzentrale und Echtzeit-Administrations-Webkonsole, geschrieben in Crystal. Aufgebaut auf Kemal und Blueprint serverseitig gerenderten Komponenten mit SQLite3, einer kleinen Vanilla-JS/WebSocket-Schicht und nativem libsystemd-Journal-Streaming, vereint es die Orchestrierung von firewalld und NetworkManager in einer zentralisierten, reaktiven Schnittstelle.
Pared bietet gegenseitige TLS-Authentifizierung (mTLS) ohne Passwort, Linux PAM/SSSD-Identitätsverwaltung, native C-Bindings an libsystemd für Live-Journal-Streaming, Kernel-Paketsimulation, automatisierte Anti-Lockout-Rollback-Wächter und Container-Netzwerk-Bypass-Auditing.
DROP/REJECT), um eine Betreiber-Sperre zu verhindern.0.0.0.0, ::)./trace, /rollback <zone>, /wg peer <term>, /zone add), mit serverseitigem Dispatch an die passende Konsole.pam_acct_mgmt), SSSD-D-Bus-Gruppenauflösung, X.509-Client-Zertifikat-mTLS mit CRL-Prüfungen und CSRF-Schutz.NOTIFY_SOCKET und strukturiertes Audit-Logging.libsystemd-Entwicklungs-Header (systemd-devel)firewalld und NetworkManager# 1. Clone repository & install shard dependencies
git clone https://gitlab.com/renich/pared.git
cd pared
shards install
# 2. Provision host system Polkit rules & seed default database
make setup
make seed
# 3. Compile and launch development server
make build
make run
Das Web-Dashboard der Kontrollzentrale ist unter http://localhost:3636 verfügbar.
Bei Befüllung über make seed lauten die Standard-Anmeldedaten:
[email protected]password(Lokale System-PAM-Benutzerkonten mit UID ≥ 1000 können sich ebenfalls direkt authentifizieren).
Pared erzwingt strenge Qualitätsstandards mit umfassenden Unit- und E2E-Browser-Testsuiten:
# Run unit & integration test suite (200 examples)
make spec
# Run headless Selenium E2E browser test suite (16 examples)
make test-browser
# Run static analysis (Ameba)
bin/ameba
# Run security vulnerability scan (Flaw)
bin/flaw scan .
# Run reStructuredText documentation linter (crstlint)
find docs -name "*.rst" -exec crstlint {} +
Eine produktionsgehärtete systemd-Unit-Datei ist unter scripts/pared.service verfügbar und implementiert Kernel-Sandboxing, Watchdog-Pinging und Capability-Einschränkungen:
# Build production release binary
make release
# Install binary and systemd service
sudo install -m 755 bin/pared /usr/local/bin/pared
sudo install -m 644 scripts/pared.service /etc/systemd/system/pared.service
# Enable and start service
sudo systemctl daemon-reload
sudo systemctl enable --now pared.service
# Inspect service status and watchdog health
sudo systemctl status pared.service
Umfassende Architekturspezifikationen und Entscheidungsdokumente werden im Verzeichnis docs/ gepflegt:
Um die Sphinx-HTML-Dokumentation lokal zu erstellen:
sphinx-build -b html -W docs docs/_build/html