分布式

Autumn

1018字约3分钟

2024-11-17

提示

忘记密码

  1. 进入 Mongodb 数据库修改 user 表中的 password 为 b0ce71fcbed8a6ca579d52800145119cc7d999dc8651b62dfc1ced9a984e6e64 (明文为ScopeSentry)
  2. 执行下边命令初始化密码为ScopeSentry

docker exec -it scopesentry-mongodb mongosh -u admin -p password --eval 'db = db.getSiblingDB("ScopeSentry"); db.user.updateOne({ "username": "ScopeSentry" }, { $set: { "password": "b0ce71fcbed8a6ca579d52800145119cc7d999dc8651b62dfc1ced9a984e6e64" } })'

系统分为四个服务:

  • web/server端-用于资产管理、任务管理等
  • scan端-用于扫描,可以在多台机器部署
  • Mongodb-数据库,只要web和scan能连接上这个数据库就行。
  • redis-redis,只要web和scan能连接上这个redis就行。

数据库(需要自建数据库或者使用docker搭建数据库)

提示

请确保安装了 docker 和 docker-compose

redis 和 MongoDb 可以不使用 docker 安装,自行按照设置账号密码就行。

mongodb和redis可以不使用用本教程提供的docker镜像,可以自行搭建。

版本: mongodb:7.0.4

redis:7.0.11

redis

git clone https://github.com/Autumn-27/ScopeSentry-Scan.git
cd ScopeSentry-Scan/build
# 修改 .env文件中的REDIS_PASSWORD
docker-compose -f redis-docker-compose.yml up -d

MongoDb

git clone https://github.com/Autumn-27/ScopeSentry-Scan.git
cd ScopeSentry-Scan/build
# 修改 .env文件中的MONGO_INITDB_ROOT_USERNAME、MONGO_INITDB_ROOT_PASSWORD
docker-compose -f mongodb-docker-compose.yml up -d

Linux

Web/Server 端

提示

由于内置数据较多,数据库初始化需要等待一段时间。

忘记密码进入 Mongodb 数据库修改 user 表中的 password 为 b0ce71fcbed8a6ca579d52800145119cc7d999dc8651b62dfc1ced9a984e6e64 重置为 ScopeSentry 或者 docker exec -it scopesentry-mongodb mongosh -u admin -p password --eval 'db = db.getSiblingDB("ScopeSentry"); db.user.updateOne({ "username": "ScopeSentry" }, { $set: { "password": "b0ce71fcbed8a6ca579d52800145119cc7d999dc8651b62dfc1ced9a984e6e64" } })'

docker安装

git clone https://github.com/Autumn-27/ScopeSentry-Scan.git
cd ScopeSentry-Scan/build
# 修改 .env文件中的mongodb、redis账号密码以及地址端口
docker-compose -f server-docker-compose.yml up -d

之后可以使用docker logs -f 容器id查看容器日志,确保运行成功。

访问 http://IP:8082

安装过程docker日志会输出初始用户密码已经插件的二次验证密码。

源码安装

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:
  mongodb_database: ScopeSentry
  ip: 127.0.0.1
  password: ""
  port: 27017
  username: admin
redis:
  ip: 127.0.0.1
  password: ""
  port: '6379'
system:
  timezone: Asia/Shanghai

最后运行程序

python3 main.py

scan端

提示

由于 Scan 端需要连接数据库并查询内置信息,所以需要等 Server 端运行成功(初始化数据库)之后再进行创建 Scan。推荐 docker 安装~

Docker 安装

git clone https://github.com/Autumn-27/ScopeSentry-Scan.git
cd ScopeSentry-Scan/build
# 编辑 .env文件中Mongdb、Redis的连接信息,NodeName为节点名称,每个节点名称请保持唯一性(如果为空会随机生成,可在web界面更改名称)。
docker-compose -f scan-docker-compose.yml up -d

之后可以使用docker logs -f 容器id查看容器日志,确保运行成功。

成功后如下图: alt text

直接运行

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

运行成功截图:

alt text

Windows

Web/Server端

源码安装

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:
  mongodb_database: ScopeSentry
  ip: 127.0.0.1
  password: ""
  port: 27017
  username: admin
redis:
  ip: 127.0.0.1
  password: ""
  port: '6379'
system:
  timezone: Asia/Shanghai

最后运行程序

python3 main.py

Scan端

需要安装 libpcap 环境

Windows 下载 npcap 驱动

下载 https://github.com/Autumn-27/ScopeSentry-Scan/releases

首次运行会生成配置文件,修改配置文件中的数据库地址,,NodeName 为节点名称,每个节点名称请保持唯一性

数据迁移

在数据库的docker配置文件中,有挂载目录设置,默认为当前运行目录的data目录,迁移数据时将文件迁移即可。