ตรวจหามัลแวร์บนเครื่องเซิฟเวอร์ด้วย LMD (CENTOS 6.4)

ตรวจหามัลแวร์บนเครื่องเซิฟเวอร์ด้วย LMD (CENTOS 6.4)

LMD (Linux Malware Detect) เป็น Software ที่ถูกพัฒนาเพื่อหามัลแวร์บนเครื่อง Linux โดยเฉพาะซึ่งมีฟีเจอร์ที่ค่อนข้างคลอบคลุมทั้งการตรวจสอบมัลแวร์จาก signatures ที่มีการเข้ารหัส MD5 , HEX , Base64 , PHP Shell และ อื่นๆ (จะมีการอัพเดทฐานข้อมูลมัลแวร์ใหม่ๆจากเซิฟเวอร์ของผู้พัฒนาอยู่เสมอ) และจากที่ผมทดลองใช้มาก็ถือว่าค่อนข้างแม่นยำและเหมาะกับเว็บเซิฟเวอร์มากจึงอยากจะแนะนำให้ได้ทดลองใช้กันครับ ที่สำคัญเป็น Open Source ครับ

Features:

– MD5 file hash detection for quick threat identification
– HEX based pattern matching for identifying threat variants
– statistical analysis component for detection of obfuscated threats (e.g: base64)
– integrated detection of ClamAV to use as scanner engine for improved performance
– integrated signature update feature with -u|–update
– integrated version update feature with -d|–update-ver
– scan-recent option to scan only files that have been added/changed in X days
– scan-all option for full path based scanning
– checkout option to upload suspected malware to rfxn.com for review / hashing
– full reporting system to view current and previous scan results
– quarantine queue that stores threats in a safe fashion with no permissions
– quarantine batching option to quarantine the results of a current or past scans
– quarantine restore option to restore files to original path, owner and perms
– quarantine suspend account option to Cpanel suspend or shell revoke users
– cleaner rules to attempt removal of malware injected strings
– cleaner batching option to attempt cleaning of previous scan reports
– cleaner rules to remove base64 and gzinflate(base64 injected malware
– daily cron based scanning of all changes in last 24h in user homedirs
– daily cron script compatible with stock RH style systems, Cpanel & Ensim
– kernel based inotify real time file scanning of created/modified/moved files
– kernel inotify monitor that can take path data from STDIN or FILE
– kernel inotify monitor convenience feature to monitor system users
– kernel inotify monitor can be restricted to a configurable user html root
– kernel inotify monitor with dynamic sysctl limits for optimal performance
– kernel inotify alerting through daily and/or optional weekly reports
– e-mail alert reporting after every scan execution (manual & daily)
– path, extension and signature based ignore options
– background scanner option for unattended scan operations
– verbose logging & output of all actions

ขั้นตอนการติดตั้ง (CentOS 6.4)

1 > ดาวโหลด Linux Malware Detect (LMD)

# cd /root
# wget http://www.rfxn.com/downloads/maldetect-current.tar.gz

2 > ติดตั้ง LMD

# tar xfz maldetect-current.tar.gz
# cd maldetect-1.4.2
# chmod 775 install.sh
# sh install.sh

3 > ขั้นตอนการ Config

vi /usr/local/maldetect/conf.maldet

email_alert : หากให้มีการแจ้งเตื่อนไปที่ email ให้กำหนดเป็น 1
email_subj : หัวข้อ Email ที่ใช้สำหรับแจ้งเตื่อน
email_addr : ตั้งค่า Email ที่ใช้สำหรับแจ้งเตือน
quar_hits : หากตรวจพบมัลแวร์ กำหนด 0 คือให้แจ้งเตือนเฉยๆ กำหนด 1 เพือไม่กักกันไม่ให้มีการ execute ไฟล์ดังกล่าว
quar_clean : หากต้องการกำจัดมัลแวร์เลยให้กำหนดค่า 1
quar_susp : suspend Account ที่ตรวจสอบพบมัลแวร์ แนะนำค่า 0 นะครับเพราะอาจจะกระทบกับ service บางอย่างได้
quar_susp_minuid : ระยะเวลา suspend Account

# [ EMAIL ALERTS ]
##
# The default email alert toggle
# [0 = disabled, 1 = enabled]
email_alert=1
# The subject line for email alerts
email_subj=”maldet alert from $(hostname)”
# The destination addresses for email alerts
# [ values are comma (,) spaced ]
email_addr=”[email protected]”
# Ignore e-mail alerts for reports in which all hits have been cleaned.
# This is ideal on very busy servers where cleaned hits can drown out
# other more actionable reports.
email_ignore_clean=0
##
# [ QUARANTINE OPTIONS ]
##
# The default quarantine action for malware hits
# [0 = alert only, 1 = move to quarantine & alert]
quar_hits=1
# Try to clean string based malware injections
# [NOTE: quar_hits=1 required]
# [0 = disabled, 1 = clean]
quar_clean=1
# The default suspend action for users wih hits
# Cpanel suspend or set shell /bin/false on non-Cpanel
# [NOTE: quar_hits=1 required]
# [0 = disabled, 1 = suspend account]
quar_susp=0
# minimum userid that can be suspended
quar_susp_minuid=500

4 > วิธีการใช้งาน maldet

# maldet –scan-all /home

# maldet –quarantine SCANID
OR
# maldet –clean SCANID

สามารถตั้งค่าให้ maldet ทำงานทุกๆเวลาที่เราต้องการได้โดยแก้ไขค่า config ที่ไฟล์ /etc/cron.daily/maldet

ข้อมูลเพิ่มเติม
http://www.rfxn.com/projects/linux-malware-detect
http://www.tecmint.com/install-linux-malware-detect-lmd-in-rhel-centos-and-fedora/