بیشتر سرورهایی که هک میشوند، قربانی یک آسیبپذیری پیچیده نیستند؛ قربانی تنظیمات پیشفرضی هستند که کسی عوضشان نکرده است. این ده قدم، بخش عمدهی حملات خودکار را از کار میاندازد.
۱ تا ۳ — دسترسی
- ورود روت با رمز را روی SSH ببندید و فقط کلید عمومی را مجاز کنید.
- یک کاربر معمولی با دسترسی
sudoبسازید و از همان استفاده کنید. - پورت SSH را از پیشفرض تغییر دهید؛ این کار امنیت واقعی اضافه نمیکند اما حجم نویز لاگها را بهشدت کم میکند.
PermitRootLogin no
PasswordAuthentication no
MaxAuthTries 3
۴ تا ۶ — سطح حمله
فایروال را با سیاست «همه بسته مگر آنچه لازم است» تنظیم کنید. سرویسهایی را که استفاده نمیکنید غیرفعال کنید و ببینید چه چیزی روی اینترفیس عمومی گوش میدهد:
sudo ss -tulpn | grep LISTEN
۷ تا ۱۰ — نگهداری
- بهروزرسانیهای امنیتی را خودکار کنید.
- ابزاری مثل fail2ban برای مسدودسازی تلاشهای مکرر ورود نصب کنید.
- یک نسخهی پشتیبان خارج از همان سرور نگه دارید و بازگردانیاش را واقعاً تست کنید.
- لاگهای ورود و خطا را دورهای مرور کنید؛ لاگی که کسی نمیخواند، وجود ندارد.
هیچکدام از این ده مورد بیش از چند دقیقه وقت نمیگیرد، اما مجموعشان تفاوت بین یک سرور امن و یک سرور در معرض است.
تغییر پورت SSH را بعضیها امنیت کاذب میدانند. نظر شما چیست؟
کاملاً درست است و در متن هم به همین اشاره شده؛ امنیت واقعی اضافه نمیکند. فایدهاش فقط کم شدن حجم تلاشهای خودکار و تمیزتر شدن لاگهاست.
پیشنهاد میکنم بخشی هم دربارهی تنظیم auditd اضافه کنید. برای سرورهای حساس خیلی کمککننده است.