ورود

View Full Version : Maldet | نرم‌افزاری جهت تشخیص و پاکسازی بدافزار از سرورهای لینوکسی



mohammad_kheiry17
چهارشنبه 03 مرداد 1397, 11:47 صبح
http://s8.picofile.com/file/8332718884/download.jpg



با در نظر داشتن اینکه بدافزار و یا ویروس باعث اخلال در عملکرد سیستم و یا حذف اطلاعات شما و مشتریان شما میشود، خسارت هایی که به بار می آورد در مقابل هزینه های تامین امنیت به وسیله نرم افزارهای امنیتی سرور بسیار ناچیز است. در عین حال، وجود هر گونه بدافزار و یا ویروس باعث مصرف منابع سرورها و شبکه شما شده و علاوه بر کاهش سرعت پردازش شما، هزینه های بیشتری را به شما تحمیل می کنند.
در سیستم عامل های سرور، در صورت آغشته شدن آنها به ویروس با توجه به اینکه بسیاری از کاربران خدمات خود را به واسطه آنها دریافت می نماند، تمامی سیستم های متصل به آنها نیز آلوده خواهد شد.

بدافزار چیست؟


بدافزار ، ترکیبی از دو واژه Malicious Software می‌باشد که تحت‌الفظی به معنای نرم‌افزار مخرب است.





http://blog.mashhadhost.com/wp-content/uploads/2018/05/malware-300x154.jpg



هر نرم‌افزاری که با هدف اخلال در اجرای عادی سرور، به دنبال کسب اطلاعات حساس شخصی یا پیدا کردن دسترسی به سیستم در سرور یا سیستم باشد را بدافزار می‌نامند.

چگونه متوجه وجود بدافزار شویم؟


ممکن است شما در دراز مدت متوجه حمله بدافزاری در سیستم خود نشوید، شاید هم بشوید. گاهی اوقات هم خوانندگان سایت شما گزارش آنتی‌ویروس را به شما می‌دهند و متوجه می‌شوید. گاهی هم گوگل وبمسترز و یا بینگ وبمسترز آن را گزارش می‌کنند.
به هر حال‌ هنگامی که متوجه بدافزار شدید، گام اول این است که سیستم خود را ایمن کنید. اگر سیستم شما امن نباشد بنابراین پاکسازی آن کاری بیهوده‌ست. بنابراین ابتدا باید آن را ایمن کنید. از فایل‌ها و داده‌های خود بکاپ تهیه کنید. تمامی رمزهای عبور را تغییر دهید و سپس سیستم خود را از بدافزار پاک کنید.
مهم‌تر از آن این است که نباید منتظر واکنش خاصی پس از یک حمله بدافزاری باشید. می‌توانید تنظیم کنید تا بدافزار را به صورت دوره‌ای اسکن کند تا بتوانید در سریع‌ترین زمان ممکن آن‌ها را بیابید.

نرم‌افزار تشخیص بدافزار لینوکس (LMD)



نرم‌افزار Linux Malware Detect یا LMD که به Maldet نیز شهرت دارد، یک اسکنر بدافزار متن-باز برای لینوکس می‌باشد که تحت لایسنس GNU GPL نسخه ۲ است. این نرم‌افزار به منظور بررسی خطرات و تهدیدهایی که محیط‌های میزبانی اشتراکی را تهدید می‌کند ساخته شده است. پس از نصب، تنظیم و اجرای این نرم‌افزار رایگان می‌توانید بدافزارهای سیستم خود را شناسایی و آن‌ها را حذف کنید.

نصب و تنظیم Maldet



http://blog.mashhadhost.com/wp-content/uploads/2018/05/malware-300x225.png


برای نصب این نرم‌افزار لازم است با یوزر روت و یا یوزری که دسترسی روت دارد وارد شوید.فایل آخرین نسخه پایدار LMD یا maldet را با دستور زیر دریافت کنید.

حال فایل را با این دستور باز کنید.
sudo tar -xvf maldetect-current.tar.gz
دستور زیر را در ترمینال وارد کنید تا لیست فایل‌ها و فولدرهای مسیر فعلی را ببینید.
ls
در حال حاضر آخرین نسخه نرم‌افزار، ۱.۶.۲ می‌باشد که جهت ورود به فولدر برای اجرای اسکریپت نصب، این کد را وارد می‌کنیم.
cd maldetect-1.6.2
اکنون دستور زیر را وارد کنید تا نرم‌افزار نصب شود.
sudo ./install.sh
تبریک. نرم‌افزار نصب شد.

پیکربندی



برای تنظیم نرم‌افزار، فایل کانفیگ برنامه که در مسیر /usr/local/maldetect/conf.maldet قرار دارد باید ویرایش شود.
این فایل را می‌توانید با دستور زیر باز کنید.
nano /usr/local/maldetect/conf.maldet
تنظیمات زیر، برخی از تنظیمات معروف و رایج است که ممکن است آن‌ها را تنظیم کنید.
در صورتی که می‌خواهید در صورت وجود بدافزار ، از طریق ایمیل آگاه شوید این گزینه‌ها را باید تنظیم کنید.
email_alert: در صورتی که می‌خواهید هر زمان که یک فایل مشکوک شناسایی شد به شما ایمیل ارسال شود‌ این گزینه را روی ۱ تنظیم کنید.
email_addr: آدرس ایمیلی که پیام‌ها به آن ارسال شوند را وارد کنید. این گزینه و email_alert به هم ارتباط دارند.
email_ignore_clean: هنگامی که بدافزارها پاک شدند (دو گزینه بعدی را مشاهده کنید)، ایمیل‌های هشدار را ارسال نمی‌کند. این گزینه به صورت پیش‌فرض غیرفعال است. برای فعال‌سازی لازم است مقدار آن را بر روی ۱ تنظیم کنید. فعال بودن این گزینه باعث می‌شود تا اسکن روزانه خودکار، بدافزارها را شناسایی و حذف کند و به شما برای این مورد ایمیلی ارسال نشود.
بر سر فایل‌های آسیب دیده چه می‌آید؟ گزینه‌های زیر می‌توانند فایل‌ها را قرنطینه کنند (انتقال فایل‌ها به مکانی امن که خطری ایجاد نکنند).
quarantine_hits: مقدار پیش‌فرض این گزینه ۰ است. می‌توانید این گزینه را روی ۱ تنظیم کنید تا فایل‌های آسیب دیده قرنطینه شوند.
quarantine_clean: مقدار پیش‌فرض این گزینه ۰ است. این گزینه در صورتی کار می‌کند که quarantine_hits روی ۱ تنظیم شود. در صورتی که quarantine_clean روی ۱ تنظیم شود، فایل‌های قرنطینه شده بعدا از روی سیستم یا سرور حذف می‌شوند و سیستم شما عاری از بدافزار می‌شود. اگر می‌خواهید فایل‌ها را پیش از حذف شدن بررسی کنید، این گزینه را روی ۰ تنظیم کنید.
گزینه‌های زیر برای محیط چندکاربره مناسب است.
quarantine_suspend_user: این گزینه به صورت پیش‌فرض غیرفعال و روی ۰ تنظیم است. در صورتی که این گزینه روی ۱ تنظیم شود، فعال می‌شود و کاربرانی که بدافزار دارند ساسپند می‌شوند. برای کار کردن این گزینه، باید quarantine_hits نیز فعال باشد.
quarantine_suspend_user_minuid : این گزینه مربوط به حداقل یوزر آی دی است که می‌توان ساسپند کرد. مقدار پیش‌فرض این گزینه ۵۰۰ است.
inotify_minuid: حداقل یوزر آی دی که می‌توان آن را مانیتور و بررسی کرد. مقدار پیش‌فرض این گزینه ۵۰۰ است.
inotify_docroot: وب دایرکتوری (web directory) که متناسب با home directory کاربران است. مقدار پیش‌فرض این گزینهpublic_html است. در صورتی که این گزینه تنظیم شود، تنها دایرکتوری وب مانیتور می‌شود.
پس از انجام این تغییرات، اکنون می‌توانید فایل را ذخیره کنید و ببندید.

اسکن و تنظیمات اسکن



برای یک اسکن ساده، maldet را با دستور –scan-all و یک مسیر اجرا کنید. این دستور ابتدا لیستی از فایل‌های موجود در شاخه مورد نظر و زیرشاخه‌های آدرس داده را ایجاد می‌کند. سپس تمامی فایل‌ها را اسکن و به شما تعداد فایل‌ها را اعلام می‌کند. هم‌چنین گزارشی از فایل‌ها به شما می‌دهد که می‌توانید با استفاده از آن به بررسی فایل‌های مشکوک بپردازید. هم‌چنین دقت کنید که باید مسیر کامل را وارد کنید و نوشتن مسیر نسبی مجاز نیست.
sudo maldet –scan-all /home/username/public_html
لطفا در نظر داشته باشید که گزینه scan_ignore_root‌ در فایل کانفیگ به صورت پیش‌فرض روی ۱ قرار دارد. این امر باعث می‌شود تا فایل‌هایی که owner آن‌ها root باشد، maldet آن‌ها را نادیده بگیرد. پیشنهاد می‌کنیم مقدار پیش‌فرض را تغییر ندهید چرا که فرض بر این است که پسورد روت شما لو نرفته است و بدافزار در فایل‌های روت تزریق نشده باشد. در صورتی که می‌خواهید فایل‌هایی که owner آن‌ها روت است نیز اسکن شود این گزینه را به ۰ تغییر دهید. این تغییر باعث می‌شود اسکن به کندی انجام شود. احتیاط کنید.
پس از إتمام اسکن، فایلی تولید می‌شود که می‌توانید فایل گزارش را باز و آن را بررسی کنید.

قرنطینه کردن فایل‌های آسیب دیده



در صورتی که quarantine_hits روی ۱ تنظیم شود، maldet نه تنها فایل،های مخرب را اسکن می‌کند بلکه آن‌ها را قرنطینه می‌کند تا یوزرها دیگر به این فایل‌ها دسترسی نداشته باشند.
در صورتی که quarantine_clean روی ۰ تنظیم شده باشد، در این حالت می‌توانید فایل‌های آسیب دیده و محل قرنطینه آن‌ها را مشاهده کنید و تصمیم بگیرید که می‌خواهید حذف‌شان کنید یا خیر.
اگر quarantine_hits را روی ۰ تنظیم کردید و اسکنی انجام دادید، نیازی نیست که آن را روی ۱ بگذارید و دوباره اسکن کنید. بلکه با دستور زیر می‌توانید تمامی بدافزارهای اسکن قبلی را به قرنطینه منتقل کنید.
sudo maldet –quarantine SCANID

قرنطینه و پاکسازی فایل‌های آسیب دیده



اگر quarantine_clean روی ۱ تنظیم باشد، maldet نه تنها فایل‌های آسیب دیده را قرنطینه می‌کند بلکه آن‌ها را حذف نیز می‌کند.
اگر مقادیر quarantine_hits یا quarantine_clean را روی ۰ تنظیم و اسکن کردید، با دستور زیر می‌توانید پاکسازی را انجام دهید.
sudo maldet –clean SCANID

بازیابی فایل



اگر فکر می‌کنید فایلی به اشتباه بدافزار شناسایی و قرنطینه شد و یا خود شما فایل را به صورت دستی حذف کردید و اکنون می‌خواهید آن‌ها را ریستور کنید، دستور زیر مناسب این کار است.
sudo maldet –restore FILENAME
دستور زیر نیز می‌تواند محل دقیق فایل قرنطینه شده را ریستور کند.
sudo maldet –restore /usr/local/maldetect/quarantine/FILENAME

وایلد کارد اسکن



در maldet می‌توانید وایلد کارد اسکن نیز انجام دهید. کاراکتر وایلد کارد، ? یا علامت سوال می‌باشد.
sudo maldet –scan-all /home/?/public_html/
عملکرد وایلد کارد اسکن به این شکل است که تمامی دایرکتوری‌های موجود در /home را بررسی می‌کند و هر فولدری که فولدرpublic_html را در داخل خود داشته باشد هم اسکن می‌کند.

اسکن قبلی



در صورتی که می‌خواهید مسیری که قبلا اسکن کرده‌اید را دوباره اسکن کنید، اما تنها فایل‌هایی که در طول این مدت ایجاد یا ویرایش شده‌اند اسکن شوند، باید از دستور –scan-recent به همراه تعداد n روز استفاده کنید.
sudo maldet –scan-recent /home/username/public_html/ 7
دستور بالا مسیر مورد نظر ما را دوباره اسکن می‌کند و فایل‌هایی که در طی ۷ روز اخیر ایجاد یا ویرایش شده‌اند را اسکن می‌کند.

اسکن خودکار دوره‌ای


با استفاده از ویژگی کرون‌جاب، maldet می‌تواند روزانه به صورت اتوماتیک اسکن کند. هنگام نصب، LMD یک کرون‌جاب در مسیر/etc/cron.daily/maldet ایجاد می‌کند.
این کرون‌جاب signatureها را آپدیت می‌کند و اطلاعات بدافزارهای جدید را در registry خود قرار می‌دهد و تمام دایرکتوری‌های پوشه home و تغییرات اخیر انجام شده روی سرور را اسکن می‌کند. هنگامی که بدافزاری را شناسایی کند، به آدرس ایمیلی که در فایل تنظیمات وارد شده ایمیل ارسال می‌کند.

مانیتورینگ


با استفاده از گزینه‌های مربوط به inotify می‌توان به صورت real-time فایل‌هایی که کاربران ایجاد، ویرایش یا جابجا می‌کنند را مانیتور کرد. مانیتورینگ به یکی از این سه روش زیر و یا هر سه روش ممکن است.

مانیتورینگ کاربران



دستور زیر باعث می‌شود تا تمامی کاربرانی که یوزر آی دی بزرگ‌تر از inotify_minuid دارند، دایرکتوری home آن‌ها را مانیتور کند. در صورتی که کاربری وب دایرکتوری هم داشته باشد و inotify_docroot تنظیم شده باشد، وب دایرکتوری نیز مانیتور می‌شود.
sudo maldet –monitor users

مانیتورینگ مسیرها



هم‌چنین صرفا می‌توانید مسیرهای مختلف را نیز با دستور –monitor مانیتور کنید. هر مسیر را با یک کاما , از یکدیگر جدا کنید.
sudo maldet –monitor PATH1,PATH2,…PATHN
مثال:
sudo maldet –monitor /tmp,/home,/var
مانیتورینگ فایل‌ها



در صورتی که می‌خواهید صرفا فایل‌ها مانیتور شوند، از دستور زیر می‌توانید استفاده کنید. هر فایل را با یک کاما , از یکدیگر جدا کنید.
sudo maldet –monitor FILE1,FILE2,…FILEN

مستثنی کردن فایل‌ها یا مسیرها


با maldet می‌توانید فایل‌ها یا مسیرهای خاصی را از اسکن کردن مستثنی کنید.
فایل‌ها یا مسیرهایی که می‌خواهید از اسکن روزانه مستثنی شود را در هر خط جداگانه در این فایل وارد کنید.
/usr/local/maldetect/ignore_paths
امضاهایی که می‌خواهید از اسکن روزانه مستثنی شوند را در هر خط جداگانه در این فایل وارد کنید.
/usr/local/maldetect/ignore_sigs
فایل‌ها یا مسیرهایی که می‌خواهید از مانیتورینگ inotify مستثنی شوند را در هر خط جداگانه در این فایل وارد کنید.
/usr/local/maldetect/ignore_inotify
پسوندهایی که می‌خواهید از اسکن روزانه مستثنی شوند را در هر خط جداگانه در این فایل وارد کنید.
/usr/local/maldetect/ignore_file_ext
مثال:
.png
.jpg
هم‌چنین با استفاده از دستور زیر می‌توانید تمامی گزینه‌های دستوری maldet را با استفاده از help آن مشاهده کنید.
sudo maldet –help
اگر مدیریت سرور دست شماست (سرور اختصاصی یا مجازی)، ممکن است که هکرها بدافزاری به سیستم شما تزریق کنند. برای پیش‌گیری این مورد، پیشنهاد می‌کنیم با نصب maldet سیستم خود را امن کنید و از چنین حملاتی در امان بمانید.
نکته: هنگام تهیه این آموزش از لینوکس مینت ۱۸.۳ سیلویا و maldet نسخه ۱.۶.۲ استفاده شده است.