1281字约4分钟
2024-05-19
系统分为四个服务:
提示
单机部署和分布式部署二选一。
单机部署:compose配置文件会拉取四个服务的镜像创建容器。
分布式部署:web、scan、mongodb、redis在不同机器,保持web、scan可以和mongodb、redis即可。
提示
单机部署的compose配置文件中已经包含了数据库镜像,只需要修改mongodb、redis的账号密码即可。scan的docker由于部分机器网络原因(暂时不清楚哪里的问题),临时解决方案是将network_mode设置为host,所以scan的docker可以使用127进行访问数据库,无需更改。
git clone https://github.com/Autumn-27/ScopeSentry.git
cd ScopeSentry
# 修改.env文件中的mongodb、redis账号密码。
docker-compose -f single-host-deployment.yml up -d
然后访问IP:8082
默认账号密码:ScopeSentry/ScopeSentry
单机部署就这么多,修改账号密码,然后一个命令启动docker
单机部署之后,如果想在其他机器运行扫描节点,只需要单独运行scan,将数据库地址填写为单机部署那台机器的ip。
提示
请确保安装了 docker 和 docker-compose
redis 和 MongoDb 可以不使用 docker 安装,自行按照设置账号密码就行。
mongodb和redis可以不适用本教程提供的docker镜像,可以自行搭建。
版本: mongodb:7.0.4
redis:7.0.11
git clone https://github.com/Autumn-27/ScopeSentry-Scan.git
cd ScopeSentry-Scan/build
# 编辑 redis-docker-compose.yml文件中的yourpassword密码
docker-compose -f redis-docker-compose.yml up -d
git clone https://github.com/Autumn-27/ScopeSentry-Scan.git
cd ScopeSentry-Scan/build
# 编辑 mongodb-docker-compose.yml文件中的账号密码
docker-compose -f mongodb-docker-compose.yml up -d
提示
由于内置数据较多,数据库初始化需要等待一段时间。
git clone https://github.com/Autumn-27/ScopeSentry.git
cd ScopeSentry
# 编辑docke-compose.yml文件中Redis、MongoDb的IP、端口、账号密码
docker-compose up -d
之后可以使用docker logs -f 容器id
查看容器日志,确保运行成功。
成功后如下图:
访问 http://IP:8082
默认账号密码为 ScopeSentry/ScopeSentry
提示
忘记密码进入 Mongodb 数据库修改 user 表中的 password 为 b0ce71fcbed8a6ca579d52800145119cc7d999dc8651b62dfc1ced9a984e6e64 重置为 ScopeSentry
如果 docker pull 太慢,可以本地构建 docker 镜像
git clone https://github.com/Autumn-27/ScopeSentry.git
mv ScopeSentry/dockerfile .
docker build -t autumn27/scopesentry:latest .
cd ScopeSentry
docker-compose up -d
git clone https://github.com/Autumn-27/ScopeSentry.git
cd ScopeSentry
pip install -r requirements.txt
在项目根目录创建 config.yaml 内容如下,修改 Mongodb、Redis 的相关连接信息。
logs:
total_logs: 1000
mongodb:
database_name: ScopeSentry
ip: 127.0.0.1
password: QckSdkg5CKvtxfec
port: 27017
username: root
redis:
ip: 127.0.0.1
password: ScopeSentry
port: '6379'
system:
timezone: Asia/Shanghai
最后运行程序
python3 main.py
运行成功截图
访问 http://IP:8082
默认账号密码为 ScopeSentry/ScopeSentry
提示
由于 Scan 端需要连接数据库并查询内置信息,所以需要等 Server 端运行成功(初始化数据库)之后再进行创建 Scan。推荐 docker 安装~
git clone https://github.com/Autumn-27/ScopeSentry-Scan.git
cd ScopeSentry-Scan/build
# 编辑 scan-docker-compose.yml文件中Mongdb、Redis的连接信息,NodeName为节点名称,每个节点名称请保持唯一性(如果为空会随机生成,可在web界面更改名称)。
docker-compose -f scan-docker-compose.yml up -d
之后可以使用docker logs -f 容器id
查看容器日志,确保运行成功。
成功后如下图:
需要安装 libpcap 环境
Windows 下载 npcap 驱动
Linux 已经静态编译打包 libpcap,无需其他操作
爬虫依赖chrome浏览器参考https://github.com/chaitin/rad
下载 https://github.com/Autumn-27/ScopeSentry-Scan/releases
首次运行会生成配置文件,修改配置文件中的数据库地址,,NodeName 为节点名称,每个节点名称请保持唯一性,其余线程配置可根据自行配置。重新运行
git clone https://github.com/Autumn-27/ScopeSentry-Scan.git
cd ScopeSentry-Scan
go build -o dist/ScopeSentry ./cmd/ScopeSentry/main.go
cd dist
chmod +x ScopeSentry
./ScopeSentry
#首次运行会生成配置文件,修改配置文件中的数据库地址,重新运行
需要安装 libpcap 环境
Windows 下载 npcap 驱动
Linux 安装 libpcap
运行成功截图:
在数据库的docker配置文件中,有挂载目录设置,默认为当前运行目录的data目录,迁移数据时将文件迁移即可。
MongoDb、redis不用动。
Web/Server: 将容器、镜像删除,单机部署可以直接执行之前的配置文件,会自动拉取Web不影响数据库。分布式部署还按照教程重新拉取即可。
Scan:将容器、镜像删除,单机部署可以直接执行之前的配置文件,会自动拉取Scan不影响数据库。分布式部署还按照教程重新拉取即可。