前言:公司的开发人员存在将代码上传至Github,造成敏感资产泄露,老板要求搭建一个GitHub扫描平台监控。比较了几款漏扫软件,选了一款呼声比较高,使用简便的hawkeye。网络上很多人推荐这个软件,但实际搭建的过程中存在的问题很少有教程。我总结了整个流程以及出现的问题,供参考
一、安装docker
adv --keyserver?hkp://p80.pool.sks-keyservers.net:80?--recv-keys 58118E89F3A912897C070ADBF76221572C52609D
echo 'deb?https://apt.dockerproject.org/repo?debian-stretch main' > /etc/apt/sources.list.d/docker.list
apt-get update && sudo apt-get install docker-engine
-----systemctl start docker ? ? #开机自启动
-------------------------------------------分割线-------------------------------------------------
二、安装扫描平台
1.安装地址
https://github.com/0xbug/Hawkeye
git clone?https://github.com/0xbug/Hawkeye.git? ? #安装
cd Hawkeye
docker build -t hawkeye . ? ?#末尾有一个点
docker run -ti -p 80:80 -e MONGODB_URI=mongodb://username:password@ip:27017/hawkeye?-e MONGODB_USER= -e MONGODB_PASSWORD= -d hawkeye ? ? ?#mongodb 需认证
docker run -ti -p 80:80 -e MONGODB_URI=mongodb://ip:27017 -d hawkeye ? ## mongodb 无认证
提示:注意mongodb安装在哪,后续报500的错很大部分是因为数据库连接问题。
我在安装的过程中将mongo安装在宿主机上,但在上一条指令中,将数据库的地址指向docker地址,导致连不上数据库报错。
-------------------------------------------分割线-------------------------------------------------
三、建立mongodb数据库
https://www.jianshu.com/p/e57869e702dd
-------------------------------------------分割线-------------------------------------------------
四、解决报错
在搭建的过程中遇到web页面报500和502,排查后有两个原因
3.1docker没有连接本地数据库mongo
docker0 IP : 172.17.0.1
docker container id : id
解决办法:
a.检查mongodb 配置信息,允许外部ip 连接:
cat /etc/mongod.conf
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0 ? ? ??
#bindIP设置为0.0.0.0允许外部连接
b.mongodb 中新建 hawkeye 库:
mongo ? ?#启动
use hawkeye ? ?#创建数据库
docker exec id curl 172.17.0.1:27017 ? #验证容器是否能连接mongodb
3.2 网络错误
在我的环境中,docker 默认是bridge 方式运行的,docker 获取不到ip, 所以网络错误。
解决方法:
使用host 方式:
docker run -ti --network=host -e MONGODB_URI=mongodb://localhost:27017?-d hawkeye