عن المشروع

Linux Hardener هو أداة شاملة لأتمتة الأمان لأنظمة لينكس، مكتوب بلغة Rust. يفحص الأجهزة المضيفة بحثًا عن الأخطاء الأمنية في الإعدادات، ويطبق إصلاحات التقوية، ويدعم التراجع الكامل من خلال نقاط تحقق موقعة. كل تغيير يتم التقاط لقطة له قبل تنفيذه، لذا فإن `hardener rollback` يعيد الجهاز إلى حالته السابقة. تُوزَّع الأداة كملف ثنائي واحد لواجهة الأوامر (CLI) وتطبيق سطح مكتب مبني باستخدام Tauri وواجهة أمامية Leptos/WASM. تغطي ثمانية إضافات للتقوية: معلمات النواة، إعدادات SSH، قواعد جدار الحماية، مصادقة PAM، تقليل الخدمات، قواعد التدقيق، صلاحيات الملفات، وأنظمة MAC (SELinux/AppArmor). يتم ربط النتائج بعشرة أطر امتثال: CIS، STIG، NIST 800-53، PCI-DSS، HIPAA، GDPR، ISO/IEC 27001:2022، SOC 2، NIST SP 800-171 Rev 3، وFedRAMP. الضوابط التي لا يستطيع المحرك تقييمها تُبلَّغ على أنها تحتاج إلى مراجعة يدوية بدلاً من افتراض أنها ناجحة. دعم التوزيعات يعتمد على العائلات، ويشمل ديبيان، أوبونتو، فيدورا، RHEL، آرتش لينكس، وopenSUSE. تقرأ الأداة طبقتَي `/etc` و`/usr/etc` في openSUSE، وتتعامل مع تهيئة SSH الإضافية (drop-in) للحفاظ على أسطر `Include` الخاصة بالمورّد. تتيح صورة Docker بقاعدة `FROM scratch` إجراء تدقيق للقراءة فقط دون تعديل النظام المضيف. تشمل الميزات الرئيسية: تراجعًا قائمًا على نقاط التحقق مع تخزين SQLite موقَّع بـ Ed25519، وسجل تدقيق متسلسل بالهاش، واستثناءات سياسة بتواريخ انتهاء، واستثناءات نطاق للضوابط غير القابلة للتطبيق، وفحصًا مجدولًا عبر الخفي (daemon) أو مؤقّت systemd، وعمليات أسطول عبر SSH مع فحص وتطبيق مجمّعين متزامنين. يوفر تطبيق سطح المكتب لوحة تحكم بدرجات الأمان، وعروض امتثال لكل إطار، ونتائج مجمعة حسب الخطورة، وواجهة تطبيق للأسطول مع معاينة مرحلية. يتم تحميل الإعدادات من أربعة مصادر بالترتيب: `/etc/linux-hardener/config.toml`، إعداد المستخدم (يُتخطى عند الجذر)، خيار `--config`، ومتغيرات البيئة `HARDENER_*`. تفرّق الأداة بين `scan` (للقراءة فقط، لا يتطلب صلاحيات الجذر)، و`apply --dry-run` (معاينة التغييرات)، و`apply` (تنفيذ التغييرات). العمليات الجماعية تكون افتراضيًا في وضع المعاينة وتتطلب `--execute` لإجراء التغييرات. يتضمن المشروع 2343 اختبارًا ناجحًا، ومجموعة اختبارات عبر التوزيعات تطبق وترجع على ست حاويات مُقلعة، ومجموعة اختبارات تفاضلية تقارن الأجهزة قبل وبعد التطبيق عبر أوراكل مستقل. ينظَّم الكود البرمجي في صناديق (crates) نطاقية للإضافات، والامتثال، والمجدول، والنواة، والحالة، واكتشاف التوزيعات، مع صناديق أساسية مشتركة للأدوات الشائعة وأنواع متوافقة مع WASM.