1 前言
一个问题,一篇文章,一出故事。
最近黑客攻击猖獗,笔者需要更新服务器上的杀毒软件。于是整理ClamAV的最新服务器安装。
ClamAV是用于检测木马,病毒,恶意软件和其他恶意威胁的一个开源杀毒引擎。
2 最佳实践
2.1 安装前的准备
2.1.1 系统环境
OS = RHEL 9.x x86_64
IP Address = any
Host Name = any.cmdschool.org
2.1.3 下载软件包
cd ~ wget wget https://www.clamav.net/downloads/production/clamav-1.2.1.linux.x86_64.rpm
如果不能下载或者有其他版本需求,请参阅如下连接,
https://www.clamav.net/downloads
2.2 部署软件包
cd ~ dnf install -y clamav-1.2.1.linux.x86_64.rpm
2.3 配置数据库更新工具
2.3.1 部署配置文件
cat /usr/local/etc/freshclam.conf.sample > /etc/freshclam.conf
使用如下命令编辑配置文件,
vim /etc/freshclam.conf
修改如下参数,
# Example DatabaseDirectory /var/lib/clamav UpdateLogFile /var/log/clamav/freshclam.log LogSyslog yes DatabaseOwner clamav DatabaseMirror database.clamav.net
根据配置创建所需的运行用户
groupadd -g 498 clamav useradd -u 498 -g 498 -d /var/lib/clamav -s /sbin/nologin -c "Clam Anti Virus Checker" clamav
根据配置创建所需的目录或修改已有目录的权限,
mkdir -p /var/log/clamav chown clamav:clamav /var/lib/clamav/ /var/log/clamav chmod 775 -R /var/lib/clamav/ /var/log/clamav
2.3.2 设置selinux
setsebool -P antivirus_can_scan_system 1
2.3.3 测试更新
freshclam --config-file=/etc/freshclam.conf
2.3.4 配置自动更新
crontab -e
加入如下配置,
47 * * * * freshclam --config-file=/etc/freshclam.conf --quiet
2.3.5 手动测试扫描
clamscan ~
如果遇到如下错误提示,
LibClamAV Error: cl_load(): No such file or directory: /usr/local/share/clamav ERROR: Can't get file status
你可以使用如下命令解决,
ln -s /var/lib/clamav /usr/local/share/clamav
2.4 配置ClamAV守护进程
2.4.1 部署配置文件
cat /usr/local/etc/clamd.conf.sample > /etc/clamd.conf
使用如下命令编辑配置文件,
vim /etc/clamd.conf
修改如下参数,
# Example LogFile /var/log/clamav/clamd.log LogFileMaxSize 0 LogTime yes LogSyslog yes PidFile /var/run/clamav/clamd.pid TemporaryDirectory /var/tmp DatabaseDirectory /var/lib/clamav LocalSocket /var/run/clamav/clamd.sock FixStaleSocket yes TCPSocket 3310 TCPAddr 127.0.0.1 MaxConnectionQueueLength 30 MaxThreads 50 ReadTimeout 300 User clamav ScanPE yes ScanELF yes ScanOLE2 yes ScanMail yes ScanArchive yes ArchiveBlockEncrypted no
然后,我们需要根据配置文件创建所需的文件夹,
mkdir -p /var/run/clamav chown clamav:clamav /var/run/clamav
然后,你可以使用如下命令测试程序的运行,
sudo -u clamav /usr/local/sbin/clamd -F -c /etc/clamd.conf
然后,你可以使用如下命令确认程序运行的进程号,
pgrep -u clamav clamd
然后,你可以使用如下命令确认程序运行的端口,
netstat -antp | grep `pgrep -u clamav clamd`
可见如下输出,
tcp 0 0 127.0.0.1:3310 0.0.0.0:* LISTEN 4329/clamd
如果你需要手动退出该程序,可以使用如下命令,
kill `pgrep -u clamav clamd`
2.4.2 部署服务控制脚本
vim /usr/lib/systemd/system/clamd.service
加入如下配置,
[Unit] Description=anti-virus daemon Documentation=https://docs.clamav.net/ After=syslog.target network-online.target [Service] Type=simple ExecStartPre=/usr/bin/mkdir -p /var/log/clamav /var/run/clamav /var/lib/clamav/ ExecStartPre=/usr/bin/chown clamav:clamav /var/run/clamav var/log/clamav /var/lib/clamav/ ExecStartPre=/usr/bin/chmod 775 -R /var/log/clamav /var/run/clamav /var/lib/clamav/ ExecStart=/usr/bin/sudo -u clamav /usr/local/sbin/clamd -F -c /etc/clamd.conf [Install] WantedBy=multi-user.target
编辑完成后,你需要使用如下命令重载服务是配置生效,
systemctl daemon-reload
然后,我们使用如下命令启动服务并设置自启动,
systemctl start clamd.service systemctl enable clamd.service systemctl status clamd.service
另外,如果遇到SELinux无法启动问题,你可以选择关闭SELinux,
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config setenforce 0
参阅文档
===================
官方主页
———–
http://www.clamav.net/
官方github
————–
https://github.com/Cisco-Talos/clamav-devel
下载页面
————
http://www.clamav.net/downloads
应用场景参考
————
https://doc.owncloud.org/server/9.0/admin_manual/configuration_server/antivirus_configuration.html
测试病毒码下载地址
—————-
https://www.eicar.org/?page_id=3950
非官方教程参考
————-
https://blog.csdn.net/zwjzqqb/article/details/80204676
没有评论