سختسازی VPS جدید
پاسخ
سختسازی VPS جدید حدود بیست دقیقه طول میکشد: ورود با رمز عبور و root را غیرفعال کنید، فقط ورود با کلید را فعال کنید، nftables را برای رد پیشفرض ورودی پیکربندی کنید، بهروزرسانیهای امنیتی خودکار را فعال کنید، و fail2ban را نصب کنید. این پنج مرحله اکثریت قریببهاتفاق نفوذهای دنیای واقعی را حذف میکند.
چه چیزی واقعاً سرورها را به خطر میاندازد
نه آسیبپذیریهای روز صفر. در عمل: حملهٔ brute force به رمز عبور SSH علیه اعتبارنامههای ضعیف، سرویسهای وصلهنشده که ماهها اجرا میشوند، پنلهای مدیریتی در معرض با رمزهای پیشفرض، و آسیبپذیریهای برنامه در چیزی که اپراتور نصب کرده. فهرست کسلکننده است و پانزده سال تغییر نکرده.
فهرست زیر بر اساس میزان ریسکی که هر مرحله به ازای هر دقیقه صرفشده حذف میکند مرتب شده. به ترتیب انجام دهید و وقتی صبرتان تمام شد متوقف شوید — باز هم بیشترِ ریسک را حذف کردهاید.
مرحلهٔ ۱ — فقط کلید SSH
این تغییر واحد رایجترین حمله را کاملاً از بین میبرد. یک کلید Ed25519 بسازید، نیمه عمومی را بالای سرور کپی کنید، سپس /etc/ssh/sshd_config را ویرایش کرده و PasswordAuthentication no، PermitRootLogin prohibit-password و KbdInteractiveAuthentication no را تنظیم کنید.
کلید را در ترمینال دوم قبل از بستن ترمینال اول آزمایش کنید. قفل کردن خودتان شرمآور است، و در ماشینی با دسترسی کنسول، کاملاً قابل بازیابی است — اما به هر حال به ترتیب درست انجامش دهید.
مرحله ۲ — فایروال پیشفرض رد
nftables در دبیان و اوبونتو جدید، یا firewalld در مشتقات RHEL. پیشفرض رد برای ورودی، پذیرش اتصالات برقرار و مرتبط، پذیرش پورت SSH شما، پذیرش آنچه بار کاری واقعاً نیاز دارد، و هیچ چیز دیگر.
انضباط مهم این است که «هیچ چیز دیگر» کل موضوع است. فایروالی که در هنگام اشکالزدایی یک قانون سهلگیرانه اضافه شده و هرگز حذف نشده، فایروالی است که هیچ کاری انجام نمیدهد.
- خط مشی پیشفرض: رد ورودی، پذیرش خروجی
- پذیرش اتصالات برقرار و مرتبط
- پذیرش loopback
- پذیرش پورت SSH شما، در حالت ایدهآل با محدودیت نرخ
- پذیرش پورتهای بار کاری، به صراحت فهرستشده
- پذیرش ICMP echo — کشف MTU مسیر را نشکنید
مرحله ۳ — بهروزرسانیهای امنیتی خودکار
unattended-upgrades در دبیان و اوبونتو، dnf-automatic در مشتقات RHEL، فقط برای بهروزرسانیهای امنیتی پیکربندی شده. بیشتر نفوذها از آسیبپذیریهایی بهره میبرند که ماهها قبل وصله شدهاند.
راهاندازی راهاندازی مجدد خودکار در یک پنجره نگهداری را فعال کنید اگر بار کاری آن را تحمل میکند. وصلههای هسته تا زمانی که ماشین راهاندازی مجدد نشود هیچ کاری نمیکنند، و سروری با ۴۰۰ روز آپتایم و یازده CVE هسته در انتظار، نشان افتخار نیست.
مرحله ۴ — fail2ban، و نکتهای درباره ارزش واقعی آن
با غیرفعال شدن احراز هویت رمز عبور، fail2ban نفوذهای واقعی نسبتاً کمی را متوقف میکند. کاری که میکند کاهش چشمگیر نویز لاگ است، که مهم است زیرا لاگ پر از هزاران تلاش ناموفق، لاگی است که هیچکس نمیخواند، و لاگهای خواندهنشده دلیل نادیده ماندن نفوذهای واقعی برای هفتهها هستند.
زندان پیشفرض sshd کافی است. برای هر چیز دیگری که در معرض اینترنت قرار میدهید، زندان اضافه کنید.
مرحله ۵ — کاهش سطح حمله
ss -tlnp را اجرا کنید و ببینید چه چیزی در حال گوش دادن است. در نصب پیشفرض معمولاً سرویسهایی وجود دارد که نمیدانستید در حال اجرا هستند و به آنها نیاز ندارید. آنها را حذف کنید به جای فایروال کردن — نرمافزاری که نصب نشده است آسیبپذیری ندارد.
سرویسهایی که فقط به دسترسی محلی نیاز دارند به جای 0.0.0.0 به 127.0.0.1 متصل کنید. پایگاه دادهای که روی همه رابطها پشت فایروال گوش میدهد یک پیکربندی اشتباه با عمومی شدن فاصله دارد.
چه چیزی را رها کنید
تغییر پورت SSH نویز لاگ را کاهش میدهد و دقیقاً صفر حمله هدفمند را متوقف میکند. اگر دوست دارید انجامش دهید، اما آن را به عنوان امنیت به حساب نیاورید. Port knocking شکنندگی را برای سود ناچیز اضافه میکند. سیستمهای تشخیص نفوذ هشدارهایی تولید میکنند که هیچکس در یک سرور واحد به آنها رسیدگی نمیکند.
اگر بعد از پنج مرحله بالا یک قدم معنادار دیگر میخواهید، آن پشتیبانگیری رمزگذاریشده خارج از سایت در حوزه قضایی متفاوت است که با بازیابی واقعی آزمایش شده است. قابلیت بازیابی بیش از یک لایه پیشگیری دیگر ارزش دارد.
سوالات متداول
01 آیا تغییر پورت SSH ارزشش را دارد؟
برای نویز لاگ، بله. برای امنیت، خیر — اسکنرهای فرصتطلب را متوقف میکند و صفر حمله هدفمند. اگر لاگهای آرامتر را دوست دارید انجامش دهید، اما آن را به عنوان کنترل به حساب نیاورید.
02 اگر از کلیدهای SSH استفاده میکنم به fail2ban نیاز دارم؟
برای امنیت مستقیم، به سختی. برای بهداشت لاگ، بله — هزاران تلاش ناموفق لاگها را غیرقابل خواندن میکند، و لاگهای خواندهنشده باعث میشوند نفوذهای واقعی نادیده بمانند.
03 آیا باید راهاندازی مجدد خودکار را فعال کنم؟
اگر بار کاری آن را تحمل میکند، بله، در یک پنجره نگهداری. وصلههای هسته تا زمان راهاندازی مجدد هیچ کاری نمیکنند. آپتایم طولانی با CVEهای هسته در انتظار، یک بدهی است، نه یک دستاورد.
مرتبط