
مستوى تحكم خفيف الوزن وآمن ولوحة تحكم ويب في الوقت الفعلي بلغة Crystal لأمن مضيف Linux عبر firewalld و NetworkManager.
Pared هو مستوى تحكم أمني عالي الأداء لمضيفات Linux ووحدة تحكم إدارية ويب تفاعلية في الوقت الفعلي، مكتوب بلغة Crystal. مبني على Kemal ومكونات Blueprint المُصيَّرة من الخادم مع SQLite3، وطبقة صغيرة من vanilla-JS/WebSocket، وبث سجلات libsystemd الأصلي، وهو يوحّد تنسيق firewalld وNetworkManager في واجهة مركزية تفاعلية.
يتميز Pared بمصادقة بدون كلمة مرور عبر mTLS، وإدارة هوية Linux PAM/SSSD، وارتباطات C أصلية بـ libsystemd لبث السجلات المباشر، ومحاكاة حزم النواة، وحرّاس التراجع الآلي لمنع الإغلاق، وتدقيق تجاوز شبكة الحاويات.
DROP/REJECT)، مما يمنع إغلاق المشغل.0.0.0.0، ::)./trace، /rollback <zone>، /wg peer <term>، /zone add)، مع إرسال من جانب الخادم إلى وحدة التحكم المطابقة.pam_acct_mgmt)، وحل مجموعات SSSD D-Bus، ومصادقة mTLS بشهادة عميل X.509 مع فحوصات CRL، وحماية CSRF.NOTIFY_SOCKET، وتسجيل تدقيق منظم.libsystemd (systemd-devel)firewalld و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
لوحة تحكم مستوى التحكم على الويب متاحة على http://localhost:3636.
عند التهيئة عبر make seed، تكون بيانات الاعتماد الافتراضية:
[email protected]password(يمكن أيضًا لحسابات مستخدمي PAM على النظام المحلي ذات UID ≥ 1000 المصادقة مباشرة).
يفرض Pared معايير جودة صارمة مع مجموعات اختبارات وحدة وE2E شاملة للمتصفح:
# 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 {} +
يُوفَّر ملف وحدة systemd مُحصَّن للإنتاج في scripts/pared.service، ينفذ عزل النواة، ونبض المراقب، وقيود القدرات:
# 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
تُصان المواصفات المعمارية الشاملة وسجلات القرارات في دليل docs/:
لبناء توثيق Sphinx HTML محليًا:
sphinx-build -b html -W docs docs/_build/html