วิธีติดตั้งและใช้ Linux Malware Detect (LMD) ด้วย ClamAV เป็น Antivirus Engine
มัลแวร์หรือซอฟต์แวร์ที่เป็นอันตราย คือชื่อที่กำหนดให้กับโปรแกรมใดๆ ที่มุ่งขัดขวางการทำงานปกติของระบบคอมพิวเตอร์ แม้ว่ามัลแวร์รูปแบบที่เป็นที่รู้จักมากที่สุดคือไวรัส สปายแวร์ และแอดแวร์ แต่อันตรายที่มัลแวร์ตั้งใจจะก่อให้เกิดอาจมีตั้งแต่การขโมยข้อมูลส่วนตัวไปจนถึงการลบข้อมูลส่วนตัว และทุกอย่างในระหว่างนั้น ในขณะที่การใช้มัลแวร์แบบคลาสสิกอีกอย่างหนึ่งก็คือการควบคุม เพื่อใช้ในการเปิดบอทเน็ตในการโจมตี (D)DoS
กล่าวอีกนัยหนึ่ง คุณไม่สามารถคิดว่า “ฉันไม่จำเป็นต้องรักษาความปลอดภัยระบบของฉันจากมัลแวร์เนื่องจากฉันไม่ได้จัดเก็บข้อมูลที่ละเอียดอ่อนหรือสำคัญใดๆ ” เนื่องจากข้อมูลเหล่านั้นไม่ใช่เป้าหมายเดียวของมัลแวร์
ด้วยเหตุนี้ ในบทความนี้ เราจะอธิบายวิธีการติดตั้งและกำหนดค่า Linux Malware Detect (หรือเรียกสั้นๆ ว่า MalDet หรือ LMD) พร้อมด้วย ClamAV (โปรแกรมป้องกันไวรัส) ใน RHEL 8/7/6 (โดยที่ x คือหมายเลขเวอร์ชัน), CentOS 8/7/6 และ Fedora 30-32 (คำสั่งเดียวกันนี้ใช้ได้กับ Ubuntu ) และระบบ เดเบียน)
เครื่องสแกนมัลแวร์ที่เผยแพร่ภายใต้ลิขสิทธิ์ GPL v2 ออกแบบมาเป็นพิเศษสำหรับสภาพแวดล้อมการโฮสต์ อย่างไรก็ตาม คุณจะรู้ได้อย่างรวดเร็วว่าคุณจะได้รับประโยชน์จาก MalDet ไม่ว่าคุณจะทำงานในสภาพแวดล้อมแบบใดก็ตาม
การติดตั้ง LMD บน RHEL/CentOS และ Fedora
LMD ไม่สามารถใช้งานได้จากที่เก็บข้อมูลออนไลน์ แต่แจกจ่ายเป็น tarball จากเว็บไซต์ของโครงการ tarball ที่มีซอร์สโค้ดของเวอร์ชันล่าสุดจะอยู่ที่ลิงก์ต่อไปนี้เสมอ ซึ่งสามารถดาวน์โหลดได้ด้วยคำสั่ง wget:
wget http://www.rfxn.com/downloads/maldetect-current.tar.gz
จากนั้นเราจำเป็นต้องแกะ tarball และเข้าสู่ไดเร็กทอรีที่แตกเนื้อหาออกมา เนื่องจากเวอร์ชันปัจจุบันคือ 1.6.4 ไดเรกทอรีจึงเป็น maldetect-1.6.4 ที่นั่นเราจะพบสคริปต์การติดตั้ง install.sh
tar -xvf maldetect-current.tar.gz
ls -l | grep maldetect
cd maldetect-1.6.4/
ls
หากเราตรวจสอบสคริปต์การติดตั้งซึ่งมีความยาวเพียง 75 บรรทัด (รวมความคิดเห็น) เราจะเห็นว่าสคริปต์ไม่เพียงติดตั้งเครื่องมือ แต่ยังทำการตรวจสอบล่วงหน้าเพื่อดูว่าไดเรกทอรีการติดตั้งเริ่มต้น ( /usr/local/maldetect) มีอยู่ ถ้าไม่เช่นนั้น สคริปต์จะสร้างไดเร็กทอรีการติดตั้งก่อนดำเนินการต่อ
สุดท้ายนี้ หลังจากการติดตั้งเสร็จสิ้น การดำเนินการรายวันผ่าน cron จะถูกกำหนดเวลาโดยการวางสคริปต์ cron.daily (ดูภาพด้านบน) ใน /etc/ cron.daily. เหนือสิ่งอื่นใด สคริปต์ตัวช่วยนี้จะล้างข้อมูลชั่วคราวเก่า ตรวจสอบ LMD รุ่นใหม่ และสแกนแผงควบคุม Apache และเว็บเริ่มต้น (เช่น CPanel, DirectAdmin เป็นต้น) ไดเร็กทอรีข้อมูลเริ่มต้น
ตามที่กล่าวไว้ ให้รันสคริปต์การติดตั้งตามปกติ:
./install.sh
การกำหนดค่าการตรวจจับมัลแวร์ Linux
การกำหนดค่าของ LMD ได้รับการจัดการผ่าน /usr/local/maldetect/conf.maldet และตัวเลือกทั้งหมดได้รับการวิจารณ์อย่างดีเพื่อทำให้การกำหนดค่าเป็นงานที่ค่อนข้างง่าย ในกรณีที่คุณติดขัด คุณสามารถดูคำแนะนำเพิ่มเติมได้ที่ /maldetect-1.6.4/README
ในไฟล์การกำหนดค่า คุณจะพบส่วนต่างๆ ต่อไปนี้ ซึ่งอยู่ในวงเล็บเหลี่ยม:
- การแจ้งเตือนทางอีเมล
- ตัวเลือกการกักกัน
- ตัวเลือกการสแกน
- การวิเคราะห์ทางสถิติ
- ตัวเลือกการติดตาม
แต่ละส่วนเหล่านี้ประกอบด้วยตัวแปรหลายตัวที่ระบุว่า LMD จะทำงานอย่างไรและมีคุณลักษณะใดบ้างที่ใช้งานได้
- ตั้งค่า email_alert=1 หากคุณต้องการรับการแจ้งเตือนทางอีเมลเกี่ยวกับผลการตรวจสอบมัลแวร์ เพื่อความกระชับ เราจะส่งต่อเมลไปยังผู้ใช้ระบบในเครื่องเท่านั้น แต่คุณสามารถสำรวจตัวเลือกอื่นๆ เช่น การส่งการแจ้งเตือนเมลไปยังภายนอกได้เช่นกัน
- ตั้งค่า email_subj=”เรื่องของคุณที่นี่” และ email_addr=username@localhost หากคุณได้ตั้งค่า email_alert=1 ไว้ก่อนหน้านี้
- ด้วย quar_hits การดำเนินการกักกันเริ่มต้นสำหรับการโจมตีมัลแวร์ (0=การแจ้งเตือนเท่านั้น 1=ย้ายไปยังการกักกันและการแจ้งเตือน) คุณจะบอก LMD ว่าต้องทำอย่างไรเมื่อตรวจพบมัลแวร์
- quar_clean จะช่วยให้คุณตัดสินใจว่าคุณต้องการล้างการแทรกมัลแวร์แบบสตริงหรือไม่ โปรดทราบว่าตามคำจำกัดความแล้ว ลายเซ็นสตริงคือ "ลำดับไบต์ที่ต่อเนื่องกันซึ่งอาจตรงกับตระกูลมัลแวร์หลายรูปแบบ"
- quar_susp ซึ่งเป็นการดำเนินการระงับเริ่มต้นสำหรับผู้ใช้ที่มี Hit จะช่วยให้คุณสามารถปิดการใช้งานบัญชีที่ไฟล์ที่เป็นเจ้าของถูกระบุว่าเป็น Hit
- clamav_scan=1 จะบอก LMD ให้พยายามตรวจจับการมีอยู่ของไบนารี ClamAV และใช้เป็นเครื่องมือสแกนเริ่มต้น ซึ่งให้ประสิทธิภาพการสแกนที่เร็วขึ้นถึง สี่เท่าและการวิเคราะห์ฐานสิบหกที่เหนือกว่า ตัวเลือกนี้ใช้ ClamAV เป็นเครื่องมือสแกนเท่านั้น และลายเซ็น LMD ยังคงเป็นพื้นฐานในการตรวจจับภัยคุกคาม
โดยสรุป บรรทัดที่มีตัวแปรเหล่านี้ควรมีลักษณะดังนี้ใน /usr/local/maldetect/conf.maldet:
email_alert=1
email_addr=gacanepa@localhost
email_subj="Malware alerts for $HOSTNAME - $(date +%Y-%m-%d)"
quar_hits=1
quar_clean=1
quar_susp=1
clam_av=1
การติดตั้ง ClamAV บน RHEL/CentOS และ Fedora
หากต้องการติดตั้ง ClamAV เพื่อใช้ประโยชน์จากการตั้งค่า clamav_scan ให้ทำตามขั้นตอนเหล่านี้:
เปิดใช้งานพื้นที่เก็บข้อมูล EPEL
yum install epel-release
จากนั้นทำ:
yum update && yum install clamd
apt update && apt-get install clamav clamav-daemon [Ubuntu/Debian]
หมายเหตุ: นี่เป็นเพียงคำแนะนำพื้นฐานในการติดตั้ง ClamAV เพื่อรวมเข้ากับ LMD เราจะไม่ลงรายละเอียดเท่าที่เกี่ยวข้องกับการตั้งค่า ClamAV เนื่องจากอย่างที่เรากล่าวไว้ก่อนหน้านี้ ลายเซ็น LMD ยังคงเป็นพื้นฐานสำหรับการตรวจจับและกำจัดภัยคุกคาม
การทดสอบการตรวจจับมัลแวร์ Linux
ตอนนี้ถึงเวลาทดสอบการติดตั้ง LMD/ClamAV ล่าสุดของเราแล้ว แทนที่จะใช้มัลแวร์จริง เราจะใช้ไฟล์ทดสอบ EICAR ซึ่งสามารถดาวน์โหลดได้จากเว็บไซต์ EICAR
cd /var/www/html
wget http://www.eicar.org/download/eicar.com
wget http://www.eicar.org/download/eicar.com.txt
wget http://www.eicar.org/download/eicar_com.zip
wget http://www.eicar.org/download/eicarcom2.zip
ณ จุดนี้ คุณสามารถรอให้งาน cron ถัดไปทำงานหรือดำเนินการ maldet ด้วยตนเองได้ เราจะไปกับตัวเลือกที่สอง:
maldet --scan-all /var/www/
LMD ยังยอมรับไวด์การ์ด ดังนั้นหากคุณต้องการสแกนเฉพาะไฟล์บางประเภท (เช่น ไฟล์ zip) คุณสามารถทำได้:
maldet --scan-all /var/www/*.zip
เมื่อการสแกนเสร็จสิ้น คุณสามารถตรวจสอบอีเมลที่ส่งโดย LMD หรือดูรายงานด้วย:
maldet --report 021015-1051.3559
โดยที่ 021015-1051.3559 คือ SCANID (SCANID จะแตกต่างออกไปเล็กน้อยในกรณีของคุณ)
ข้อสำคัญ: โปรดทราบว่า LMD พบ 5 Hit นับตั้งแต่ดาวน์โหลดไฟล์ eicar.com สองครั้ง (ซึ่งส่งผลให้เป็น eicar.com และ eicar.com.1)
หากคุณตรวจสอบโฟลเดอร์กักกัน (ฉันเพิ่งทิ้งไฟล์ไว้หนึ่งไฟล์และลบส่วนที่เหลือ) เราจะเห็นสิ่งต่อไปนี้:
ls -l
จากนั้น คุณสามารถลบไฟล์ที่ถูกกักกันทั้งหมดได้ด้วย:
rm -rf /usr/local/maldetect/quarantine/*
ในกรณีที่
maldet --clean SCANID
ไม่ทำงานด้วยเหตุผลบางประการ คุณอาจอ้างอิงถึง screencast ต่อไปนี้สำหรับคำอธิบายทีละขั้นตอนของกระบวนการข้างต้น:
ข้อพิจารณาขั้นสุดท้าย
เนื่องจาก maldet จำเป็นต้องรวมเข้ากับ cron คุณจึงต้องตั้งค่าตัวแปรต่อไปนี้ใน crontab ของรูท (พิมพ์ crontab -e เป็น root และกดที่ ปุ่ม Enter) ในกรณีที่คุณสังเกตเห็นว่า LMD ทำงานไม่ถูกต้องในแต่ละวัน:
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
SHELL=/bin/bash
ซึ่งจะช่วยให้ข้อมูลการแก้ไขข้อบกพร่องที่จำเป็น
บทสรุป
ในบทความนี้ เราได้พูดคุยถึงวิธีการติดตั้งและกำหนดค่า Linux Malware Detect พร้อมด้วย ClamAV ซึ่งเป็นพันธมิตรที่แข็งแกร่ง ด้วยความช่วยเหลือของเครื่องมือ 2 อย่างนี้ การตรวจจับมัลแวร์ควรเป็นเรื่องง่าย
อย่างไรก็ตาม โปรดช่วยตัวเองและทำความคุ้นเคยกับไฟล์ README ตามที่อธิบายไว้ก่อนหน้านี้ และคุณจะมั่นใจได้ว่าระบบของคุณจะได้รับการดูแลอย่างดีและมีการจัดการที่ดี
อย่าลังเลที่จะแสดงความคิดเห็นหรือคำถามของคุณ ถ้ามี โดยใช้แบบฟอร์มด้านล่าง
ลิงค์อ้างอิง
หน้าแรกของ LMD