Github扫描平台-Hawkeye

前言:公司的开发人员存在将代码上传至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