
أداة للتحقق من خيارات تعزيز الأمان في نواة لينكس
(سابقًا kconfig-hardened-check)
هناك العديد من خيارات تعزيز أمان نواة لينكس. الكثير منها غير مُفعّل من قبل التوزيعات الرئيسية. علينا تفعيل هذه الخيارات بأنفسنا لجعل أنظمتنا أكثر أمانًا.
لكن لا أحد يحب فحص الإعدادات يدويًا. لذا دع الحواسيب تقوم بعملها!
kernel-hardening-checker (سابقًا kconfig-hardened-check) هي أداة لفحص خيارات تعزيز أمان نواة لينكس.
الترخيص: GPL-3.0.
يدعم kernel-hardening-checker فحص:
البنيات المدعومة:
تستند توصيات تعزيز الأمان إلى:
كما أنشأت [Linux Kernel Defence Map][4]، وهو تمثيل رسومي للعلاقات بين ميزات تعزيز الأمان وفئات الثغرات أو تقنيات الاستغلال المقابلة.
يرجى الملاحظة أن تغيير معاملات أمان نواة لينكس قد يؤثر أيضًا على أداء النظام ووظائف برمجيات مساحة المستخدم. لذلك، عند تعيين هذه المعاملات، ضع في اعتبارك نموذج التهديد لنظام المعلومات المبني على لينكس الخاص بك واختبر حمولته النموذجية بدقة.
هناك عدة خيارات:
يمكنك تثبيت الحزمة من مستودع Git هذا باستخدام pip:
python3 -m pip install git+https://github.com/a13xp0p0v/kernel-hardening-checker
إذا واجهت خطأ بسبب بيئة مُدارة خارجيًا، قم بإنشاء بيئة افتراضية باستخدام python3 -m venv.
يمكنك تثبيت حزمة kernel-hardening-checker عبر مدير الحزم في بعض توزيعات GNU/Linux. انظر https://repology.org/project/kernel-hardening-checker/versions
بدلاً من ذلك، يمكنك ببساطة تشغيل ./bin/kernel-hardening-checker من المستودع المستنسخ دون تثبيت.
$ ./bin/kernel-hardening-checker -h usage: kernel-hardening-checker [-h] [--version] [-m {verbose,json,show_ok,show_fail}] [-a] [-c CONFIG] [-v KERNEL_VERSION] [-l CMDLINE] [-s SYSCTL] [-p {X86_64,X86_32,ARM64,ARM,RISCV}] [-g {X86_64,X86_32,ARM64,ARM,RISCV}]
A tool for checking the security hardening options of the Linux kernel
options: -h, --help show this help message and exit --version show program's version number and exit -m, --mode {verbose,json,show_ok,show_fail} select a special output mode instead of the default one -a, --autodetect autodetect and check the security hardening options of the running kernel -c, --config CONFIG check the security hardening options in a Kconfig file (also supports *.gz files) -v, --kernel-version KERNEL_VERSION extract the kernel version from a version file (such as /proc/version) instead of using a Kconfig file -l, --cmdline CMDLINE check the security hardening options in a kernel command line file (such as /proc/cmdline) -s, --sysctl SYSCTL check the security hardening options in a sysctl output file (the result of "sudo sysctl -a > file") -p, --print {X86_64,X86_32,ARM64,ARM,RISCV} print security hardening recommendations for the selected architecture -g, --generate {X86_64,X86_32,ARM64,ARM,RISCV} generate a Kconfig fragment containing the security hardening options for the selected architecture
## أنماط الإخراج
- لا وسيطة `-m` لوضع الإخراج الافتراضي (انظر المثال أدناه)
- `-m verbose` لطباعة معلومات إضافية:
- خيارات التهيئة دون فحص مقابل
- تفاصيل الفحوصات المعقدة باستخدام AND/OR، مثل هذا:
```
-------------------------------------------------------------------------------------------
<<< OR >>>
CONFIG_STRICT_DEVMEM |kconfig|cut_attack_surface|defconfig | y
CONFIG_DEVMEM |kconfig|cut_attack_surface| kspp | is not set
-------------------------------------------------------------------------------------------
```
- `-m json` لطباعة النتائج بتنسيق JSON (لدمج `kernel-hardening-checker` مع أدوات أخرى)
- `-m show_ok` لإظهار الفحوصات الناجحة فقط
- `-m show_fail` لإظهار الفحوصات الفاشلة فقط