scnr/installer
GitHub: scnr/installer
Codename SCNR 的官方安装器,提供 Docker、自动脚本和手动安装三种方式来部署这款 Web 应用漏洞扫描工具及其 Pro 版本 Web 管理界面。
Stars: 8 | Forks: 0
# 已迁移至 https://github.com/ecsypno/spectre-scan
# Codename SCNR 安装程序
[Codename SCNR](https://ecsypno.com/pages/codename-scnr) 的安装说明:
* [Docker 安装](#docker-installation) -- 适用于 Mac OSX、Linux 和 MS Windows。_(推荐)_
* [自动安装](#automated-installation) -- 适用于 Linux。
* [手动安装](#manual-installation) -- 适用于 Linux。
* [无头环境或 WSL 的依赖项](#dependencies-for-headless-environments-or-wsl)
## Docker 安装
前置条件:
* [Docker Compose](https://docs.docker.com/compose/)
```
git clone https://github.com/scnr/installer.git codename-scnr-installer
cd codename-scnr-installer
docker compose up -d --build # Start the services.
# 在某些系统上可能需要使用带连字符的 "docker-compose"。
docker exec -it codename-scnr-app-1 bash # Connect to the container.
# 从容器内部:
./setup.sh # Install Codename SCNR over the network.
```
_在某些 Linux 发行版中,您可能需要在 `docker` 命令前加上 `sudo`。_
您现在可以使用 `scnr-v*/bin` 目录下的可执行文件来运行 Codename SCNR。
1. 对于 CLI 扫描,您可以运行 `bin/scnr URL`。
2. 您可以通过运行 `bin/scnr_pro` 来使用 Codename SCNR Pro。
有关更多信息,请查阅[文档](https://documentation.ecsypno.com/scnr/)。
### 更新
当发布新版本时,您可以运行 `./setup.sh` 来自动安装。
### 注意!
使用 `docker compose stop` 来停止容器,并使用 `docker compose start` 来再次启动它。
**切勿**使用 `docker compose up` 或 `docker compose down`,因为它们将删除所有文件系统数据。
## 自动安装
要在您选择的终端中运行以下命令进行安装:
```
bash -c "$(curl -sSL https://get.ecsypno.com/scnr)"
```
您现在可以使用 `scnr-v*/bin` 目录下的可执行文件来运行 Codename SCNR。
1. 对于 CLI 扫描,您可以运行 `bin/scnr URL`。
2. 您可以通过运行 `bin/scnr_pro` 来使用 Codename SCNR Pro
1. 对于生产环境工作负载,建议设置 PostgreSQL。
有关更多信息,请查阅[文档](https://documentation.ecsypno.com/scnr/)。
### PostgreSQL
为了获得更可靠的 Codename SCNR Pro 体验,最好将其配置为使用 PostgreSQL。
请在角色创建命令中将 `secret` 替换为一个安全的密码。
#### 角色创建
```
$ sudo -u postgres psql
postgres=# CREATE USER "scnr-pro" WITH PASSWORD 'secret';
postgres=# ALTER USER "scnr-pro" superuser;
```
#### 连接
```
# 备份 SQLite config。
mv ~/.scnr/pro/config/database.yml ~/.scnr/pro/config/database.yml.bak
# 设置为使用 PostgreSQL config。
cp ~/.scnr/pro/config/database.postgres.yml ~/.scnr/pro/config/database.yml
```
现在编辑 `~/.scnr/pro/config/database.yml` 以将密码从 `secret` 更改。
#### 设置
从 Codename SCNR 包目录中:
```
bin/scnr_pro_task db:create db:migrate db:seed
```
## 手动安装
1. 下载[最新包](https://github.com/scnr/installer/releases)。
2. 解压。
您现在可以使用 `bin/` 目录下的可执行文件来运行 Codename SCNR。
对于 CLI 扫描,您可以运行 `bin/scnr URL`。
有关更多信息,请查阅[文档](https://documentation.ecsypno.com/scnr/)。
### Codename SCNR Pro (WebUI)
您可以通过运行 `bin/scnr_pro` 来运行 Codename SCNR Pro。
如果您想使用 Codename SCNR WebUI,则需要准备其数据库。
开箱即用,WebUI 默认配置为使用 [SQLite](https://sqlite.org/index.html),但是,为了获得更好的结果和性能,请切换到 [PostgreSQL](https://www.postgresql.org/)。
#### PostgreSQL
##### 配置
请在角色创建命令中将 `secret` 替换为一个安全的密码。
###### 角色创建
```
$ sudo -u postgres psql
postgres=# CREATE USER "scnr-pro" WITH PASSWORD 'secret';
postgres=# ALTER USER "scnr-pro" superuser;
```
###### 连接
从包根目录:
```
# 备份 SQLite config。
mv .system/scnr-ui-pro/config/database.yml .system/scnr-ui-pro/config/database.yml.bak
# 设置为使用 PostgreSQL config。
cp .system/scnr-ui-pro/config/database.postgres.yml .system/scnr-ui-pro/config/database.yml
```
现在编辑 `.system/scnr-ui-pro/config/database.yml` 以将密码从 `secret` 更改。
#### 设置
如果这是一个全新安装,您可以使用以下命令设置数据库:
```
./bin/scnr_pro_task db:create db:migrate db:seed
```
#### 更新
如果您想更新现有安装,可以使用以下命令进行:
```
./bin/scnr_pro_task db:migrate
```
## 无头环境或 WSL 的依赖项
对于最小化环境(例如无头服务器或 Windows Subsystem for Linux),请首先运行:
```
sudo apt-get update
sudo apt-get install libgconf-2-4 libatk1.0-0 libatk-bridge2.0-0 libgdk-pixbuf2.0-0 libgtk-3-0 libgbm-dev libnss3-dev libxss-dev libasound2 libicu-dev
```
## 许可证
版权所有 2023 [Ecsypno Single Member P.C.](https://ecsypno.com/)。保留所有权利。
标签:CISA项目, Cutter, Docker, Docker Compose, Docker安装, Ecsypno, SCNR, Shell脚本, Spectre Scan, Web应用扫描器, 云存储安全, 反取证, 安全测试, 安全评估, 安全防御评估, 安装脚本, 密码管理, 手动安装, 插件系统, 攻击性安全, 测试用例, 特权提升, 环境配置, 网络扫描, 自动化安装, 自动化部署, 请求拦截