0x01简介
主程序主要是通过使用NVD提供的JSON数据来更新CVE数据,并在前端进行展示。然后通过邮件进行通知,目前也只支持邮件。这个开源预警平台看上去并不是很完善,因为CVE本身就具有预警滞后性,但是做为情报库积累或者进行二次开发是可以满足更多需求的。
0x02环境
kali Linux kali 5.9.0-kali1-amd64 #1 SMP Debian 5.9.1-1kali2 (2020-10-29) x86_64 GNU/Linux
python 3.8.6 #OpenCVE需要 Python> = 3.6
PostgreSQL 13.0 (Debian 13.0-4) #OpenCVE只使用PostgreSQL来存储数据
Redis server v=6.0.9
0x03安装
① PostgreSQL 安装
#kali默认自带了PostgreSQL启动即可
service postgresql start
#登录控制台
sudo -u postgres psql
#修改登陆密码
ALTER USER postgres WITH PASSWORD '123456'; #修改用户 postgres 的密码为 123456
#创建数据库
CREATE DATABASE cvedb OWNER postgres; #为用户 postgres 创建数据库:cvedb
② Redis 安装
#更新
apt-get install
#安装
apt-get install redis-server -y
#确保配置文件中daemonize为yes
sudo vim /etc/redis/redis.conf
#后台运行
redis-server /etc/redis/redis.conf
#测试redis
redis-cli
③ OpenCVE 安装
#通过pip进行安装
pip install opencve #可能存在报错,根据报错信息直接pip install安装相应失败包即可,然后重新执行该命令即成功
#生成配置文件
opencve init #直接vim cfg文件可以查看core配置进行各项配置
>>[*] Configuration created in /home/kali/opencve/opencve.cfg
#配置数据库地址
vim /home/kali/opencve/opencve.cfg
编辑database_uri配置项:
database_uri = postgresql://postgres:123456@127.0.0.1:5432/cvedb
#初始化数据库
opencve upgrade-db #因为OpenCVE使用JSONB功能来提高性能,所以它仅支持PostgreSQL
#导入历史的cve数据
opencve import-data #默认是N,需要键入y拉取CVE历史数据(2002年至今)
#启动 Celery任务
opencve celery worker -l INFO #工作程序
opencve celery beat -l INFO #调度程序,默认每15分钟拉取一次
#创建OpenCVE管理员
opencve create-user cveadmin ex@example.com --admin
#启动WEB服务
opencve webserver #默认访问http://127.0.0.1:8000/