سیستم تشخیص ورود غیرمجاز به سرور
آمار حملات به سرورها یک نکته را بهوضوح نشان میدهد: بیشتر نفوذهای موفق از راه ضعف پیکربندی SSH است، نه از راه آسیبپذیری نرمافزار.
گام اول: ورود با کلید عمومی
این مهمترین و مؤثرترین گام است.
“`bash
روی کامپیوتر خودتان
ssh-keygen -t ed25519 ssh-copy-id user@server “`
سپس در سرور، ورود با رمز را غیرفعال کنید:
“ PermitRootLogin no PasswordAuthentication no PubkeyAuthentication yes “
قبل از غیرفعال کردن رمز، حتماً با یک پنجره جدید تست کنید که کلید کار میکند. اگر اشتباه کنید، ممکن است دسترسی خود را از دست بدهید.
گام دوم: تغییر پورت
تغییر پورت SSH از ۲۲ به یک پورت تصادفی، جلوی بیشتر حملات خودکار را میگیرد.
این یک اقدام امنیت واقعی نیست، اما حجم حملات را بهشدت کم میکند و به شما زمان میدهد.
گام سوم: fail2ban
fail2ban تلاشهای ناموفق ورود را میبیند و IP مسدود میکند.
“bash sudo apt install fail2ban “
تنظیمات پیشفرض معمولاً کافی است. پس از نصب، مطمئن شوید سرویس فعال است.
گام چهارم: فایروال
“bash sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow 22/tcp sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw enable “
قانون پایه: ورودی را مسدود کن، خروجی را باز بگذار، سپس فقط سرویسهای لازم را باز کن.
گام پنجم: ثبت و بررسی
لاگ ورود را بررسی کنید:
“bash sudo grep "Failed password" /var/log/auth.log | wc -l “
اگر این عدد ناگهان بالا رفت، احتمال حمله دارید.
برای پایش مستمر، ثبت رویداد را به یک سامانه مرکزی بفرستید تا الگوی حملات را ببینید.
گام ششم: کاربر غیرضروری را حذف کنید
اکثر توزیعهای لینوکس کاربر root را برای ورود مستقیم مسدود کردهاند. از یک کاربر معمولی با دسترسی sudo استفاده کنید.
اشتباهات رایج
غیرفعال نکردن ورود با کلید: اگر رمز را فعال نگه دارید، حملات brute force ادامه پیدا میکنند.
نداشتن دسترسی جایگزین: همیشه کنسول فیزیکی یا دسترسی مدیریت از راه دور سرور را در دسترس نگه دارید.
بهروز نکردن سرویسها: پیکربندی خوب با نرمافزار قدیمی بیفایده است.
نداشتن بکاپ: هیچ مکانیزم امنیتی جای بکاپ regular را نمیگیرد. اگر بدافزاری سیستم را از کار بیندازد، بکاپ تنها راه بازگشت است.