提醒:本文最后更新于2023-10-02 15:42,文中所关联的信息可能已发生改变,请知悉!

前言

因为我用的腾讯云vps托管过开源的bitwarden服务端和enpass用的webdav服务,所以对安全这一块比较重视,腾讯云的安全扫描这块收费比较贵以及好像不支持业务代码的漏洞扫描,比如Django项目,所以就想到了找一个开源的漏洞扫描器,一番调研,选择了vuls。

安装

# mkdir -p /root/vuls
# cd /root/vuls
# wget https://raw.githubusercontent.com/vulsio/vulsctl/master/install-host/install.sh
# bash install.sh

执行上述命令进行安装,耗时较久,请耐心等待。

下载漏洞数据库,下面以CentOS为例:

# wget https://raw.githubusercontent.com/vulsio/vulsctl/master/install-host/oval.sh
# bash oval.sh --redhat

配置文件参考:

[root@VM-8-9-centos vuls]# cat config.toml 
[servers]

[servers.localhost]
host = "localhost"
port = "local"
# 配置扫描Django项目漏洞
lockfiles = [
  "/root/DjangoBlog/requirements.txt",
]
# 配置排除扫描某些以java开头的rpm包
ignorePkgsRegexp = ["^java"]

# 配置扫描后自动发邮件
[email]
smtpAddr      = "smtp.qq.com"
smtpPort      = "587"
user          = "[email protected]"
password      = "xxxxxxxxxx"
from          = "[email protected]"
to            = ["[email protected]"]
# 配置邮件主题前缀
subjectPrefix = "[vuls漏洞预警]"

请自行去除上述配置中的注释。

执行扫描并输出结果:

# vuls scan && vuls report -format-full-text

配置每周定时任务,实现定时扫描并发送邮件。

0 10 * * 1 cd /root/vuls && bash oval.sh --redhat && vuls scan && vuls report -format-full-text -to-email

最终效果如下:

实战用vuls漏洞扫描器对Linux系统和Python项目进行扫描和审计