前言
因为我用的腾讯云vps托管过开源的bitwarden服务端和enpass用的webdav服务,所以对安全这一块比较重视,腾讯云的安全扫描这块收费比较贵以及好像不支持业务代码的漏洞扫描,比如Django项目,所以就想到了找一个开源的漏洞扫描器,一番调研,选择了vuls。
安装
1 2 3 4 |
# mkdir -p /root/vuls # cd /root/vuls # wget https://raw.githubusercontent.com/vulsio/vulsctl/master/install-host/install.sh # bash install.sh |
执行上述命令进行安装,耗时较久,请耐心等待。
下载漏洞数据库,下面以CentOS为例:
1 2 |
# wget https://raw.githubusercontent.com/vulsio/vulsctl/master/install-host/oval.sh # bash oval.sh --redhat |
配置文件参考:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
[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" password = "xxxxxxxxxx" # 配置邮件主题前缀 subjectPrefix = "[vuls漏洞预警]" |
请自行去除上述配置中的注释。
执行扫描并输出结果:
1 |
# vuls scan && vuls report -format-full-text |
配置每周定时任务,实现定时扫描并发送邮件。
1 |
0 10 * * 1 cd /root/vuls && bash oval.sh --redhat && vuls scan && vuls report -format-full-text -to-email |
最终效果如下: