
Plano de control ligero y seguro y panel web en tiempo real en Crystal para la seguridad de hosts Linux con firewalld y NetworkManager.
Pared es un plano de control de seguridad de host Linux seguro y de alto rendimiento, y una consola web administrativa en tiempo real escrita en Crystal. Construido sobre Kemal y componentes renderizados en servidor de Blueprint con SQLite3, una pequeña capa de vanilla-JS/WebSocket y streaming nativo de journal de libsystemd, unifica la orquestación de firewalld y NetworkManager en una interfaz centralizada y reactiva.
Pared incorpora autenticación sin contraseña mediante TLS mutuo (mTLS), gestión de identidades Linux PAM/SSSD, enlaces nativos en C a libsystemd para streaming de journal en vivo, simulación de paquetes del kernel, guardianes automatizados de reversión anti-bloqueo y auditoría de omisión de red de contenedores.
DROP/REJECT), evitando el bloqueo del operador.0.0.0.0, ::)./trace, /rollback <zone>, /wg peer <term>, /zone add), con despacho del lado del servidor a la consola correspondiente.pam_acct_mgmt), resolución de grupos por D-Bus de SSSD, mTLS con certificado de cliente X.509 con comprobaciones de CRL y protección CSRF.NOTIFY_SOCKET y registro de auditoría estructurado.libsystemd (systemd-devel)firewalld y NetworkManager activos# 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
El panel web del plano de control está disponible en http://localhost:3636.
Cuando se inicializa mediante make seed, las credenciales predeterminadas son:
[email protected]password(Las cuentas de usuario PAM del sistema local con UID ≥ 1000 también pueden autenticarse directamente).
Pared aplica estándares de calidad estrictos con suites completas de pruebas unitarias y E2E en navegador:
# 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 {} +
Se proporciona un archivo de unidad systemd reforzado para producción en scripts/pared.service, que implementa sandboxing del kernel, ping de watchdog y restricciones de capacidades:
# 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
Las especificaciones arquitectónicas completas y los registros de decisiones se mantienen en el directorio docs/:
Para compilar la documentación HTML de Sphinx localmente:
sphinx-build -b html -W docs docs/_build/html