OpenCVE-开源漏洞预警平台

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/

celery worker
celery beat
webserver

参考

[1]https://github.com/opencve/opencve

posted @ 2021-02-19 17:39  303donatello  阅读(457)  评论(6编辑  收藏  举报