开源漏洞平台 OpenCVE
-
- Docker-copose 部署
-
- 配置
- 初始化
-
- 构建镜像
- 初始化数据库
- 导入数据
- 创建一个管理员
- 后台启动服务
- 手动安装
-
- PostgreSQL 安装
- Redis 安装
- OpenCVE 安装
-
- 相关截图
- FAQ
平台概览
GitHub
- opencve
- opencve-docs
- opencve-docker
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL0UleONzaE50MNpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL2MDNzQDO1kDM3EjNwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
Docker-copose 部署
配置
# 获取OpenCVE Docker
$ git clone https://github.com/opencve/opencve-docker.git
# 准备并从conf目录复制配置文件:
$ cd opencve-docker && cp ./conf/opencve.cfg.example ./conf/opencve.cfg
更新opencve.cfg档案:
- Server_name(如果在.env文件中更改它,请使用相同的端口)
- 秘密钥匙(见瓶)重命令)
- SMTP服务器
- SMTP_User&SMTP_密码(如果有的话)或空的话
Tip
如果要更改默认PostgreSQL密码(强烈建议),可以在docker-compose build前将其添加到
:
.env
然后,不要忘记在opencve.cfg文件中更改它。POSTGRES_PASSWORD=MyStrongPassword42
初始化
构建镜像
#现在可以构建OpenCVE映像:
$ docker-compose build
然后开始一切,除了beat:
$ docker-compose up -d postgres redis webserver celery_worker
初始化数据库
可以使用以下命令初始化数据库:
$ docker exec -it webserver opencve upgrade-db
导入数据
创建了表,现在可以使用import-data指挥:
$ docker exec -it webserver opencve import-data
此命令下载CPE列表、CWE列表和CVE的每个年份(从2002年到现在),因此可能需要几分钟。别担心,你只会做一次。
创建一个管理员
现在您可以创建管理:
$ docker exec -it webserver opencve create-user john [email protected] --admin
Password:
Repeat for confirmation:
[*] User john created.
后台启动服务
$ docker-compose up -d celery_beat
现在你可以使用 OpenCVE 和自己的 dockerized 实例一起使用
手动安装
PostgreSQL 安装
# 安装PostgreSQL
apt install 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
# 退出
\q
Redis 安装
#更新
apt-get install
#安装
apt-get install redis-server -y
#确保配置文件中 daemonize为yes
sudo vim /etc/redis/redis.conf
`
daemonize yes
`
#后台运行
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:[email protected]: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 celery worker -l INFO &
opencve celery beat -l INFO &
# 查看后台进程 jobs
# 切换后台进程 jobs ${Num}
# 后台进程切换到前台 fg ${jobs_Num}
# 后台进程终止 kill ${jobs_Num} / kill pid
'
# 创建OpenCVE管理员
# opencve create-user john [email protected] --admin
opencve create-user ${user} ${userMail} --admin
#启动WEB服务
opencve webserver #默认访问http://127.0.0.1:8000/
相关截图
登录数据库创建数据库用户![]()
2021-06-16 开源漏洞平台 OpenCVE 导入数据库![]()
2021-06-16 开源漏洞平台 OpenCVE 启动web服务![]()
2021-06-16 开源漏洞平台 OpenCVE ![]()
2021-06-16 开源漏洞平台 OpenCVE
FAQ
- 如何更改服务器名称?
默认情况下,OpenCVE的Web服务器监听
127.0.0.1:8000
,但你可以很容易地改变这一点。
第一步是设置server_name配置opencve.cfg文件(OpenCVE使用此设置来正确构造电子邮件模板中的URL):
然后,您可以使用$ cat ~/opencve/opencve.cfg [core] server_name = 0.0.0.0:8080
的选项webserver命令选择您想要的绑定:-b
$ opencve webserver -b 0.0.0.0:8080 [2021-03-27 11:21:12 +0100] [57622] [INFO] Starting gunicorn 20.0.4 [2021-03-27 11:21:12 +0100] [57622] [INFO] Listening at: http://0.0.0.0:8080 (57622) [2021-03-27 11:21:12 +0100] [57622] [INFO] Using worker: sync [2021-03-27 11:21:12 +0100] [57676] [INFO] Booting worker with pid: 57676
- 如何为导入数据命令使用磁盘空间?
OpenCVE必须解析CPE字典以将供应商和产品插入其> PostgreSQL数据库以及CVE和CWE列表中。
因为解析是在内存中完成的,所以import-data命令要求5 GB RAM至少。如果
# 如果您没有5 GB的RAM,并且您有磁盘空间,您可以> 使用交换文件进行CVEs的初始导入: $ fallocate -l 5G /swapfile $ chmod 600 /swapfile $ mkswap /swapfile $ swapon /swapfile # 导入完成后,可以使用以下命令清除swapfile: $ swapoff /swapfile $ rm /swapfile