نمودار سخت‌سازی لینوکس بر اساس CIS Benchmarks

مقدمه

سیستم‌عامل‌های لینوکسی به دلیل پایداری، امنیت ذاتی و متن‌باز بودن، در بسیاری از زیرساخت‌های حیاتی، سرورها، سرویس‌های ابری و محیط‌های سازمانی استفاده می‌شوند.

اما امنیت پیش‌فرض (Default Security) در هیچ سیستم‌عاملی کافی نیست. برای رسیدن به یک وضعیت امنیتی استاندارد، باید مراحل Hardening یا مقاوم‌سازی انجام شود.

یکی از معتبرترین استانداردهای امنیتی برای این کار، CIS Benchmarks است؛ مجموعه‌ای از بهترین شیوه‌ها (Best Practices) که توسط مرکز امنیت اینترنت (Center for Internet Security) ارائه شده و به‌صورت تخصصی برای انواع توزیع‌های لینوکسی تدوین شده است.

در این مقاله، یک راهنمای جامع و عملی برای مقاوم‌سازی لینوکس بر اساس استاندارد CIS ارائه می‌دهیم.


CIS Benchmarks چیست؟

CIS Benchmarks مجموعه‌ای از دستورالعمل‌های امنیتی هستند که برای افزایش امنیت سیستم‌عامل‌ها، سرویس‌ها، پایگاه‌داده‌ها و تجهیزات شبکه ارائه شده‌اند.

این استانداردها بر اساس تجربیات:

  • متخصصان امنیت
  • کارشناسان سیستم
  • و سازمان‌های بین‌المللی

تهیه شده‌اند و یکی از معتبرترین مرجع‌ها برای Hardening لینوکس محسوب می‌شوند.

CIS برای توزیع‌های زیر Benchmarks اختصاصی دارد:

  • Ubuntu
  • Debian
  • CentOS / Rocky Linux / AlmaLinux
  • RedHat Enterprise Linux (RHEL)
  • SUSE
  • Amazon Linux

هر Benchmark شامل چندین بخش است که هر کدام توصیه‌های امنیتی دقیق و قابل اجرا دارند.


اهداف اصلی Hardening بر اساس CIS

  • کاهش سطح حمله (Attack Surface)
  • جلوگیری از دسترسی‌های غیرمجاز
  • بهبود Logging و Auditing
  • کنترل اجرای سرویس‌های غیرضروری
  • امنیت شبکه و ارتباطات
  • افزایش امنیت کاربران و مجوزها
  • جلوگیری از اجرای بدافزار یا اسکریپت‌های مخرب

بخش اول: تنظیمات اولیه سیستم (Initial Setup)

1. به‌روزرسانی سیستم

CIS تأکید می‌کند که سیستم باید همیشه به‌روز باشد.

اقدامات کلیدی:

  • فعال بودن مخازن رسمی
  • نصب وصله‌های امنیتی
  • زمان‌بندی به‌روزرسانی خودکار (در صورت نیاز)

مثال:

sudo apt update && sudo apt upgrade -y


بخش دوم: تنظیمات مدیریت کاربر (User & Account Hardening)

1. تنظیم رمزهای عبور قوی

باید سیاست‌هایی مانند موارد زیر اعمال شوند:

  • حداقل طول رمز عبور
  • الزامی بودن استفاده از عدد، حروف بزرگ، کوچک
  • عدم استفاده از رمزهای ساده

ابزارهای پیشنهادی:

  • PAM
  • pwquality

2. غیرفعال‌سازی حساب Root در SSH

بر اساس CIS باید ورود مستقیم Root از طریق SSH مسدود شود:

در فایل:

/etc/ssh/sshd_config

گزینه زیر را تنظیم کنید:

PermitRootLogin no

3. تنظیمات قفل حساب پس از تلاش‌های ناموفق

مثال PAM:

deny=5 unlock_time=900


بخش سوم: تنظیمات شبکه (Network Hardening)

1. غیرفعال‌سازی سرویس‌های غیرضروری

CIS توصیه می‌کند سرویس‌هایی که نیاز ندارید حذف یا غیرفعال شوند:

  • telnet
  • ftp
  • rsh
  • cups
  • nfs (در صورت عدم نیاز)

2. فعال‌سازی Firewall

ابزارهای پیشنهادی:

  • firewalld
  • ufw
  • iptables

مثال UFW:

ufw allow ssh

ufw enable


بخش چهارم: امنیت SSH

SSH یکی از حیاتی‌ترین بخش‌های Hardening است. CIS توصیه می‌کند:

  • استفاده از نسخه 2
  • محدود کردن کاربران مجاز
  • غیرفعال‌سازی الگوریتم‌های ضعیف
  • تنظیم Idle Timeout
  • استفاده از کلیدهای SSH به‌جای رمز عبور

مثال Timeout:

ClientAliveInterval 300

ClientAliveCountMax 0


بخش پنجم: Logging و Auditing (بسیار مهم)

1. نصب و پیکربندی Auditd

Auditd وقایع امنیتی را ثبت می‌کند و از جمله موارد زیر را مانیتور می‌کند:

  • تغییرات در فایل‌های حساس
  • تلاش‌های دسترسی غیرمجاز
  • اجرای برنامه‌ها
  • تغییرات در sudoers

مثال فعال‌سازی:

apt install auditd

systemctl enable auditd

systemctl start auditd

2. فعال‌سازی rsyslog

برای لاگینگ مرکزی و مدیریت بهتر رویدادها.


بخش ششم: امنیت فایل‌سیستم (Filesystem Hardening)

CIS توصیه می‌کند:

1. استفاده از mount options امن

برای پارتیشن‌هایی مثل /tmp /var /home:

  • nodev
  • nosuid
  • noexec

مثال fstab:

/tmp  /tmp  tmpfs  defaults,nodev,nosuid,noexec  0  0

2. فعال‌سازی محدودیت فایل‌ها با umask

پیشنهاد CIS:

umask 027

3. استفاده از ابزارهای Integrity Check

مانند:

  • AIDE
  • Tripwire

این ابزارها تغییرات غیرمجاز در فایل‌ها را گزارش می‌کنند.


بخش هفتم: امنیت سرویس‌ها و Daemonها

1. بررسی daemonهای فعال

لیست سرویس‌های فعال:

systemctl list-unit-files --type=service

2. غیرفعال‌سازی سرویس‌هایی که نیاز ندارید

systemctl disable service_name

3. محدودسازی با Systemd Service Hardening

مثال:

ProtectSystem=full

ProtectHome=yes

PrivateTmp=yes


بخش هشتم: امنیت کرنل (Kernel Hardening)

1. تنظیمات sysctl

CIS لیستی از تنظیمات امنیتی برای کرنل دارد، مانند:

  • جلوگیری از IP Forwarding
  • غیرفعال‌سازی پاسخ به Broadcast
  • جلوگیری از Source Routing

نمونه:

net.ipv4.ip_forward=0

net.ipv4.conf.all.send_redirects=0

net.ipv4.conf.all.accept_source_route=0

2. فعال‌سازی ASLR

حفاظت از حافظه در برابر حملات:

kernel.randomize_va_space=2


بخش نهم: امنیت بوت (Boot Security)

CIS توصیه می‌کند:

  • تنظیم گذرواژه برای GRUB
  • محدودسازی دسترسی به bootloader
  • جلوگیری از تغییر کرنل بدون مجوز

بخش دهم: ارزیابی وضعیت امنیتی (Compliance)

برای بررسی اینکه سیستم تا چه حد مطابق CIS Benchmarks است، ابزارهای زیر پیشنهاد می‌شوند:

1. CIS-CAT (ابزار رسمی)

نسخه Pro و Lite در سایت CIS موجود است.

این ابزار سیستم شما را اسکن کرده و گزارش دقیق همراه با درصد انطباق ارائه می‌دهد.

2. OpenSCAP

ابزار متن‌باز برای ارزیابی امنیتی مطابق استانداردها.


جمع‌بندی

مقاوم‌سازی سیستم‌عامل‌های لینوکسی یک فرایند چندلایه است که شامل:

  • امنیت کاربران و دسترسی‌ها
  • امنیت شبکه
  • امنیت سرویس‌ها
  • امنیت کرنل
  • Logging و Auditing
  • محدودسازی دسترسی‌ها

استاندارد CIS Benchmarks یک راهنمای عملی و معتبر برای رسیدن به سطح امنیتی استاندارد و قابل اعتماد است.

با اجرای توصیه‌های این مقاله، سطح امنیت سیستم‌عامل لینوکسی شما به‌طور چشم‌گیری افزایش می‌یابد و خطر نفوذ، سوءاستفاده یا حملات داخلی و خارجی تا حد زیادی کاهش پیدا می‌کند.

 

نظرات کاربران

اخبار و رسانه های مرتبط

مشاهده همه