安装

1281字约4分钟

2024-05-19

系统分为四个服务:

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

提示

单机部署和分布式部署二选一。

单机部署: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
  • 运行之后一共四个容器
    • scope-sentry (服务端-web界面)
    • scopesentry-scan (扫描端)
    • Mongodb (数据库)
    • Redis

然后访问IP:8082

默认账号密码:ScopeSentry/ScopeSentry

单机部署就这么多,修改账号密码,然后一个命令启动docker alt text

单机部署之后,如果想在其他机器运行扫描节点,只需要单独运行scan,将数据库地址填写为单机部署那台机器的ip。

分布式部署

数据库

提示

请确保安装了 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
# 编辑 redis-docker-compose.yml文件中的yourpassword密码
docker-compose -f redis-docker-compose.yml up -d

MongoDb

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

Web/Server 端

提示

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

Docker 安装

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查看容器日志,确保运行成功。

成功后如下图: alt text

访问 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

运行成功截图 alt text

访问 http://IP:8082

默认账号密码为 ScopeSentry/ScopeSentry

Scan 端

提示

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

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查看容器日志,确保运行成功。

成功后如下图: alt text

直接运行

需要安装 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

运行成功截图:

alt text

数据迁移

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

更新

MongoDb、redis不用动。

Web/Server: 将容器、镜像删除,单机部署可以直接执行之前的配置文件,会自动拉取Web不影响数据库。分布式部署还按照教程重新拉取即可。

Scan:将容器、镜像删除,单机部署可以直接执行之前的配置文件,会自动拉取Scan不影响数据库。分布式部署还按照教程重新拉取即可。