مقدمه
سیستمعاملهای لینوکسی به دلیل پایداری، امنیت ذاتی و متنباز بودن، در بسیاری از زیرساختهای حیاتی، سرورها، سرویسهای ابری و محیطهای سازمانی استفاده میشوند.
اما امنیت پیشفرض (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 یک راهنمای عملی و معتبر برای رسیدن به سطح امنیتی استاندارد و قابل اعتماد است.
با اجرای توصیههای این مقاله، سطح امنیت سیستمعامل لینوکسی شما بهطور چشمگیری افزایش مییابد و خطر نفوذ، سوءاستفاده یا حملات داخلی و خارجی تا حد زیادی کاهش پیدا میکند.


