رایجترین نقطه ورود مهاجمان
SSH معمولاً اولین و رایجترین سرویسی است که در معرض حملات brute-force قرار میگیرد، چون تقریباً همیشه به
اینترنت باز است. تنظیمات پیشفرض SSH برای امنیت کافی نیست و باید در فایل /etc/ssh/sshd_config
اصلاح شود.
› غیرفعال کردن ورود مستقیم root
PermitRootLogin no
› غیرفعال کردن ورود با رمز عبور، فقط کلید SSH مجاز باشد
PasswordAuthentication no
› تغییر پورت پیشفرض (فقط برای کاهش نویز اسکن خودکار، نه امنیت واقعی)
Port 2222
› محدود کردن کاربران مجاز به ورود
AllowUsers deploy admin
› محدود کردن تعداد تلاشهای ورود در هر اتصال
MaxAuthTries 3
پس از هر تغییر در این فایل، باید پیکربندی را تست و سپس سرویس را ریاستارت کرد:
sudo sshd -t
sudo systemctl restart sshd
نکته حیاتی: قبل از بستن ورود با رمز عبور، حتماً باید کلید SSH خودتان را از قبل روی سرور تنظیم و تست کرده
باشید؛ در غیر این صورت ممکن است دسترسی خودتان را کاملاً از دست بدهید. همچنین استفاده از ابزارهایی مثل
fail2ban که بهصورت خودکار IPهای مهاجم را پس از چند تلاش ناموفق مسدود میکند، لایه دفاعی خوبی
در کنار این تنظیمات است. تغییر پورت بهتنهایی امنیت واقعی ایجاد نمیکند و فقط حجم اسکنهای خودکار را کم
میکند؛ تکیه اصلی باید روی غیرفعال کردن ورود با رمز عبور باشد.
یک نکته عملی دیگر، مدیریت کلیدهای SSH خودشان است؛ هر کلید باید یک عبارت عبور (passphrase) محافظتشده
داشته باشد تا اگر فایل کلید خصوصی به هر شکلی افشا شد، بهتنهایی برای ورود کافی نباشد. همچنین برای تیمهایی
که چند نفر به یک سرور دسترسی دارند، استفاده از یک کلید مشترک برای همه توصیه نمیشود؛ هر عضو تیم باید کلید
اختصاصی خودش را داشته باشد تا در صورت خروج یک نفر از تیم، فقط کافی باشد کلید همان فرد از فایل
authorized_keys حذف شود، بدون نیاز به تغییر کلید همه اعضای دیگر.