بهینه‌سازی و پیکربندی امنیتی SSH در دایرکت ادمین

بهینه‌سازی و پیکربندی امنیتی SSH در دایرکت ادمین

SSH (Secure Shell) یکی از مهم‌ترین ابزارهای دسترسی به سرور است که امکان مدیریت و کنترل سرور از راه دور را با امنیت بالا فراهم می‌کند. با این حال، اگر تنظیمات امنیتی مناسبی انجام نشود، سرور شما در معرض حملات مختلف قرار می‌گیرد. در این مقاله، نحوه بهینه‌سازی و پیکربندی امنیتی SSH در دایرکت ادمین به صورت گام‌به‌گام بررسی می‌شود.

چرا امنیت SSH اهمیت دارد؟

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

پیش‌نیازهای بهینه‌سازی و پیکربندی SSH

قبل از شروع، پیش‌نیازهای زیر را فراهم کنید:

  1. دسترسی ریشه (Root Access) به سرور
  2. نصب دایرکت ادمین روی سرور
  3. یک ویرایشگر متن برای ویرایش فایل‌های پیکربندی (مانند nano یا vim)

مراحل پیکربندی امنیتی SSH

1. تغییر پورت پیش‌فرض SSH

پورت پیش‌فرض SSH (22) یکی از نقاط ضعف رایج است، زیرا مهاجمان اغلب این پورت را هدف قرار می‌دهند. برای تغییر پورت:


sudo nano /etc/ssh/sshd_config

خط زیر را پیدا کرده و مقدار جدیدی (مانند 2022) جایگزین کنید:


Port 2022

سپس سرویس SSH را ریستارت کنید:


sudo systemctl restart sshd

2. غیرفعال کردن دسترسی Root

دسترسی مستقیم Root می‌تواند امنیت سرور را کاهش دهد. برای غیرفعال کردن آن:


sudo nano /etc/ssh/sshd_config

خط زیر را پیدا کرده و مقدار آن را تغییر دهید:


PermitRootLogin no

این تغییر باعث می‌شود که فقط کاربران غیر Root با مجوز‌های مناسب به سرور دسترسی داشته باشند.

3. فعال‌سازی احراز هویت کلید عمومی

استفاده از کلید عمومی (Public Key) به جای رمز عبور، امنیت دسترسی به سرور را به طور قابل‌توجهی افزایش می‌دهد:

    1. روی سیستم محلی خود، یک جفت کلید عمومی-خصوصی ایجاد کنید:


ssh-keygen -t rsa -b 4096

    1. کلید عمومی را به سرور انتقال دهید:


ssh-copy-id user@server_ip

    1. اطمینان حاصل کنید که تنظیمات زیر در فایل sshd_config فعال باشد:


PubkeyAuthentication yes

4. محدود کردن آدرس‌های IP مجاز

می‌توانید دسترسی به SSH را تنها به آدرس‌های IP خاصی محدود کنید:


sudo nano /etc/hosts.allow

خط زیر را اضافه کنید:


sshd: 192.168.1.100

سپس در فایل hosts.deny تمام دسترسی‌های دیگر را مسدود کنید:


sshd: ALL

5. تنظیم محدودیت تعداد تلاش‌ها

برای جلوگیری از حملات Brute Force، می‌توانید محدودیت تعداد تلاش‌های ناموفق را تنظیم کنید:


sudo nano /etc/ssh/sshd_config

خط زیر را اضافه کنید:


MaxAuthTries 3

6. نصب فایروال برای مدیریت دسترسی‌ها

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


sudo ufw allow 2022/tcp
sudo ufw enable

نکات پیشرفته برای بهینه‌سازی SSH

برای بهبود عملکرد و امنیت بیشتر، نکات زیر را رعایت کنید:

    • استفاده از الگوریتم‌های رمزنگاری قوی (مانند aes256-ctr)
    • غیرفعال کردن نسخه‌های قدیمی پروتکل SSH:


Protocol 2

  • استفاده از ابزارهای نظارت مانند Fail2Ban برای شناسایی و مسدود کردن تلاش‌های ناموفق

عیب‌یابی مشکلات رایج SSH

در صورت بروز مشکل، راه‌حل‌های زیر را امتحان کنید:

    • اتصال SSH قطع است: تنظیمات فایروال و پورت‌های باز را بررسی کنید.
    • عدم پذیرش کلید عمومی: اطمینان حاصل کنید که مجوزهای پوشه .ssh و فایل authorized_keys صحیح است:


chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

  • دسترسی Root مسدود شده: یک کاربر با مجوز Sudo ایجاد کنید و از آن استفاده کنید.

نتیجه‌گیری

بهینه‌سازی و پیکربندی امنیتی SSH در دایرکت ادمین یکی از گام‌های اساسی برای محافظت از سرور است. با رعایت نکات و تنظیمات ارائه‌شده، می‌توانید امنیت دسترسی به سرور خود را افزایش دهید و از حملات مختلف جلوگیری کنید.

پیشنهاد ویژه

برای بهره‌مندی از خدمات حرفه‌ای هاستینگ و سرورهای ایمن، می‌توانید از خرید هاست از ماهان کلود استفاده کنید. این خدمات با کیفیت بالا و پشتیبانی ۲۴/۷، بهترین انتخاب برای نیازهای شما هستند.