EDR روی سرورهای لینوکس: داشبورد سبزه، ولی سرور واقعاً محافظت میشه؟
خلاصهٔ کاملتر
مقالهی Technologymatch با یه سناریوی آشنا شروع میشه: گزارش تست نفوذ میگه سه تا سرور لینوکس هیچ محافظتی ندارن، ولی داشبورد EDR (یعنی ابزاری که فعالیت پردازه، فایل و شبکه رو ثبت میکنه و حمله رو تشخیص میده) هر سه رو سبز نشون میده. نویسنده میگه پوشش EDR روی لینوکس پنج سطح داره: بدون agent، فقط آنتیویروس، EDR نصبشده ولی در حالت محدود، EDR کامل، و EDR کامل همراه با اطلاعات کانتینر و Kubernetes.
سطح سوم خطرناکترینه چون دیده نمیشه. مثلاً سنسور CrowdStrike وقتی کرنل پشتیبانی نشه میره تو Reduced Functionality Mode یا RFM، یعنی هیچ رویداد و تشخیصی پردازش نمیکنه ولی هنوز heartbeat میفرسته و تو کنسول آنلاین دیده میشه. Microsoft Defender هم اگه eBPF در دسترس نباشه میره سراغ Netlink و رویدادهای فایل و سوکت رو از دست میده. به گفتهی نویسنده، آنتیویروس تنها هم کافی نیست چون حملهها معمولاً با ابزارهای خود سیستم مثل bash، cron و SSH انجام میشن.
ریشهی مشکل کرنله. هر توزیع لینوکس کرنل خودشو با برنامهی خودش آپدیت میکنه و CrowdStrike میگه کرنلهای LTS جدید معمولاً روز انتشار با سنسور فعلی سازگار نیستن. سنسورها یا kernel module هستن (دید عمیق، ولی باید برای هر کرنل ساخته بشن و ممکنه سیستم رو کرش کنن) یا eBPF (یعنی برنامههای کوچیکی که کرنل قبل از اجرا بررسیشون میکنه). eBPF ریسک کمتری داره ولی بیخطر نیست: سال ۲۰۲۴ روی RHEL 9.4 با کرنلهای 5.14.0-410 به بعد، kernel panic گزارش شد.
نویسنده پیشنهاد میکنه اول وضعیت سنسور رو روی همهی سرورها با دستور سلامت خود فروشنده چک کنین. برای CrowdStrike جواب درست rfm-state=false هست و برای Defender باید healthy درست باشه و زیرسیستم رویداد ebpf باشه:
sudo /opt/CrowdStrike/falconctl -g --rfm-state
mdatp health --field healthy
mdatp health --field supplementary_events_subsystem
mdatp health --field passive_mode_enabledیه تلهی رایج هم هست: Defender for Servers روی لینوکس آنتیویروس رو در passive mode نصب میکنه، یعنی EDR فعاله ولی هیچ فایل مخربی رو مسدود نمیکنه. برای تعویض EDR هم مقاله هشت مرحله پیشنهاد میده: سرشماری کرنلها، پایلوت دو هفتهای روی ۵ تا ۱۰ سرور، سیاست آپدیت مرحلهای (گروه canary و بقیه روی N-1)، exclusion حداقلی برای دیتابیس و بکاپ، سنسور کانتینر، rollout حلقهای، حذف agent قدیمی و تست هشدار در ساعت غیرکاری. یعنی نصب agent سادهترین بخش کاره.
نکات کلیدی:
- سنسور CrowdStrike در حالت RFM هیچ تشخیصی نمیده ولی تو کنسول آنلاین دیده میشه
- Defender for Endpoint از نسخهی 101.23082.0006 بهطور پیشفرض از eBPF استفاده میکنه و auditd رو اکتبر ۲۰۲۴ حذف کرد
- هر build از Defender روی لینوکس بعد از نه ماه منقضی میشه
- SentinelOne روی لینوکس remediate و rollback نداره، فقط kill، quarantine و remote shell
- لایسنس Defender for Endpoint Plan 1 و Plan 2 سرورها رو پوشش نمیده و Defender for Servers لازمه




