linux开源安全软件,【ClamAV】Linux系统开源杀毒软件ClamAV的安装

Linux作为一个开源的操作系统,很多人普遍认为没有病毒,所以很多企业的服务器要么只使用了物理防火墙或软件防火墙,要么为了性能直接裸奔,其实Linux系统的病毒较少,但是并不意味着病毒免疫,尤其是对于诸如邮件或者归档文件中夹杂的病毒往往更加难以防范,况且很多企业的服务器都是基于Linux,所以为了防范不法分子的入侵,我们还是要安装杀毒软件,并且不定期进行查杀病毒

目录

一、安装环境

二、搭建步骤

三、常用命令总结

四、遇到的问题

五、定时查杀病毒

六、参考并致谢

一、安装环境

操作系统:CentOS 7

应用软件:ClamAV

二、搭建步骤

yum方式和RPM方式任选一种

1、yum方式安装

1)使用以下命令将依赖和主安装包都下载安装上

[root@localhost ~]# 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 openssl

c9b5d87d8335

c9b5d87d8335

说明: 这种方法安装吼,病毒库默认地址是:/var/lib/clamav

c9b5d87d8335

此时ClamAV已经安装完成

2、rpm方式安装

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

2)创建clamav用户和存放病毒库目录

# clamav用户和用户组

[root@localhost ~]# groupadd clamav && useradd -g clamav clamav && id clamav

# 日志存放目录

[root@localhost ~]# mkdir -p /usr/local/clamav/logs

[root@localhost ~]# touch /usr/local/clamav/logs/clamd.log

[root@localhost ~]# touch /usr/local/clamav/logs/freshclam.log

[root@localhost ~]# chown clamav.clamav /usr/local/clamav/logs/clamd.log

[root@localhost ~]# chown clamav.clamav /usr/local/clamav/logs/freshclam.log

# 病毒存放目录

[root@localhost ~]# mkdir -p /usr/local/clamav/updata

[root@localhost ~]# chown -R root.clamav /usr/local/clamav/

[root@localhost ~]# chown -R clamav.clamav /usr/local/clamav/updata/

3)解压安装包

包名的XXXX只是代表版本号,命令仅供参考

[root@localhost ~]# tar zxvf clamav-xxxxx.tar.gz

4)安装依赖

[root@localhost ~]# yum install gcc openssl openssl-devel -y

5)编译安装

[root@localhost ~]# cd clamav-xxxxx/

[root@localhost ~]# ./configure --prefix=/usr/local/clamav --with-pcre

[root@localhost ~]# make && make install

[root@localhost ~]# echo $?

此时ClamAV已经安装完成

3、修改配置文件clam.conf

如果是yum方式安装的话,配置文件都会在/etc目录下,不用做以下复制模板操作,同时yum方式安装的配置文件名称是scan.conf

c9b5d87d8335

# rpm安装方式需要复制模板配置文件

[root@localhost ~]# cd /usr/local/clamav/etc

[root@localhost ~]# cp clamd.conf.sample clamd.conf

[root@localhost ~]# cp freshclam.conf.sample freshclam.conf

打开clamd.conf配置文件

[root@localhost ~]# vim clamd.conf

或者

[root@localhost ~]# vim scan.conf

注释掉#Example

并打开配置(路径可根据需要修改,这里使用yum安装的默认路径)

LogFile /var/log/clamd.scan

PidFile /var/run/clamd.scan/clamd.pid

DatabaseDirectory /var/lib/clamav

然后找到以下配置进行修改:

一般情况下只是去掉注释的更改,使用yum方式安装的话配置文件中的配置基本都是可用的

DatabaseDirectory /var/lib/clamav

# 这里定义服务器类型(本地或者TCP,如果定义为使用本地socket则将此注释打开)

LocalSocket /var/run/clamd.scan/clamd.sock

# 这里定义服务器类型(本地或者TCP,如果定义为使用TCP socket则将此注释打开)

TCPSocket 3310

TCPAddr 127.0.0.1

4、修改配置文件freshclam.conf

[root@localhost ~]# vim /etc/freshclam.conf

同样将Excemple注释掉

三、常用命令总结

1、启动、关闭、查看状态

# 启动服务

[root@localhost ~]# systemctl start clamd@scan.server

# 关闭服务

[root@localhost ~]# systemctl stop clamd@scan.server

# 查看服务状态

[root@localhost ~]# systemctl status clamd@scan.server

2、扫描杀毒

1、clamdscan命令

一般是使用yum安装才能使用,需要启动clamd服务,执行速度较快,默认会递归扫描子目录

[root@localhost ~]# clamdscan /home

2、clamscan命令

通用,不依赖服务(不需要开启服务也能用),命令参数较多,执行速度慢

-r/--recursive[=yes/no] 所有文件

--log=FILE/-l FILE 增加扫描报告

--move [路径] 移动病毒文件至..

--remove [路径] 删除病毒文件

--quiet 只输出错误消息

--infected/-i 只输出感染文件

--suppress-ok-results/-o 跳过扫描OK的文件

--bell 扫描到病毒文件发出警报声音

--unzip(unrar) 解压压缩文件扫描

例:

clamscan -ri --log=/home/clamav.log /home

扫描结果如下

c9b5d87d8335

2、更新病毒库

1、 手动更病毒库

[root@localhost ~]# freshclam

c9b5d87d8335

2、自动更新病毒库

freshclam命令通过文件/etc/cron.d/clamav-update来运行,改文件内容如下:

c9b5d87d8335

但默认情况下是禁止了自动更新功能,需要移除文件/etc/sysconfig/freshclam配置文件最后一行的配置才能启用

c9b5d87d8335

六、遇到的问题

1、服务不能启动,查看日志发现报错:Please defind server type (local and/or TCP)

c9b5d87d8335

原因: 是在配置文件中没定义是使用本地的socket还是使用TCP方式的socket

解决方法: 修改scan.conf文件中的配置,如使用本地的socket:

c9b5d87d8335

然后再次启动:

c9b5d87d8335

2、在更新病毒库时,出现Can't create temporaty directory xxxx的错误

解决方法:

一般错误提示中会给出UID和GID提示,根据提示修改权限

c9b5d87d8335

c9b5d87d8335

然后再次执行更新:

c9b5d87d8335

3、手动更新时遇到错误:Update failed. Your network may be down or none of the mirrors listed in freshclam.conf is working.

解决方法: 将旧的镜像地址删掉:

[root@localhost ~]# rm -f /var/lib/clamav/mirrors.dat

然后再次执行手动更新

4、执行clamdscan命令时出现:Permission denied. ERROR

暂未发现解决方法,如果有找到方法的网友麻烦告知一下谢谢

五、定时查杀病毒

1、直接使用命令+定时任务的方式

打开定时任务配置文件

[root@localhost ~]# vim crontab

文件内配置如下

1 3 * * * /usr/bin/freshclam --quiet

20 3 * * * /usr/bin/clamscan -r /home --remove -l /var/log/clamscan.log

2、使用命令+脚本方式,如果扫描到病毒就发送邮件给管理员(基于python环境,脚本摘于网络)

import smtplib

from email.mime.text import MIMEText

from email.header import Header

import socket

import os

import re

class ClamAV(object):

## 这里填入自己的远程smtp服务。利用第三方smtp服务进行邮件发送。

def __init__(self):

self.HOST = "smtp.exmail.qq.com"

self.PORT = "465"

self.USER = 'xxx@xxxx.com'

self.PASSWD = 'xxxxxx'

self.TO = "xxxxxxxxx@xx.com"

def clamscan(self):

os.system('freshclam')

os.system('clamscan -ri /tmp > /tmp/clamscan.log')

with open('/tmp/clamscan.log', 'r', encoding='utf-8') as f:

a = f.read()

result = re.findall('Infected files:.*', a)

if result:

number = result[0].split(':')[1].strip()

if number != '0':

self.sendmail('Infected files:%s。有文件感染,请手动检查,查杀病毒。' %number)

else:

self.sendmail('扫描脚本有误,请检查')

def sendmail(self,content):

ipaddr = socket.gethostbyname(socket.gethostname())

smtp = smtplib.SMTP_SSL(self.HOST, self.PORT)

smtp.ehlo()

smtp.login(self.USER, self.PASSWD)

TEXT = """IP: %s\nContent: %s""" %(ipaddr,content)

message = MIMEText(TEXT, 'plain', 'utf-8')

message['From'] = self.USER

message['To'] = self.TO

message['Subject'] = Header('Clamscan Result Warning', 'utf-8')

smtp.sendmail(self.USER, self.TO, message.as_string())

smtp.quit()

clam = ClamAV()

clam.clamscan()

然后将python脚本设定为定时任务

打开定时任务配置文件

[root@localhost ~]# vim crontab

配置文件内容如下

00 4 * * * root /home/clamsacn.py

六、参考并致谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值