امنیت سرور

امن‌سازی SSH روی سرور لینوکس در ۶ قدم

با چند تنظیم ساده، دسترسی SSH سرور لینوکس را در برابر حملات حدس رمز و دسترسی غیرمجاز محکم کنید.

فهرست مطالب
  1. ۱. کلید SSH بسازید
  2. ۲. کاربر غیر root بسازید
  3. ۳. تنظیمات SSH را سخت‌تر کنید
  4. ۴. فایروال را فعال کنید
  5. ۵. Fail2ban را نصب کنید
  6. ۶. تغییر پورت؟
  7. جمع‌بندی

تقریباً هر سروری که به اینترنت وصل شود، در چند دقیقه اول حملات حدس رمز روی SSH را می‌بیند. با چند تنظیم ساده می‌شود این حملات را بی‌اثر کرد.

قبل از شروع: همیشه یک نشست SSH دوم را باز نگه دارید تا اگر تنظیمی اشتباه بود، از همان نشست آن را برگردانید.

۱. کلید SSH بسازید

روی کامپیوتر خودتان (نه سرور):

ssh-keygen -t ed25519
ssh-copy-id user@your-server

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

sudo adduser deploy
sudo usermod -aG sudo deploy

۳. تنظیمات SSH را سخت‌تر کنید

فایل /etc/ssh/sshd_config.d/00-hardening.conf را بسازید:

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3
LoginGraceTime 30
AllowUsers deploy

نام فایل را با 00 شروع کنید. در OpenSSH اولین مقدار خوانده‌شده برای هر تنظیم برنده است و بعضی ایمیج‌های ابری فایلی مثل 50-cloud-init.conf دارند که ورود با رمز را فعال می‌کند.

sudo sshd -t
sudo systemctl reload ssh

سپس در یک ترمینال جدید وارد شوید و مطمئن شوید همه‌چیز کار می‌کند.

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

sudo ufw allow OpenSSH
sudo ufw enable

۵. Fail2ban را نصب کنید

sudo apt install fail2ban
sudo systemctl enable --now fail2ban

۶. تغییر پورت؟

عوض کردن پورت ۲۲ امنیت واقعی نمی‌دهد و فقط حجم لاگ‌های بی‌ارزش را کم می‌کند.

جمع‌بندی

ورود با کلید، بستن root، فایروال و Fail2ban مهم‌ترین لایه‌ها هستند. یک بار درست تنظیم کنید و در مستندات سرور ثبت کنید.

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

آیا غیرفعال کردن ورود با رمز عبور SSH امن‌تر است؟

بله. با ورود فقط با کلید، حملات حدس رمز عملاً بی‌اثر می‌شوند، به شرط اینکه کلید خصوصی محافظت شود.

آیا تغییر پورت SSH لازم است؟

نه. این کار امنیت واقعی نمی‌دهد و فقط حجم لاگ‌های مزاحم را کم می‌کند.

اول یک گفتگوی کوتاه

وضعیت سرورتان را بگویید. بعد از بررسی اولیه، بدون تعهد پیشنهاد روشن می‌دهم.

درخواست مشاوره