OffshoreVps
امنیت25 سپتامبر 20269 دقیقه مطالعهنوشته‌ی تیم OffshoreVps

چگونه یک VPS لینوکسی جدید را در ۱۵ دقیقه ایمن کنیم

چک‌لیست آماده‌ی کپی و جای‌گذاری برای VPS تازه‌ی Ubuntu یا Debian: کلیدهای SSH، کاربر غیر root، فایروال، fail2ban، به‌روزرسانی خودکار و پایش پایه.

یک VPS جدید با آدرس IP عمومی ظرف چند دقیقه شروع به دریافت تلاش‌های ورود خودکار می‌کند. هیچ‌کدام شخصی نیست؛ ربات‌ها به‌سادگی همه آدرس‌ها را اسکن می‌کنند. چند گام ساده تقریباً همه آن‌ها را متوقف می‌کند. این چک‌لیست یک سرور تازه Ubuntu 24.04 یا Debian 12/13 را فرض می‌کند و حدود پانزده دقیقه طول می‌کشد.

پنجره‌ی ترمینال روی یک VPS که دستورهای ایمن‌سازی VPS جدید را نشان می‌دهد، با «apt update && apt full-upgrade -y» شروع می‌شود
نوع دستورهایی که در این راهنما روی سرور خود اجرا می‌کنید.

1. اول همه‌چیز را به‌روز کنید

apt update && apt full-upgrade -y
reboot

پس از ریبوت دوباره وارد شوید. همیشه از یک سیستم کاملاً وصله‌شده شروع کنید.

2. یک کاربر غیر root بسازید

کار دائمی با root هر اشتباه تایپی را خطرناک می‌کند. یک کاربر عادی با دسترسی sudo بسازید:

adduser deploy
usermod -aG sudo deploy

3. کلیدهای SSH را راه‌اندازی کنید

روی کامپیوتر خودتان، اگر جفت کلید ندارید بسازید و نیمه عمومی را به سرور کپی کنید:

ssh-keygen -t ed25519 -C "my-vps"
ssh-copy-id deploy@YOUR_SERVER_IP

یک ترمینال دوم باز کنید و پیش از ادامه تأیید کنید می‌توانید با کلید به‌عنوان deploy وارد شوید. تا آن موقع نشست اصلی خود را نبندید.

4. ورود با رمز و ورود root را خاموش کنید

پیکربندی دیمون SSH را ویرایش کنید:

sudo nano /etc/ssh/sshd_config.d/99-hardening.conf

این خط‌ها را در فایل قرار دهید:

PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3

نحو را بررسی کنید و بارگذاری مجدد کنید:

sudo sshd -t && sudo systemctl reload ssh

5. فایروال را فعال کنید

UFW ساده‌ترین گزینه است. اول SSH را مجاز کنید، سپس فایروال را روشن کنید:

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 80,443/tcp   # only if you run a web server
sudo ufw enable
sudo ufw status verbose

فقط برای سرویس‌هایی که واقعاً اجرا می‌کنید پورت باز کنید. بقیه‌چیز به‌طور پیش‌فرض بسته می‌ماند.

گام‌های این راهنما به ترتیب: ۱. ۱. ابتدا همه‌چیز را به‌روز کنید؛ ۲. ۳. کلیدهای SSH را راه بیندازید؛ ۳. ۵. فایروال را فعال کنید؛ ۴. ۶. fail2ban را اضافه کنید؛ ۵. ۸. بررسی کنید چه چیزی در حال گوش دادن است؛ ۶. بعد چه کنیم
گام‌های این راهنما به ترتیب.

6. fail2ban را اضافه کنید

Fail2ban لاگ‌ها را زیر نظر دارد و آدرس‌هایی را که مدام ورود ناموفق دارند موقتاً مسدود می‌کند.

sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

پیش‌فرض‌ها برای SSH مناسب‌اند. چون قبلاً رمزها را غیرفعال کرده‌اید، این بیشتر نویز لاگ و مصرف بیهوده CPU را کم می‌کند.

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

sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

این وصله‌های امنیتی را خودکار نصب می‌کند. گاهی برای به‌روزرسانی کرنل ریبوت کنید یا بگذارید ابزار در ساعتی آرام این کار را بکند.

8. بررسی کنید چه چیزی گوش می‌دهد

sudo ss -tulpn

هر چیزی که روی 0.0.0.0 گوش می‌دهد و انتظارش را نداشتید ارزش بررسی دارد. سرویس‌هایی که فقط برای استفاده محلی‌اند (پایگاه‌های داده، کش‌ها، پنل‌های مدیریت) باید روی 127.0.0.1 گوش دهند.

9. پایش و پشتیبان‌گیری پایه

  • لاگ‌ها را ببینید با journalctl -u ssh --since today، هر از گاهی.
  • منابع را بررسی کنید با htop و df -h تا دیسک پر یا پردازش سرکش شما را غافلگیر نکند.
  • پشتیبان بگیرید. پیش از تغییرات بزرگ از سرور اسنپ‌شات بگیرید و از هر چیزی که نمی‌توانید بازسازی کنید یک نسخه خارج از سرور نگه دارید.

کار بعدی

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

پرسش‌های متداول

روی VPS جدید اول چه کاری انجام دهم؟

بسته‌ها را به‌روز کنید، یک کاربر غیر root بسازید، به کلیدهای SSH بروید، ورود با رمز عبور را غیرفعال کنید و فایروال را فعال کنید.

آیا باید پورت SSH را عوض کنم؟

نویز لاگ را کم می‌کند اما امنیت واقعی نیست. کلیدها و فایروال بسیار مهم‌ترند.