Firejail 0.9.72 Application Isolation Release

انتشار پروژه Firejail 0.9.72 منتشر شده است که سیستمی را برای اجرای مجزای برنامه های گرافیکی، کنسولی و سرور توسعه می دهد و به حداقل رساندن خطر به خطر افتادن سیستم اصلی در هنگام اجرای برنامه های غیرقابل اعتماد یا بالقوه آسیب پذیر را می دهد. این برنامه به زبان C نوشته شده است، تحت مجوز GPLv2 توزیع شده است و می تواند بر روی هر توزیع لینوکس با هسته قدیمی تر از 3.0 اجرا شود. بسته های آماده Firejail در فرمت های deb (Debian، Ubuntu) و rpm (CentOS، Fedora) آماده شده اند.

برای جداسازی، Firejail از فضاهای نام، AppArmor و فیلتر کردن تماس های سیستمی (seccomp-bpf) در لینوکس استفاده می کند. پس از راه‌اندازی، برنامه و تمام پردازش‌های فرزند آن از نماهای جداگانه منابع هسته مانند پشته شبکه، جدول پردازش و نقاط اتصال استفاده می‌کنند. برنامه هایی که به یکدیگر وابسته هستند را می توان در یک سندباکس مشترک ترکیب کرد. در صورت تمایل می توان از Firejail برای اجرای کانتینرهای Docker، LXC و OpenVZ نیز استفاده کرد.

برخلاف ابزارهای جداسازی کانتینر، پیکربندی firejail بسیار ساده است و نیازی به تهیه تصویر سیستم ندارد - ترکیب کانتینر بر اساس محتویات فایل سیستم فعلی شکل می‌گیرد و پس از تکمیل برنامه حذف می‌شود. ابزارهای انعطاف‌پذیری برای تنظیم قوانین دسترسی به سیستم فایل ارائه شده است؛ می‌توانید تعیین کنید که کدام فایل‌ها و دایرکتوری‌ها مجاز هستند یا از دسترسی محروم هستند، سیستم‌های فایل موقت (tmpfs) را برای داده‌ها متصل کنید، دسترسی به فایل‌ها یا دایرکتوری‌ها را فقط خواندنی محدود کنید، دایرکتوری‌ها را از طریق ترکیب کنید. bind-mount و overlayfs.

برای تعداد زیادی از برنامه های محبوب از جمله فایرفاکس، کروم، VLC و انتقال، پروفایل های آماده ایزوله تماس سیستمی آماده شده است. برای به دست آوردن امتیازات لازم برای راه اندازی یک محیط sandboxed، فایل اجرایی firejail با پرچم ریشه SUID نصب می شود (امتیازات پس از مقداردهی اولیه بازنشانی می شوند). برای اجرای یک برنامه در حالت ایزوله، به سادگی نام برنامه را به عنوان آرگومان برای ابزار firejail مشخص کنید، به عنوان مثال، "firejail firefox" یا "sudo firejail /etc/init.d/nginx start".

در نسخه جدید:

  • یک فیلتر seccomp برای تماس های سیستمی اضافه شده است که ایجاد فضاهای نام را مسدود می کند (گزینه "--restrict-namespaces" برای فعال کردن اضافه شده است). جداول تماس سیستم و گروه های seccomp به روز شده است.
  • بهبود حالت force-nonewprivs (NO_NEW_PRIVS)، که از به دست آوردن امتیازات اضافی توسط فرآیندهای جدید جلوگیری می کند.
  • قابلیت استفاده از پروفایل های AppArmor خود را اضافه کرد (گزینه "--apparmor" برای اتصال ارائه شده است).
  • سیستم ردیابی ترافیک شبکه nettrace که اطلاعات مربوط به IP و شدت ترافیک را از هر آدرس نمایش می دهد، پشتیبانی ICMP را پیاده سازی می کند و گزینه های "--dnstrace"، "--icmptrace" و "--snitrace" را ارائه می دهد.
  • دستورات --cgroup و --shell حذف شده اند (پیش فرض --shell=none است). ساخت Firetunnel به طور پیش فرض متوقف شده است. تنظیمات chroot، private-lib و tracelog را در /etc/firejail/firejail.config غیرفعال کرد. پشتیبانی grsecurity متوقف شده است.

منبع: opennet.ru

اضافه کردن نظر