یوشا

دست نوشته ها و تجربیات شخصی

یوشا

دست نوشته ها و تجربیات شخصی

شهید دکتر مصطفی چمران: می گویند تقوا از تخصص لازمتر است، آنرا می پذیرم، اما می گویم آنکس که تخصص ندارد و کاری را می پذیرد بی تقواست!

طبقه بندی موضوعی

پارامترهای پیشنهادی جهت Hardening هسته لینوکس توسط cmdline موقع boot-time و توسط sysctl موقع run-time.
 

  • توسط cmdline موقع boot-time:
vga=normal mds=full rodata=on mitigations=auto,nosmt page_alloc.shuffle=1 init_on_alloc=1 init_on_free=1 hardened_usercopy=1 iommu.strict=1 iommu.passthrough=0 randomize_kstack_offset=1 pti=on iommu=force tsx=off vsyscall=xonly vdso32=0 debugfs=on

نکته: این پارامترهارو باید به برنامه bootloader تون بدید:

  • اگر بوت لودر Grub هستش، داخل فایل /boot/grub/grub.cfg و در جلوی متغیر GRUB_CMDLINE_LINUX_DEFAULT باید قرار بگیرن.
  • اگر بوت لودر eLiLo هستش، داخل فایل /boot/EFI<OS>/elilo.conf و در جلوی متغیر append باید قرار بگیرن.

توضیحات و مستندات Kernel command-line parameters

 

  • توسط برنامه sysctl موقع run-time:
sysctl -w net.core.bpf_jit_harden="2"
sysctl -w kernel.dmesg_restrict="1"
sysctl -w kernel.perf_event_paranoid="3"
sysctl -w kernel.kexec_load_disabled="1"
sysctl -w user.max_user_namespaces="0"
sysctl -w dev.tty.ldisc_autoload="0"
sysctl -w kernel.unprivileged_bpf_disabled="1"
sysctl -w kernel.kptr_restrict="2"
sysctl -w dev.tty.legacy_tiocsti="0"
sysctl -w vm.unprivileged_userfaultfd="0"
sysctl -w fs.protected_symlinks="1"
sysctl -w fs.protected_hardlinks="1"
sysctl -w fs.protected_fifos="2"
sysctl -w fs.protected_regular="2"
sysctl -w fs.suid_dumpable="0"
sysctl -w kernel.yama.ptrace_scope="3"
sysctl -w kernel.randomize_va_space="2"

نکته: برای اعمال این تنظیمات به کاربر root یا دسترسی sudo نیاز دارید.

توضیحات مقادیر موجود در /proc/sys

 

Hardening / سخت‌ سازی

Hardening به مجموعه‌ ای از روش‌ ها و تکنیک‌ های امنیتی گفته  میشه که با هدف کاهش سطح حمله (attack surface) و افزایش مقاومت سیستم در برابر تهدیدات امنیتی انجام میشن. در مورد هسته لینوکس، Hardening شامل تنظیم پارامترها، غیرفعال کردن ویژگی‌ های غیرضروری و اعمال محدودیت‌ های امنیتی میشود تا آسیب‌ پذیری‌ های احتمالی به حداقل برسد.

cmdline / پارامترهای راه‌ اندازی

cmdline یا kernel command-line parameters مقادیری هستند که در زمان bootstrap سیستم به هسته لینوکس ارسال میشن. این پارامترها معمولاً در فایل‌ هایی مثل/boot/grub/grub.cfg یا /boot/EFI/<OS>/elilo.conf یا از طریق bootloader تنظیم میشن و رفتار هسته رو هنگام راه‌ اندازی کنترل می کنن.

sysctl / پارامترهای کنترل

sysctl (system control) مکانیزمی در لینوکس برای تنظیم پارامترهای هسته در زمان اجرا (runtime) میباشد. این پارامترها از طریق فایل‌ های مجازی در مسیر /proc/sys/ قابل دسترسی و تغییر هستن و معمولاً برای بهینه‌ سازی عملکرد و افزایش امنیت سیستم استفاده میشوند.

  • ۰۲/۱۲/۱۶
  • یوشا آل ایوب

Configuration

Kernel

hardening

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

کاربران بیان میتوانند بدون نیاز به تأیید، نظرات خود را ارسال کنند.
اگر قبلا در بیان ثبت نام کرده اید لطفا ابتدا وارد شوید، در غیر این صورت می توانید ثبت نام کنید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">