بلافاصله پس از خرید و تحویل سرور مجازی، اسکنرهای خودکار اینترنت شروع به ارسال حملات Brute Force برای حدس پسورد روت میکنند. رعایت اصول امنیت VPS در همان ساعات اولیه، تفاوت میان یک سرور نفوذناپذیر با یک سرور هکشده و قربانی باتنت را رقم میزند. در این راهنما، چکلیست ۱۰ مرحلهای امنسازی لینوکس را مرور میکنیم.
فهرست چکلیست امنسازی
- ۱. بهروزرسانی بستههای امنیتی سیستمعامل
- ۲. ساخت کاربر جدید و غیرفعالسازی لاگین مستقیم Root
- ۳. پیکربندی احراز هویت با کلید عمومی SSH Key
- ۴. تغییر پورت پیشفرض SSH برای کاهش حملات رباتها
- ۵. راهاندازی و تنظیم فایروال UFW
- ۶. نصب ابزار ضد نفوذ Fail2ban
- ۷. فعالسازی آپدیتهای امنیتی خودکار (Unattended Upgrades)
- ۸. غیرفعالسازی پورتهای بدون استفاده و سرویسهای غیرضروری
- ۹. ایمنسازی حافظه مشترک و تنظیم محافظت از هسته
- ۱۰. استراتژی بکاپگیری منظم و ایزوله
- سوالات متداول
۱. بهروزرسانی بستههای امنیتی سیستمعامل
اولین اقدام پس از اتصال به سرور، دریافت آخرین پچهای امنیتی هسته و پکیجهاست:
sudo apt update && sudo apt upgrade -y
۲. ساخت کاربر جدید و غیرفعالسازی لاگین مستقیم Root
ورود با اکانت root بزرگترین ریسک امنیتی است زیرا نام این کاربری برای تمام هکرها شناخته شده است. یک کاربر جدید با دسترسی sudo بسازید:
adduser secureuser
usermod -aG sudo secureuser
۳. پیکربندی احراز هویت با کلید عمومی SSH Key
احراز هویت مبتنی بر پسورد در برابر حملات字典 و باتنتها آسیبپذیر است. کلید عمومی SSH خود را در مسیر ~/.ssh/authorized_keys قرار داده و پس از اطمینان از اتصال، لاگین با پسورد را در فایل /etc/ssh/sshd_config غیرفعال کنید:
PasswordAuthentication no
PermitRootLogin no
۴. تغییر پورت پیشفرض SSH برای کاهش حملات رباتها
تغییر پورت ۲۲ به یک پورت دلخواه (مانند ۲۲۲۲ یا یک پورت ۵ رقمی) بیش از ۹۹ درصد از اسکنهای کور رباتهای خودکار را فیلتر میکند.
۵. راهاندازی و تنظیم فایروال UFW
فایروال پیشفرض لینوکس (UFW) را فعال کرده و فقط پورتهای ضروری را مجاز کنید:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp comment 'SSH Custom Port'
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
۶. نصب ابزار ضد نفوذ Fail2ban
ابزار Fail2ban لاگهای ورود ناموفق را رصد کرده و آیپی مهاجمان را پس از چند تلاش ناموفق بلاک میکند:
sudo apt install fail2ban -y
sudo systemctl enable --now fail2ban
این ابزار بار روی پردازنده سرور را هنگام حملات به شدت کاهش میدهد. در کنار فایروال محلی، شناخت روشهای دفاعی در برابر حملات حجیم در مقاله حمله DDoS چیست توضیح داده شده است.
۷. فعالسازی آپدیتهای امنیتی خودکار (Unattended Upgrades)
با فعالسازی بسته unattended-upgrades، وصلههای امنیتی بدون نیاز به لاگین مداوم ادمین به صورت خودکار شبها نصب میشوند.
۸. غیرفعالسازی پورتهای بدون استفاده و سرویسهای غیرضروری
با دستور sudo ss -tulpn تمام پورتهای باز را بازبینی کنید و هر سرویسی که نیازی به آن ندارید متوقف نمایید.
۹. ایمنسازی حافظه مشترک و تنظیم محافظت از هسته
با ویرایش فایل /etc/fstab و اضافه کردن گزینه noexec,nosuid به پارتیشن /dev/shm، از اجرای اسکریپتهای مخرب در دایرکتوریهای موقت جلوگیری کنید.
۱۰. استراتژی بکاپگیری منظم و ایزوله
هیچ تدبیر امنیتی ۱۰۰ درصدی نیست؛ بنابراین داشتن یک نسخه پشتیبان آفلاین و مستقل از دیتاسنتر ضروری است. تفاوت تهیه نسخه پشتیبان با اسنپشات را در مقاله تفاوت Snapshot و Backup بخوانید.
خرید سرور مجازی امن و ایزوله در تراست هاست
در سرور مجازی تراست هاست، ماشینهای مجازی بر روی هایپروایزرهای سختافزاری ایزوله و پشت فایروالهای لبه شبکه محافظت میشوند تا امنترین تجربه میزبانی را داشته باشید.
سوالات متداول
آیا تغییر پورت SSH برای امنیت VPS کافی است؟
خیر، تغییر پورت نوعی Security through obscurity است و تنها حجم لاگها و حملات ساده را کم میکند؛ احراز هویت با SSH Key و فعالسازی فایروال اقدامات اصلی امنسازی هستند.
در صورت فراموشی کلید SSH چگونه وارد سرور شویم؟
از طریق کنسول تحت وب VNC در پورتال کاربری میتوانید بدون نیاز به شبکه و SSH به ترمینال مستقیم سرور دسترسی پیدا کنید.