ایمن سازی سرور لینوکس در 7 مرحله عملی برای Production VPS

ایمن سازی سرورهای لینوکسی بخش مهمی از امنیت زیرساخت سیستم است. تصویر کنید یک VPS جدید از یک دیتاسنتر تحویل گرفته اید. اولین لحظه ای که این سرور به اینترنت متصل می شود، به صورت خودکار اسکن ربات ها، حمله Brute Force و Exploit شروع خواهد شد!! زیرا تنظیمات پیش فرض توزیع هایی مانند اوبونتو و دبیان برای سادگی نصب طراحی شده اند نه برای محیط عملیاتی (Production)! در این تجربه عملی آذرسیس یک مسیر 7 مرحله ای برای آماده سازی و بررسی سرورهای Linux معرفی شده است. هر یک از مراحل با دلیل انجام دادن آن، روش پیاده سازی و نکات مهم بررسی می شود.
ایمن سازی سرورهای لینوکسی به سبک آذرسیس!
مرحله 1: به روزرسانی کامل سیستم (Security Patch Baseline)
باید آسیب پذیری های شناخته شده را ببندیم!
برای Ubuntu و Debian:
sudo apt update && sudo apt upgrade -y sudo apt autoremove -y
برای CentOS و RHEL:
sudo yum update -y
نکته مهم دیگر در این مرحله این است که در محیط Production باید unattended-upgrades را برای Patch خودکار فعال سازی کنید.
مرحله 2: System Security با SSH Hardening
همیشه به خاطر داشته باشید که SSH دروازه اصلی ورود هرگونه حمله های خارجی است. SSH همیشه مورد هدف اسکن های خودکار نیز قرار می گیرد بهتر است تنظیمات پیش فرض ان را تغییر دهید. پس باید پورت پیش فرض SSH را تغییر دهید:
sudo nano /etc/ssh/sshd_config Port 2222
حالا باید در این مرحله Login را در Root غیرفعال کنید:
PermitRootLogin no
دستور زیر Authentication را برای شما محدود می کند:
PasswordAuthentication no ChallengeResponseAuthentication no
هشدار مهم!! قبل از غیر فعال کردن Password حتماً باید SSH Key را امتحان کرده باشید. سپس با زدن سطر زیر SSH ریستارت خواهد شد:
sudo systemctl restart ssh
مرحله 3: احراز هویت به وسیله فعالسازی SSH Key Authentication
ssh-keygen -t rsa -b 4096 ssh-copy-id user@server-ip
دستور بالا امنیت Cryptographic Key و حذف کامل Password Brute Force را برای Secure Linux Server انجام می دهد.
مرحله 4: راه اندازی فایروال (Firewall Baseline)
اکنون باید فایروال را به درستی راه اندازی کنید. برای این کار دستورهای زیر را بزنید.
Ubuntu:
sudo ufw allow 2222/tcp sudo ufw allow OpenSSH sudo ufw enable
CentOS:
sudo firewall-cmd --permanent --add-port=2222/tcp sudo firewall-cmd --reload
مرحله 5: نحوه نصب Fail2Ban داخل سرور (Intrusion Prevention)
برای افزایش سطح امنیت در قسمت SSH ابزار Fail2Ban علاوه بر نصب اولیه نیاز به تنظیمات دقیق دارید! این باعث می شود تا سرور بتواند حملات Brute Force را به صورت هوشمند مدیریت کند. پس فایل تنظیمات اختصاصی را ایجاد کنید:
sudo nano /etc/fail2ban/jail.local
سپس باید تنظیمات زیر را اضافه کنید که هر یک از پارامترها نیز مشخص شده اند:
- Maxretry: تعدا تلاش های ناموفق قبل از Ban شدن را نشان می دهد
- Findtime: بازه زمانی تلاش هایی که انجام داده شده را مشخص می کند
- Bantime: مدت زمانی که IP بلاک شده است را به شما نشان می دهد
[sshd] enabled = true port = 2222 maxretry = 5 findtime = 10m bantime = 1h
مرحله 6: بررسی پورت های باز (Attack Surface Reduction)
در ایمن سازی سرورهای لینوکسی به مرحله تنظیم فایروال رسیده ایم! در این مرحله تنها باز کردن Port ها کافی نیست و باید سیاست امنیتی استاندارد Default Deny Policy اجرا شود. پس اگر سیستم Ubuntu دارید، می توانید با UFW این سیاست را اجرا کنید:
sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow 2222/tcp sudo ufw enable
یا از خط زیر استفاده کنید:
ss -tuln
مرحله 7: محدودسازی سرویس های غیر ضروری
در نهایت تنها کاری که باید برای ایمن سازی سرورهای لینوکسی انجام دهید این است که سرویس های غیر ضروری را محدود کنید.
systemctl list-unit-files --type=service
و سپس
sudo systemctl disable service-name
سخن آخر
ایمن سازی سرور لینوکس عملیات یک باره نیست! بلکه یک فرآیند مداوم برای کاهش ریسک، کنترل دسترسی و حفظ پایداری زیر ساخت است. تجربیات مدیریت VPS های لینوکسی نشان داده است که تعدد مشکلات امنیتی به دلیل ابزارها نبوده و به خاطر تنظیمات اولیه اشتباه، دسترسی های اضافه و عدم بررسی سرویس های فعال است. در این راهنما تلاش کردیم تا مهم ترین مراحل سخت سازی امنیتی سرور لینوکس Linux Server Hardening را از بروز رسانی سیستم گرفته تا ایمن سازی SSH، تنظیمات فایروال و جلوگیری از حملات Brute Force به شکل عملی بررسی کنیم. اما پس از مراحل بالا، بهتر است وضعیت امنیتی VPS خود را با یک چک لیست بررسی کنید. همچنین اگر می خواهید به مطالعه بیشتر در این زمینه ادامه دهید نگاهی به مقاله های آذرسیس در مورد ایمن سازی سرورهای لینوکسی بیاندازید. فراموش نکنید سرور امن فقط سروری با ابزارهای امنیتی بیشتر نیست! بلکه یک سروری است که هر سرویس، دسترسی و پورت دلیل مشخصی برای فعال بودن داشته باشند.

