ClamAV เป็นโปรแกรมป้องกันไวรัสโอเพ่นซอร์ส ใช้สำหรับตรวจจับไวรัส โทรจัน และมัลแวร์ ส่วนใหญ่จะใช้บนแพลตฟอร์ม Linux เพื่อสแกนไดเร็กทอรีผู้ใช้ที่สามารถเข้าถึงได้ผ่าน FTP หรือ Samba ไดเร็กทอรีเว็บไซต์ หรืออีเมลบนเมลเซิร์ฟเวอร์ (ในฐานะตัวแทน MTA)
ในบทความนี้ เราจะแสดงวิธีการติดตั้ง กำหนดค่า และใช้งาน ClamAV บนโฮสต์ที่รัน CentOS หรือ RHEL Linux distros
การติดตั้ง ClamAV บน CentOS/RHEL
ClamAV ไม่พร้อมใช้งานใน repos ของ Linux พื้นฐาน ดังนั้นคุณต้องใช้ที่เก็บ EPEL เพื่อติดตั้งบนโฮสต์ของคุณ:
# yum ติดตั้ง epel-release -y
หลังจากที่คุณติดตั้งที่เก็บแล้ว คุณสามารถดำเนินการติดตั้ง ClamAV . ได้ แพ็คเกจ ในการติดตั้ง yum package manager จะถูกใช้ (หรือ dnf ใน CentOS 8):
# yum -y ติดตั้งเซิร์ฟเวอร์ clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd
การกำหนดค่าพื้นฐานของ ClamAV ใน Linux
ในการตั้งค่าการกำหนดค่า ClamAV ของคุณเอง ให้ลบการกำหนดค่าเริ่มต้นใน /etc/clam.d/scan.conf .
# sed -i -e "s/^Example/#Example/" /etc/clamd.d/scan.conf
จากนั้นเปิดไฟล์การกำหนดค่า:
# nano /etc/clamd.d/scan.conf
และ uncomment บรรทัดต่อไปนี้:
LocalSocket /run/clamd.scan/clamd.sock
คุณยังสามารถยกเลิกหมายเหตุบรรทัดด้วยการตั้งค่าที่คุณต้องการ ตัวอย่างเช่น คุณสามารถเปิดใช้งานการบันทึกหรือกำหนดค่าจำนวนการเชื่อมต่อสูงสุดได้
ไฟล์ /etc/clamd.d/scan.conf มีคำอธิบายโดยละเอียดของการตั้งค่าทั้งหมด
ในการอัปเดตฐานข้อมูลลายเซ็นต่อต้านไวรัสสำหรับ ClamAV คุณต้องใช้ freshclam . สำรองไฟล์การกำหนดค่าปัจจุบันของคุณ:
# cp /etc/freshclam.conf /etc/freshclam.conf.bak
จากนั้นรันคำสั่งนี้:
# sed -i -e "s/^Example/#Example/" /etc/freshclam.conf
และอัปเดตคำจำกัดความของโปรแกรมป้องกันไวรัสของคุณ:
# หอยแมลงภู่
ระหว่างการอัปเดต คุณอาจพบข้อผิดพลาดบางอย่างหากคุณไม่สามารถดาวน์โหลดการอัปเดตใดๆ ได้ Freshclam จะค้นหามิเรอร์โดยอัตโนมัติเพื่อดาวน์โหลดการอัปเดตได้สำเร็จ
หากต้องการให้ freshclam ตรวจสอบการอัปเดตโดยอัตโนมัติ คุณสามารถเรียกใช้ด้วย -d พารามิเตอร์:
# freshclam -d
— ดังนั้น มันจะตรวจสอบการอัพเดททุก 2 ชั่วโมง
เพื่อให้ทำงานได้ง่ายขึ้น ให้สร้างไฟล์บริการสำหรับ freshclam :
# nano /usr/lib/systemd/system/freshclam.service
และเพิ่มเนื้อหาต่อไปนี้ลงไป:
[Unit] Description = freshclam After = network.target [Service] Type = forking ExecStart = /usr/bin/freshclam -d -c 4 Restart = on-failure PrivateTmp = true RestartSec = 10sec [Install] WantedBy=multi-user.target
รีโหลด systemd daemon:
# systemctl daemon-reload
จากนั้นคุณสามารถเริ่มบริการและเพิ่มในการเริ่มต้น:
# systemctl start freshclam.service
# systemctl enable freshclam.service
# systemctl status freshclam.service
เช่นเดียวกับที่คุณทำกับ หอยสด , สร้างบริการสำหรับ ClamAV . มีไฟล์การกำหนดค่าอยู่แล้ว แต่คุณจะต้องเปลี่ยนชื่อ:
# mv /usr/lib/systemd/system/clamd\@.service /usr/lib/systemd/system/clamd.service
เพื่อให้สะดวกยิ่งขึ้น เราได้ลบ \@
.
นอกจากนี้ ให้เปลี่ยนการกำหนดค่าในไฟล์:
[Unit] Description = clamd scanner daemon After = syslog.target nss-lookup.target network.target [Service] Type = forking ExecStart = /usr/sbin/clamd -c /etc/clamd.d/scan.conf # Reload the database ExecReload=/bin/kill -USR2 $MAINPID Restart = on-failure TimeoutStartSec=420 [Install] WantedBy = multi-user.target
จากนั้นคุณสามารถเรียกใช้บริการป้องกันไวรัสหรือเปิดใช้งานได้:
# systemctl เริ่ม clamd.service
# systemctl เปิดใช้งาน clamd.service
จะสแกนหาไวรัสด้วย ClamAV ได้อย่างไร
หลังจากที่คุณได้กำหนดค่าบริการป้องกันไวรัส ClamAV แล้ว คุณสามารถสแกนไดเร็กทอรีเซิร์ฟเวอร์ใดๆ เพื่อหาไวรัส (โหมดเครื่องสแกน) ในการสแกนไดเร็กทอรีที่ระบุเพื่อหาไวรัส ให้ใช้คำสั่งต่อไปนี้:
# clamscan --infected --remove --recursive /var/www/
ด้วยพารามิเตอร์เหล่านี้ โปรแกรมป้องกันไวรัสจะลบไฟล์ที่ติดไวรัสทันที หากคุณต้องการย้ายไฟล์ที่น่าสงสัยไปยังไดเร็กทอรีอื่น ให้เรียกใช้การสแกนโดยใช้ —ย้าย พารามิเตอร์:
# clamscan --infected --recursive --move=/tmp/clamscan /var/www
คำสั่งนี้จะสแกนเนื้อหาทั้งหมดของไดเร็กทอรีที่ระบุและย้ายไฟล์ที่น่าสงสัยไปที่ /tmp/clamscan
ดังที่เราเห็น ไฟล์ที่ติดไวรัสได้ถูกย้ายไปยังไดเร็กทอรีที่ระบุ:
คุณยังสามารถเพิ่ม —log=/var/log/clamscan.log พารามิเตอร์เพื่อเขียนข้อมูลทั้งหมดเกี่ยวกับกระบวนการสแกนในล็อกไฟล์ที่คุณระบุ:
หากคุณต้องการยกเว้นบางไดเร็กทอรีจากการสแกน ให้ใช้ —exclude-dir พารามิเตอร์:
# clamscan -i --recursive --move=/tmp/clamscan --log=/var/log/clamscan.log --exclude-dir="/var/www/administrator" /var/wwwรหัส>
หากต้องการสแกนไวรัสเป็นประจำ คุณสามารถกำหนดค่างาน cron ด้วยการตั้งค่าที่คุณต้องการ
มีส่วนหน้าแบบกราฟิกสำหรับโปรแกรมป้องกันไวรัส ClamAV ที่เรียกว่า ClamTk .