این مقاله ۴۰ نکته ای شامل تنظیمات پیشرفته و best practice هایی برای hardening و امن کردن SSH server هستند که می توانند به طور قابل توجهی امنیت سرور را افزایش دهند...
برای اعمال تنظیمات، کافیست فایل /etc/ssh/sshd_config
را توسط یک ویرایشگر با کاربر root باز کنید و سپس مقادیر زیر را داخلش اعمال کنید:
(هر سیستم عاملی ممکن است نیاز به تفاوت های جزئی در اعمال تنظیمات داشته باشد)
1- Disable root login
غیرفعال کردن ورود مستقیم با کاربر root، جهت جلوگیری از دسترسی مستقیم به حساب root که میتواند خطرناک باشد.
پس خط زیر را اضافه کنید:
PermitRootLogin no
2- Use key-based authn
استفاده از Public key authn به جای رمزهای عبور... چون رمزهای عبور می توانند هک/bruteforce شوند، اما کلیدهای SSH ای بسیار امن تر هستند.
ابتدا یک کلید تولید کنید: ssh-keygen -t rsa -b 4096
سپس کلید pub را در مسیر ~/.ssh/authorized_keys قرار دهید.
3- Change default SSH port
تغییر پورت پیش فرض SSH server (22) جهت کاهش حملات scan پورت:
Port 2222
نکته: فایروال را هم باید تنظیم کنید.
4- Limit user access
محدود کردن کاربرانی که می توانند از SSH server استفاده کنند، بدلیل جلوگیری از دسترسی غیرمجاز:
AllowUsers user1 user
5- Disable password authn
غیرفعال کردن ورود با رمز عبور برای اجبار به استفاده از کلیدهای SSH ای:
PasswordAuthentication no