چرا ایمنسازی SSH در لینوکس اهمیت دارد؟
پروتکل SSH (Secure Shell) از پایههای اصلی مدیریت سرورهای لینوکسی بهشمار میرود. این پروتکل امکان ارتباط رمزنگاریشده بین کاربر و سرور را فراهم میکند؛ اما اگر بهدرستی پیکربندی نشود، ممکن است در برابر حملات Brute Force، اسکنهای خودکار و دسترسیهای غیرمجاز آسیبپذیر باشد. چه از سرور مجازی لینوکس استفاده میکنید، چه روی یک سرور مجازی نیمهاختصاصی (VDS)، اعمال تنظیمات امنیتی صحیح برای SSH گام اول در محافظت از زیرساخت آنلاین شماست. در این راهنما، بهروزترین و کاربردیترین تکنیکهای ایمنسازی SSH را مرور میکنیم.
🔐 مهمترین تکنیکهای امنیتی SSH در لینوکس
-
تغییر پورت پیشفرض SSH (Port 22)
تقریباً تمام اسکنرهای خودکار روی پورت 22 تمرکز دارند. با تغییر این پورت، شانس دیده شدن توسط این ابزارها را کاهش میدهید. برای مثال، میتوانید پورت SSH را به عددی مثل 2222 یا 56789 تغییر دهید. البته دقت کنید تغییر پورت بهتنهایی امنیت را افزایش نمیدهد اما در کاهش حجم حملات بیهدف مؤثر است.
-
استفاده از Public/Private Key Authentication
رمز عبورهای پیچیده دیگر بهتنهایی کافی نیستند. با استفاده از کلیدهای SSH، امنیت ورود به سرور را چندین برابر افزایش دهید. نحوه کار به شرح زیر می باشد:
- کلید عمومی روی سرور ذخیره میشود.
- کلید خصوصی فقط در اختیار شماست.
- هنگام اتصال، سیستم شما با استفاده از کلید خصوصی، رمزنگاری انجام میدهد و سرور اعتبارسنجی را انجام میدهد.
مزایا استفاده از تأیید هویت با کلید عمومی/خصوصی:
- غیرقابل شکستن توسط حملات Brute Force
- بدون نیاز به وارد کردن پسورد هنگام اتصال
- مناسب برای استفاده روی سرورهای مهم مانند سرور مجازی فارکس یا سرور مجازی ترید
-
غیرفعال کردن دسترسی root به SSH
کاربر root قدرت مطلق دارد. به همین دلیل، هدف اول هکرهاست. توصیه میشود دسترسی مستقیم root را از طریق SSH غیرفعال کرده و از کاربر غیرممتاز + دستور sudo استفاده شود. قبل از غیرفعالسازی، حتماً مطمئن شوید کاربر جایگزین با دسترسی sudo دارید.
/etc/ssh/sshd_config → PermitRootLogin no
-
محدود کردن دسترسی به SSH فقط برای کاربران مجاز
بهصورت پیشفرض، هر کاربر سیستم میتواند سعی کند به SSH وصل شود. برای افزایش امنیت، لیست کاربران مجاز را بهصورت صریح مشخص کنید:
/etc/ssh/sshd_config → AllowUsers admin user2
-
اطمینان از استفاده از پروتکل SSH نسخه 2
نسخه 1 پروتکل SSH دارای ضعفهای امنیتی جدی است و باید غیرفعال شود:
/etc/ssh/sshd_config → Protocol 2
-
فعالسازی Fail2ban یا CSF برای جلوگیری از Brute Force
این ابزارها بهطور خودکار آیپیهایی که چندین بار ورود ناموفق دارند را بلاک میکنند.
-
فعالسازی احراز هویت دو مرحلهای (2FA)
با Google Authenticator یا ابزار مشابه میتوانید ورود به SSH را دو مرحلهای کنید.
-
غیرفعالسازی SSH در زمانهای خاص یا در سطح فایروال
میتوانید از cronjob یا اسکریپت bash برای فعال/غیرفعالسازی خودکار SSH استفاده کنید.
-
استفاده از DNS معکوس (Reverse DNS) برای ثبت دقیق دسترسیها
استفاده از DNS معکوس به شناسایی دقیق IP و تبدیل آن به نام دامنه کمک میکند. این فرآیند نقش مهمی در ثبت و لاگگیری دسترسیها، تشخیص منابع مشکوک، افزایش امنیت شبکه و بهبود اعتبار سرور در ارسال ایمیل ایفا میکند.
📎 جدول مقایسه تنظیمات پیشنهادی SSH
تنظیم امنیتی SSH | فایل یا ابزار مرتبط | توصیه امنیتی |
---|---|---|
تغییر پورت SSH | /etc/ssh/sshd_config | Port 2222 یا عددی غیرمعمول |
غیرفعالسازی دسترسی root | sshd_config | PermitRootLogin no |
احراز هویت با کلید | ssh-keygen | رمزنگاری قویتر از پسورد |
محدودسازی کاربران SSH | sshd_config → AllowUsers | فقط کاربران مجاز |
استفاده از نسخه SSH 2 | sshd_config → Protocol 2 | نسخه امن |
📌 چرا امنیت SSH برای سرور مجازی مهم است؟
اگر نمایندگی سرور مجازی دارید، باید بدانید که مسئولیت امنیت این سرورها بهعهده شماست. برخلاف هاست اشتراکی، تنظیمات پیشفرض سرورها اغلب باز هستند و نیاز به شخصیسازی دارند. همچنین در سرورهایی با کاربردهای حیاتی مانند سرور مجازی فارکس یا سرور مجازی ویژه ترید، اجرای درست تنظیمات امنیتی SSH میتواند مانع زیانهای مالی بزرگ شود.
امنیت SSH را جدی بگیرید
با اجرای گامهایی که در این راهنما معرفی شد، میتوانید بهطور قابلتوجهی امنیت سرور لینوکسی خود را افزایش دهید. از گامهای ساده مانند تغییر پورت گرفته تا اقدامات پیشرفتهتر مثل تایید هویت با کلید و فعالسازی فایروال، همگی در کنار هم یک لایهی امنیتی قدرتمند ایجاد میکنند. در نهایت، امنیت نه یک اقدام یکباره، بلکه فرآیندی پیوسته و رو بهبهبود است. اگر سوالی درباره تنظیمات SSH یا انتخاب سرور مناسب دارید، از طریق فرم تماس با ما یا گفتوگوی آنلاین در سایت، مشاوره رایگان دریافت کنید.