ویروس به عنوان نماینده همه این چیزای بد جا افتاده است. کلی منظوره. آنتی ویروسها هم فقط جلوی ویروس رو نمی گیرن. کلی فیچر باخود و بیخود امنیتی مثل فایروال هم دارند!
دیوار آتش که همراه خود توزیعها هست. اکثر توزیعها iptables یا nftables رو دارند. و همونطور که گفتید، این یه قابلیت بیخود برای آنتیویروسهای گنو/لینوکسی هست.
- آنتی ویروس لاگ جمع می کنه و می فرسته به کنسول مرکزی و در یه نقطه مرکزی سیستم ها از نظر آلودگی و مشکلات امنیتی شون قابل مانیتور میشن
به نظرم اگه قراره گزارشهای (لاگ) امنیتی جمعآوری و فرستاده بشه، گزینه بهتر این هست که سرویسهای auditd و sysstat و lynis روی اون سرورها نصب و فعال بشه تا گزارش تولید کنند.بعد میشه با استفاده از rsyslog یا ابزارهای مشابه، این گزارشها رو فرستاد به کنسول مرکزی.
- سیستم ها لزوما آپدیت شده نیستن چون همه لینوکسها رو نمیشه مرتب به روز کرد (اینو درست می گن: ما نرم افزاری داریم که به دلایلی نمی تونیم OS رو به روز کنیم چون نرم افزار از کار می افته و فعلا تا پچ شدن نرم افزار باید روی OS آپدیت نشده بمونیم. همین طور نرم افزاری داریم که جرئت نمی کنیم بدون یکی دو ماه کار کردن روی آپدیتش در محیط تست و stage، در محیط پروداکشن آپدیتش کنیم)
تا جایی که میدونم، بروزرسانیهای امنیتی باعث تغییر زیادی توی عملکرد برنامه نمیشن که مجبور باشید چیزی رو ارتقا ندید تا یه وقت مشکلی پیش نیاد.
میتونید مدیربسته رو جوری تنظیم کنید که تا وقتی مستقیم از اون درخواست نکردید، هیچ بروزرسانی به غیر از بروزرسانیهای امنیتی رو دریافت نکنه.
راه حل اصلی اینه که مشکلات امنیتی برنامهها رو رفع کنید به جای اینکه برید سراغ آنتیویروس. ممکنه یه بدافزار ناشناخته از طریق آسیبپذیری وارد سیستم بشه و آنتیویروس هم متوجه اون نشه.
اینکه بذارید بدافزارها وارد بشن و بعد بخواهید اونها رو پیدا کنید و جلوی اونها رو بگیرید، باید سختتر از این باشه که کلا نذارید بدافزارها از همون اول وارد بشن.
- روی OSها سرویسهای مختلفی نصبه که می تونن آسیب پذیری داشته باشن و بدافزارها از این آسیب پذیریا با دسترسی روت وارد میشن
تا جایی که میدونم، معمولا از یه سرور فقط برای یه سری کارهای محدود استفاده میشه. برای مثال یکی فقط وبسرور داره، یکی پایگاه داده روی اون هست، یکی کارهای مربوط به احراز هویت رو انجام میده، یکی برای nfs یا clusterfs و اینجور چیزها استفاده میشه، یکی تقسیم کننده بار (load balancer) هست و ...
به خاطر همین، معمولا روی یه سرور، چندین سرویس متفاوت اجرا نمیشه که دامنه تهدیدات امنیتی خیلی زیاد باشه.
تا جایی که میدونم، سرویسهای مرتبط با شبکه معمولا مستقیم با کاربر روت اجرا نمیشن. مثلا apache با دسترسی کاربر www-data اجرا میشه. در مورد سرویس مربوط به پایگاههای داده هم فکر کنم همینجور باشه.
این عملکرد به خاطر هست که اگه به اونها نفوذ شد، نفوذگر دسترسی روت بدست نیاره.
به غیر از اینها، اگه یه بدافزار دسترسی روت بدست بیاره، اونوقت میتونه آنتیویروس و بیشتر لایههای امنیتی رو دور بزنه. در این حالت کاربرد آنتیویروس چیه؟
تیم های توسعه اغلب مایلند با آخرین نسخه های برنامه ها و لایبراری ها کار کنن
مگه سیستمی که تیمهای توسعه از اون استفاده میکنند با سیستمی که در حال خدمتدهی هست متفاوت نیست؟ اگه اینجوره، پس چرا تیمهای توسعه از نسخه جدید سیستمعامل استفاده نمیکنند؟
به نظرم آنتیویروس برای این شرایط، فقط بدرد سیستمهایی میخوره که سیستمعامل اونها قدیمیه و برنامه داخل مخازن اونها دیگه بروزرسانی امنیتی دریافت نمیکنند.
برای بقیه سیستمها، دریافت منظم بروزرسانیهای امنیتی و پیکربندی درست باید از اونها در برابر بدافزارها محافظت کنه.
یه چیزی؛ با ابزار lynis میتونید یه بررسی امنیتی از سیستم بگیرید و ببینید وضعیت اون چجوری هست. آخر سر یه سری راهنما به همراه چندین لینک برای حل اون مشکلات به نمایش میذاره.