- مقدمه
- مرحله ۱: بررسی ویژگیهای جدید کرنل ۶.۱۴
- مرحله ۲: فعالسازی کنترلهای امنیتی
- مرحله ۳: استفاده از ویژگی Seccomp برای محدود کردن syscalls
- مرحله ۴: استفاده از کنتینرها
- مرحله ۵: بررسی و مدیریت مجوزهای دسترسی
- نتیجهگیری
افزایش امنیت با استفاده از ویژگیهای جدید در کرنل ۶.۱۴ برای اجرای اسکریپتها
مقدمه
کرنل ۶.۱۴ با افزودن ویژگیهای جدید و بهبود امنیتی، ابزارهای بیشتری به مدیران سرور و توسعهدهندگان ارائه میدهد. این مقاله به بررسی روشهایی میپردازد که میتوان با استفاده از این ویژگیها امنیت اجرای اسکریپتها را افزایش داد. مراحل مذکور شامل تنظیمات کرنل، استفاده از Sandboxing و بررسی مجوزهای دسترسی است.
مرحله ۱: بررسی ویژگیهای جدید کرنل ۶.۱۴
قبل از هر اقدام، ضروری است که ویژگیهای جدید کرنل ۶.۱۴ را بررسی کنید. این ویژگیها شامل بهبودهای امنیتی در بخشهای مختلف است. برای مشاهده ویژگیها، از دستور زیر استفاده کنید:
uname -r
مرحله ۲: فعالسازی کنترلهای امنیتی
در کرنل ۶.۱۴، کنترلهای امنیتی جدیدی به نام “Control Groups” (cgroups) معرفی شده است که به ما امکان میدهد منابع سیستم را مدیریت کنیم. برای فعالسازی cgroups، باید به فایل /etc/default/grub تغییراتی اعمال کنیم.
۱. فایل را باز کنید:
sudo nano /etc/default/grub
۲. خط زیر را پیدا کرده و به آن اضافه کنید:
GRUB_CMDLINE_LINUX_DEFAULT="... cgroup_enable=memory cgroup_memory=1"
۳. پس از ذخیره تغییرات، GRUB را بهروز کنید:
sudo update-grub
۴. سیستم را ریستارت کنید:
sudo reboot
مرحله ۳: استفاده از ویژگی Seccomp برای محدود کردن syscalls
Secure Computing Mode (Seccomp) امکان محدود کردن سیستمکالها را فراهم میکند. برای استفاده از Seccomp، ابتدا باید یک فیلتر انتخاب کنید.
۱. ابتدا ابزار seccomp-tools را نصب کنید:
sudo apt install seccomp-tools
۲. به اسکریپت خود قابلیت Seccomp را اضافه کنید:
#include <seccomp.h>
...
scmp_filter_ctx ctx;
ctx = seccomp_init(SCMP_ACT_KILL); // پیشفرض، در صورت فراخوانی syscall غیرمجاز آن را متوقف میکند.
seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(read), 0);
...
seccomp_load(ctx);
این کد به شما امکان میدهد تنها syscalls خاصی را مجاز کنید.
مرحله ۴: استفاده از کنتینرها
استفاده از کنتینرها یکی از مهمترین روشهای افزایش امنیت اجرای اسکریپتها است. با استفاده از Docker میتوانید محیطهای جداگانهای ایجاد کنید.
۱. Docker را نصب کنید:
sudo apt install docker.io
۲. یک تصویر ساده Docker بسازید:
FROM ubuntu:20.04
COPY script.sh /script.sh
RUN chmod +x /script.sh
CMD ["/script.sh"]
۳. تصویر را بسازید و اجرا کنید:
docker build -t secure-script .
docker run --rm secure-script
مرحله ۵: بررسی و مدیریت مجوزهای دسترسی
مدیریت صحیح مجوزهای دسترسی به اسکریپتها نقش حیاتی در امنیت دارد. معمولاً باید مجوزهای دسترسی را به حداقل برسانید.
۱. برای تغییر مجوزهای دسترسی، از دستور chmod استفاده کنید:
chmod 700 script.sh
این دستور به کاربر مجوز اجرا، خواندن و نوشتن میدهد، اما دسترسی سایر کاربران را محدود میکند.
نتیجهگیری
در این مقاله با معیارهای افزایش امنیت اجرای اسکریپتها در کرنل ۶.۱۴ آشنا شدیم. مراحل کلیدی شامل بررسی ویژگیهای جدید، فعالسازی کنترلهای امنیتی، استفاده از Seccomp برای محدود کردن syscalls، پیادهسازی کنتینرها و مدیریت مجوزهای دسترسی بود. هر یک از این مراحل نقش مهمی در افزایش امنیت سیستم و کاهش ریسکهای احتمالی دارند. با پیادهسازی این روشها، میتوانید از اجرای ایمنتر اسکریپتها در سیستمهای لینوکسی اطمینان حاصل کنید.
