目 录CONTENT

文章目录

Centos7部署clamav

简中仙
2024-06-12 / 0 评论 / 0 点赞 / 165 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
本文最后更新于2024-06-12,若内容或图片失效,请留言反馈。 本文如有错误或者侵权的地方,欢迎您批评指正!

一、简介

ClamAV(Clam AntiVirus)是一款开源的反病毒引擎,主要用于检测和清除恶意软件,包括病毒、木马和其他形式的恶意代码。它是免费的,并且支持多平台,包括Linux、Unix、Mac OS X、Windows和OpenVMS等操作系统。ClamAV特别适用于邮件服务器、文件传输系统及网页内容的扫描,能够与多种电子邮件服务器、FTP服务器以及网络安全设备集成,提供病毒防护功能。

ClamAV的核心技术之一是特征引擎,它依赖于签名数据库来识别已知的恶意软件模式。通过定期更新病毒库,ClamAV能够识别并阻止最新的威胁。除了命令行工具外,还存在如ClamTK这样的图形界面前端,使得用户操作更为便捷。

其主要特点和功能包括:

  • 恶意代码扫描:扫描电子邮件、文件共享网络及本地文件系统中的潜在威胁。
  • 集成能力:通过API,ClamAV可方便地嵌入到其他应用程序和服务中,增强其安全性能。
  • 实时监控:支持对文件系统实施监控,及时发现并应对新出现的恶意代码。
  • 跨平台:兼容多种操作系统环境,适应不同的使用场景。
  • 社区驱动:作为一个开源项目,ClamAV的更新和维护得到了全球开发者社区的支持。

二、安装

1、yum安装

yum -y install epel-release
yum -y install clamav-server clamav-data clamav-filesystem clamav-lib clamav-update clamav clamav-devel

2、二进制安装

1、创建用户组

groupadd clamav
useradd -g clamav -s /bin/false -c "Clam Antivirus" clamav

2、安装依赖软件

# yum -y groupinstall "Development Tools"
# yum -y install openssl openssl-devel libcurl-devel zlib-devel libpng-devel libxml2-devel json-c-devel bzip2-devel pcre2-devel ncurses-devel check check-devel python3 python3-pip valgrind sendmail-devel 
1、安装cmake
# wget https://cmake.org/files/v3.29/cmake-3.29.3.tar.gz
# tar zxf cmake-3.29.3.tar.gz
# cd cmake-3.29.3/
# ./configure
# make -j && make install
# cmake -version
cmake version 3.29.3
2、安装json-c
# git clone https://ghproxy.net/https://github.com/json-c/json-c.git
# mkdir json-c-build
# cd json-c-build
# cmake ../json-c
# make && make test && make USE_VALGRIND=0 test && make install
3、安装rust
# vim /etc/profile
export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
# source /etc/profile
# curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
1) Proceed with standard installation (default - just press enter)
2) Customize installation
3) Cancel installation
>1
# source $HOME/.cargo/env
# rustc -V
rustc 1.78.0 (9b00956e5 2024-04-29)

3、安装clamav

# wget https://www.clamav.net/downloads/production/clamav-1.0.6.tar.gz
# tar zxf clamav-1.0.6.tar.gz
# cd clamav-1.0.6
# mkdir build && cd build
cmake .. \
    -D CMAKE_INSTALL_PREFIX=/usr \
    -D CMAKE_INSTALL_LIBDIR=lib \
    -D APP_CONFIG_DIRECTORY=/etc/clamav \
    -D DATABASE_DIRECTORY=/var/lib/clamav \
    -D ENABLE_JSON_SHARED=OFF
cmake --build . && ctest && cmake --build . --target install
# clamav-config --version
1.0.6
  • CMAKE_INSTALL_PREFIX:安装“前缀”将是/usr

  • CMAKE_INSTALL_LIBDIR:库目录将是lib(即/usr/lib

  • APP_CONFIG_DIRECTORY:配置目录将是/etc/clamav

  • DATABASE_DIRECTORY:数据库目录将是/var/lib/clamav

三、修改配置文件

1、修改freshclam配置

# cp /etc/freshclam.conf /etc/freshclam.conf.bak
# sed -i '/^Example/d' /etc/freshclam.conf
# vim /etc/freshclam.conf
DatabaseDirectory /usr/local/clamav/updata
UpdateLogFile /usr/local/clamav/logs/freshclam.log
PidFile /usr/local/clamav/updata/freshclam.pid   
# vim /usr/lib/systemd/system/clam-freshclam.service
[Unit]
Description = freshclam scanner
After = network.target
[Service]
Type = forking
ExecStart = /usr/bin/freshclam -d -c 4
Restart = on-failure
PrivateTmp = true
[Install]
WantedBy=multi-user.target
# systemctl enable clam-freshclam.service
# systemctl start clam-freshclam.service
# systemctl status clam-freshclam.service

2、手动下载 clamva 数据库

注意:服务器上如果无法下载的话在浏览器上下载后手动上传

# cd /var/lib/clamav
# rm -rf main.cvd daily.cvd bytecode.cvd
# wget https://database.clamav.net/main.cvd
# wget https://database.clamav.net/daily.cvd
# wget https://database.clamav.net/bytecode.cvd
# chown -R  clamupdate:clamupdate  *
# freshclam				# 更新病毒库

3、修改scan配置

二进制安装该文件为clamd.conf

# cp /etc/clamd.d/scan.conf /etc/clamd.d/scan.conf.bak
# sed -i '/^Example/d' /etc/clamd.d/scan.conf
# sed -i -e '/^TCPAddr/{ s/127.0.0.1/0.0.0.0/;}' /etc/clamd.d/scan.conf
# sed -i 's/^#TCPSocket.*/TCPSocket 3310/g' /etc/clamd.d/scan.conf
# vim /etc/clamd.d/scan.conf
User root
LocalSocket /var/run/clamd.sock
# cp -ap /usr/lib/systemd/system/clamd@.service /etc/systemd/system/clamd.service
# vim /etc/systemd/system/clamd.service
## 把 %i  改成 scan.conf
[Unit]
Description = clamd scanner (scan.conf) daemon
Documentation=man:clamd(8) man:clamd.conf(5) https://www.clamav.net/documents/
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 enable clamd.service --now
# systemctl status clamd.service
# curl https://www.eicar.org/download/eicar.com.txt | clamdscan -
stream: Eicar-Test-Signature FOUND
# lsof -i:3310
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
clamd   53219 root    3u  IPv4  83908      0t0  TCP *:dyna-access (LISTEN)
clamd   53219 root    4u  IPv6  83909      0t0  TCP *:dyna-access (LISTEN)

四、使用

1、文件扫描

# clamscan mysql-schema.sql					# 文件名
Loading:     9s, ETA:   0s [========================>]    8.69M/8.69M sigs
Compiling:   2s, ETA:   0s [========================>]       41/41 tasks

/root/mysql-schema.sql: OK

----------- SCAN SUMMARY -----------
Known viruses: 8694409								# 已知病毒数量
Engine version: 1.0.6								# 引擎版本
Scanned directories: 0								# 扫描的目录
Scanned files: 1									# 扫描的文件
Infected files: 0									# 感染的文件
Data scanned: 0.02 MB								# 扫描的数据量
Data read: 0.01 MB (ratio 2.00:1)					# 读取的数据量
Time: 12.382 sec (0 m 12 s)							# 完成扫描所需的时间
Start Date: 2024:06:06 16:14:01						# 开始日期和时间
End Date:   2024:06:06 16:14:13						# 结束日期和时间

2、目录扫描

# clamdscan /etc
/etc: OK

----------- SCAN SUMMARY -----------
Infected files: 0
Time: 17.318 sec (0 m 17 s)
Start Date: 2024:06:06 16:11:59
End Date:   2024:06:06 16:12:17
参数说明
-r/--recursive[=yes/no]递归扫描子目录
--infected/-i只显示发现的病毒文件
--no-summary不显示统计信息
--log=FILE/-l FILE增加扫描报告
--move [路径]移动病毒文件至..
--remove [路径]删除病毒文件
--quiet只输出错误消息
--suppress-ok-results/-o跳过扫描OK的文件
--bell扫描到病毒文件发出警报声音
--unzip(unrar)解压压缩文件扫描
0

评论区