Linux环境下安装病毒扫描工具(ClamAV)和漏洞扫描工具(Greenbone)
说明
等保二级要求定期对服务器进行病毒扫描和漏洞扫描要求
ClamAV安装使用
源码安装
1,下载rpm文件到服务器
wget https://www.clamav.net/downloads/production/clamav-1.2.1.linux.x86_64.rpm
2,安装clamav
rpm -ivh --prefix=/usr/local/clamav clamav-0.104.2.linux.x86_64.rpm
3,添加用户组和组成员
groupadd clamav
useradd -g clamav clamav
4,创建日志目录和病毒库目录
mkdir -p /usr/local/clamav/logs
mkdir -p /usr/local/clamav/update
5,创建日志文件
touch /usr/local/clamav/logs/clamd.log
touch /usr/local/clamav/logs/freshclam.log
6,文件授权
chown clamav:clamav /usr/local/clamav/logs/clamd.log
chown clamav:clamav /usr/local/clamav/logs/freshclam.log
chown clamav:clamav /usr/local/clamav/update
7,修改配置文件
cp /usr/local/clamav/etc/clamd.conf.sample /usr/local/clamav/etc/clamd.conf
cp /usr/local/clamav/etc/freshclam.conf.sample /usr/local/clamav/etc/freshclam.conf
vim /usr/local/clamav/etc/clamd.conf
#Example //注释掉这一行
#添加以下内容
LogFile /usr/local/clamav/logs/clamd.log
PidFile /usr/local/clamav/update/clamd.pid
DatabaseDirectory /usr/local/clamav/update
vim /usr/local/clamav/etc/freshclam.conf
#Example //注释掉这一行
#添加以下内容
DatabaseDirectory /usr/local/clamav/update
UpdateLogFile /usr/local/clamav/logs/freshclam.log
PidFile /usr/local/clamav/update/freshclam.pid
最后将这两个文件复制一下:
cp /usr/local/clamav/etc/*.conf /usr/local/etc/
8,下载病毒库文件
http://database.clamav.net/main.cvd
http://database.clamav.net/daily.cvd
http://database.clamav.net/bytecode.cvd
并上传到目录 /usr/local/clamav/update
注:如果机器有网络可以运行下面的命令更新病毒库
/usr/local/clamav/bin/freshclam
9,配置库文件路径
vi /etc/ld.so.conf.d/clamav-x86_64.conf
#追加一行
/usr/local/clamav/lib64
更新生效
ldconfig
ps:如果最后运行时仍然报错,则说明配置没有生效。
clamscan: error while loading shared libraries: libclamav.so.9: cannot open shared
object file: No such file or directory
创建命令软件链接
ln -sf /usr/local/clamav/bin/clamscan /usr/local/bin/clamscan
10,运行使用
clamscan -r
11,卸载程序
rpm remove clamav
yum方式安装
yum的方式比较简单
1,下载clamav和其他组件
yum -y install clamav clamtk clamav-daemon clamdscan device-tree-compiler
2,更新病毒库
freshclam
周期扫描
1,创建目录
mkdir -p /usr/local/clamav/infected
chown clamav:clamav /usr/local/clamav/infected
2,使用用户clamav编辑crontab,扫描周期可以自己规定
0 23 * * * root /usr/local/bin/clamscan.sh
3,编辑脚本文件
vi /usr/local/bin/clamscan.sh
clamscan -r -i /home --move=/usr/local/clamav/infected -l /usr/local/clamav/logs/clamscan.log
相关命令
1,扫描文件
clamscan targetfile
2,递归扫描home目录
clamscan -r -i /home -l /var/log/clamscan.log
3,递归扫描home目录,将病毒文件删除,并且记录日志
clamscan -r -i /home --remove -l /var/log/clamscan.log
4,扫描指定目录,然后将感染文件移动到指定目录,并记录日志
clamscan -r -i /home --move=/usr/local/clamav/infected -l /usr/local/clamav/logs/clamscan.log
Greenbone安装使用
Greenbone是一种开源的漏洞扫描工具,用于评估和分析网络系统的安全性。它提供了多种功能和用法,帮助用户扫描并发现系统中的漏洞。
在安装Greenbone之前先按照docker和docker-compose
安装docker
1,安装相关组件
yum install -y yum-utils device-mapper-persistent-data lvm2
2,添加docker软件源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3,查看安装docker版本
yum list docker-ce --showduplicates | sort -r
4,安装docker
yum install -y docker-ce
5,启动docker服务
systemctl start docker
systemctl status docker
6,查看版本号
docker -v
安装docker-compose
1,下载docker-compose二进制文件
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2,赋予执行权限
sudo chmod +x docker-compose-linux-x86_64
3,修改名称
mv docker-compose-linux-x86_64 docker-compose
4,验证是否安装成功
docker-compose --version
安装Greenbone
1,创建目录
目录下创建 /usr/local/
mkdir greenbone
cd /usr/local/greenbone
1,下载Greenbone的docker-compose.yml配置文件
wget -c https://greenbone.github.io/docs/latest/_static/docker-compose-22.4.yml -O docker-compose.yml
2,修改访问端口
vim docker-compose.yml
gsa:
image: greenbone/gsa:stable
restart: on-failure
ports:
- 0.0.0.0:9392:9392
volumes:
- gvmd_socket_vol:/run/gvmd
depends_on:
- gvmd
有需求的话可以修改默认端口9392,没有可以默认
3,根据yml文件在镜像仓库拉取指定的镜像。
docker-compose -f docker-compose.yml -p greenbone-community-edition pull
4,修改Greenbone默认密码(这个要修改,不然扫描会有中危风险)
docker-compose -f docker-compose.yml -p greenbone-community-edition exec -u gvmd gvmd gvmd --user=admin --new-password=新密码
5,启动运行
docker-compose -f docker-compose.yml -p greenbone-community-edition up -d
6,测试
curl -v http://127.0.0.1:9392
使用方法
确保端口在本地可以访问到,如果不行的话就修改端口或者代理端口。改端口参考上面的示例,代理端口参考下面命令
iptables -t nat -A PREROUTING -p tcp --dport 8094 -j REDIRECT --to-ports 9392
删除第一条规则
iptables -t nat -D PREROUTING 1
删除特定端口
iptables -t nat -D PREROUTING -p tcp --dport <port>
1,在浏览器访问登录
默认账号/密码:admin/admin
注意如果进行漏洞扫描之前请先修改默认密码,不修改的话在扫描本机过程中会有中风险出现。(修改密码参考上面命令)
2,创建简单任务
如果只扫描一台机器,并且没什么特殊要求的话就使用简单任务
1,登录成功以后出现默认页面,点击上方菜单栏Scans—>Tasks进入任务页面
,2,创建简单任务扫描,点击麻魔法棒—>Task Wizard
3,扫描对应ip机器
3,创建复杂任务
如果要扫描多台机器,并且有特殊要求的话就使用复杂任务
1,创建复杂任务之前,需要配置端口,ip等扫描范围配置
参数 | 说明 |
---|---|
Targets | 扫描目标 |
Port Lists | 扫描端口 |
Scan Configs | 扫描配置 |
如果有特殊要求,就指定扫描的端口和配置,我这里使用的是默认的,只配置了扫描范围
到Targets页面,创建扫描范围。只需要输入两个参数
参数 | 说明 |
---|---|
name | 名称 |
Host | 扫描路径,如果有多个就写到本地txt文档里在上传,多个ip使用逗号分割 |
创建完成后,去Tasks页面创建复杂任务
注:扫描多个服务器,扫描的服务器和本机网络要互通,不确定的话请进入greenbone/gvmd:stable这个容器,ping下对应ip
docker exec -it <CONTAINER ID> bash
4,扫描完成导出漏扫报告
点击进度完成的任务进入详情页面