前言
linux或者Unix系统经常被用作服务器,并且安全性往往比windows高,但是在linux查杀病毒往往得依靠管理员执行find, grep等命令查看文件以确认文件是否为病毒,但由于本身linux服务器的病毒就较少,精通linux安全的系统管理员更是可遇不可求。
但是,随着linux服务器在市场上的占用率的飙升,linux系统病毒事件逐步出现在公众视野,linux杀毒的需求也逐步被提出来。所以在这里我们选择几款专业的杀毒软件对linux服务器进行杀毒。
1、ClamAV杀毒
1.1 clamAV介绍
ClamAV 杀毒是Linux平台最受欢迎的杀毒软件,ClamAV属于免费开源产品,支持多种平台,如:Linux/Unix、MAC OS X、Windows、OpenVMS。ClamAV是基于病毒扫描的命令行工具,但同时也有支持图形界面的ClamTK工具。ClamAV主要用于邮件服务器扫描邮件。它有多种接口从邮件服务器扫描邮件,支持文件格式有如:ZIP、RAR、TAR、GZIP、BZIP2、HTML、DOC、PDF,、SIS CHM、RTF等等。ClamAV有自动的数据库更新器,还可以从共享库中运行。命令行的界面让ClamAV运行流畅。
个人感觉Linux桌面系统是很安全的,没有必要安装杀毒软件。 我是要在服务器端安装ClamAV,因为使用了FTP,担心有人上传恶意软件。 其实,它常用在邮件服务器上,用来扫描带病毒附件的邮件。
1.2 安装使用:
1.2.1
YUM安装
- 安装后会自动生成服务文件,启动服务后,可使用clamdsacn命令,扫描速度快;
- 启动服务后,会实时监控扫描连接,虽然安全性高了,不过可能会对服务器性能有影响;
yum install clamav clamav-server clamav-data clamav-update clamav-filesystem clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd pcre* gcc zlib zlib-devel libssl-devel libssl openss
这种方法安装后,病毒库默认地址是/var/lib/clamav。
1.2.2
编译安装(推荐)
- 需要手动编译安装,安装虽然不需要连网,但更新病毒库还是需要联网;
- 安装后不用启动服务,不能使用clamdsacn命令,可使用clamscan命令,扫描速度相对较慢;
1.2.2.1下载软件包
#官网地址:
http://www.clamav.net/downloads
#Linux中下载地址:
wget http://www.clamav.net/downloads/production/clamav-0.100.0.tar.gz
#参考文档:
https://github.com/vrtadmin/clamav-faq/raw/master/manual/clamdoc.pdf
1.2.2.2创建clamav用户和存放病毒库目录
#clamav用户和用户组
groupadd clamav && useradd -g clamav clamav && id clamav
#日志存放目录
mkdir -p /usr/local/clamav/logs
touch /usr/local/clamav/logs/clamd.log
touch /usr/local/clamav/logs/freshclam.log
chown clamav.clamav /usr/local/clamav/logs/clamd.log
chown clamav.clamav /usr/local/clamav/logs/freshclam.log
#病毒存放目录
mkdir -p /usr/local/clamav/updata
chown -R root.clamav /usr/local/clamav/
chown -R clamav.clamav /usr/local/clamav/updata/
1.2.2.3解压安装包
tar xf clamav-0.100.0.tar.gz
1.2.2.4安装依赖
yum install gcc openssl openssl-devel -y
1.2.2.5编译安装
cd clamav-0.100.0/
./configure --prefix=/usr/local/clamav --with-pcre
make && make install
#检查是否安装成功
echo $?
1.2.2.6配置clamav
cd /usr/local/clamav/etc
cp clamd.conf.sample clamd.conf
cp freshclam.conf.sample freshclam.conf
vim clamd.conf
#Example 注释掉这一行.
添加下面三行:
LogFile /usr/local/clamav/logs/clamd.log
PidFile /usr/local/clamav/updata/clamd.pid
DatabaseDirectory /usr/local/clamav/updata
vim freshclam.conf
#Example 注释掉这一行.
添加下面三行
DatabaseDirectory /usr/local/clamav/updata
UpdateLogFile /usr/local/clamav/logs/freshclam.log
PidFile /usr/local/clamav/updata/freshclam.pid
1.2.2.7启动clamav
chown -R clamav.clamav /usr/local/clamav/
systemctl start clamav-freshclam.service
systemctl enable clamav-freshclam.service
systemctl status clamav-freshclam.service
1.2.2.8更新病毒库
#先停止freshclam
systemctl stop clamav-freshclam.service
#再更新
/usr/local/clamav/bin/freshclam (根据网络质量确定更新时长)
或者
cd /usr/local/clamav/share/clamav
wget http://database.clamav.net/main.cvd
wget http://database.clamav.net/daily.cvd
wget http://database.clamav.net/bytecode.cvd
1.2.2.9更新完成启动
systemctl start clamav-freshclam.service
systemctl status clamav-freshclam.service
1.2.2.10创建软链接
ln -s /usr/local/clamav/bin/clamscan /usr/local/sbin/clamscan
说明:如果在手动更新病毒库的时候遇到错误,此时就要删除掉旧的镜像地址文件#rm -f /var/lib/clamav/mirrors.dat,再手动更新一次病毒库。
1.2.2.11扫描杀毒
clamdscan:
- 一般用yum安装才能使用,需要启动clamd服务,执行速度快;
- 用clamdscan扫描,需要开始服务才能使用。速度快,不用带-r,默认会递归扫描子目录;
clamdscan /usr
clamscan:
- 通用,不依赖服务,命令参数较多,执行速度稍慢;
- 用clamscan扫描,不需要开始服务就能使用;
- -r 递归扫描子目录
- -i 只显示发现的病毒文件
- --no-summary 不显示统计信息
扫描参数:
- -r/--recursive[=yes/no] 所有文件
- --log=FILE/-l FILE 增加扫描报告
- --move [路径] 移动病毒文件至..
- --remove [路径] 删除病毒文件
- --quiet 只输出错误消息
- --infected/-i 只输出感染文件
- --suppress-ok-results/-o 跳过扫描OK的文件
- --bell 扫描到病毒文件发出警报声音
- --unzip(unrar) 解压压缩文件扫描
#扫描所有文件并且显示有问题的文件的扫描结果
clamscan -r --bell -i /
#只显示找到的病毒信息
clamscan --no-summary -ri /tmp
#扫描home
clamscan --infected --remove --recursive /home
1.2.2.12定时杀毒
#让服务器每天晚上定时更新和杀毒,保存杀毒日志,crontab文件如下:
1 3 * * * /usr/local/clamav/bin/freshclam --quiet
20 3 * * * /usr/local/clamav/bin/clamscan -r /home --remove -l /var/log/clamscan.log