مقدمه
دنیای لینوکس به خاطر انعطافپذیری و قدرتش فوقالعاده محبوب است، اما اگر تنظیمات امنیتی را جدی نگیرید، حتی قویترین سرورها نیز در برابر حملات آسیبپذیر میشوند. سختسازی یا hardening لینوکس به معنای بستن نقاط ضعف سیستم و مقاومسازی آن با روشها و ابزارهای امن است. در این راهنما، گامبهگام و با استفاده از دستورات عملیاتی، یاد میگیرید چگونه امنیت لینوکس را در حد حرفهای بالا ببرید. اگر شما هم هاستینگ یا سایت وردپرسی روی سرور لینوکسی دارید، این مقاله مثل یک سپر حفاظتی واقعی برای شما عمل میکند.
مزیتهای سختسازی لینوکس
- جلوگیری از ورود هکرها
- کاهش قابلیت بهرهبرداری از آسیبپذیریها
- بالا بردن اطمینان کاربران و موتورهای جستجو مثل گوگل
- کنترل منابع و دسترسیها
۱. بروزرسانی و مدیریت بستهها
قدیمی بودن سیستم عامل و برنامهها یکی از شایعترین راههای نفوذ است.
sudo apt update && sudo apt upgrade -y # برای Debian/Ubuntu
sudo yum update -y # برای CentOS/RHEL
همیشه فقط منابع معتبر را به لیست سورسها اضافه کنید.
۲. غیرفعالسازی سرویسهای غیرضروری
سرویسهای اضافی حکم درِ باز برای هکرها دارند.
بررسی وضعیت سرویسها:
sudo systemctl list-unit-files --type=service
غیرفعال کردن:
sudo systemctl disable نــامسرویس
sudo systemctl stop نــامسرویس
۳. محدود کردن دسترسی روت (root)
اکانت root همیشه هدف شماره یک هکرها است.
محدود کردن لاگین روت با SSH:
در فایل /etc/ssh/sshd_config مقدار زیر را قرار دهید:
PermitRootLogin no
سپس ریستارت سرویس SSH:
sudo systemctl restart ssh
۴. فعالسازی فایروال (UFW/FirewallD)
فایروال اولین خط دفاع است.
برای Ubuntu:
sudo apt install ufw
sudo ufw enable
sudo ufw allow 22/tcp # دسترسی به SSH
sudo ufw allow 80,443/tcp # دسترسی به وب
sudo ufw status
برای CentOS:
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
sudo firewall-cmd --reload
۵. تنظیم محدودیت دسترسی فایلها و دایرکتوریها
هر سرویس فقط باید به منابع مورد نیازش دسترسی داشته باشد.
بررسی:
ls -l /مسیر/به/فایل
تغییر مالک:
sudo chown user:group file
تغییر مجوز:
sudo chmod 640 file
۶. فعال کردن SELinux یا AppArmor
این سیستمها فرآیندهای سیستمی را محدود میکنند.
بررسی وضعیت SELinux:
sestatus
# یا
getenforce
در توزیعهای Ubuntu معمولاً AppArmor فعال است:
sudo aa-status
۷. لاگبرداری پیشرفته و مانیتورینگ
لاگهای سیستم مثل جعبهسیاه سرور شما هستند.
فعالسازی auditd:
sudo apt install auditd
sudo systemctl enable auditd
sudo systemctl start auditd
۸. تحلیل امنیتی خودکار با ابزار Lynis
Lynis یکی از بهترین ابزارهای بازرسی امنیتی است.
sudo apt install lynis
sudo lynis audit system
این ابزار بهصورت خودکار راهکارهای امنیتی پیشنهاد میدهد.
۹. محدودسازی دسترسی به sudo
فقط کاربران خاص باید دسترسی sudo داشته باشند.
فایل /etc/sudoers را ویرایش و محدود کنید:
sudo visudo
۱۰. مدیریت کلیدهای SSH و غیرفعال سازی رمز عبور
اجازه دهید فقط کاربران با کلید SSH وارد شوند.
در فایل sshd_config مقدار زیر را قرار دهید:
PasswordAuthentication no
جمعبندی جدولوار 🔒
گام امنیتی | دستور یا ابزار | توضیح کوتاه |
---|---|---|
بروزرسانی سیستم | apt/yum update/upgrade | رفع آسیبپذیریها و باگها |
غیرفعالسازی سرویس | systemctl disable/stop | مسدودسازی نفوذ از سرویسهای غیرضروری |
بستن دسترسی روت | sshd_config | جلوگیری از نفوذ به واسطه اکانت root |
فعالسازی فایروال | UFW/FirewallD | کنترل دسترسی پورتها |
مجوز و مالکیت فایل | chmod/chown | حداقل کردن سطح دسترسی |
فعالسازی SELinux/AppArmor | sestatus/aa-status | اعمال سیاستهای امنیتی اضافی |
لاگبرداری و مانیتورینگ | auditd | تحت نظر گرفتن رفتار مشکوک کاربران و سرویسها |
تحلیل امنیتی | Lynis | بررسی امنیت با گزارش راهکارها |
محدودیت sudo | sudoers | تخصیص دسترسی فقط به افراد مورد نیاز |
SSH Key Only | sshd_config | ورود فقط با کلید، غیرفعال شدن پسورد |
برای یادگیری بهترین راهکارها و همچنین افزایش امنیت سایت وردپرسی خود، همیشه اطلاعات بهروز را دنبال کنید و سوالاتتان را از ما در Hostonic بپرسید!
نظر شما در مورد این مطلب چیه؟