NextScan(飞刃)安装教程 |
您所在的位置:网站首页 › etcd配置文件详解 › NextScan(飞刃)安装教程 |
目录 手动部署 环境要求⚓︎ 1、管理平台⚓︎ 2、扫描服务⚓︎ 3、爬虫服务(按需部署)⚓︎ 4、代理服务(按需部署)⚓︎ 5、分布式部署⚓︎ 6、配置文件内容解读⚓︎ 6-1、配置文件格式⚓︎ 6-2、配置项说明⚓︎ Docker部署 1、Docker Compose(一键式部署)⚓︎ 1-1、下载安装文件⚓︎ 1-2、启动与停止⚓︎ 1-3、访问⚓︎ 1-4、配置项修改⚓︎ 2、单宿主机部署⚓︎ 2-1、管理平台⚓︎ 2-2、扫描服务⚓︎ 2-3、爬虫服务⚓︎ 代理部署 一、代理服务安装(手动部署)⚓︎ 二、代理服务安装(docker部署)⚓︎ 1、需要先删掉旧服务⚓︎ 2、添加管理端的conf.ini⚓︎ 3、修改docker-compose.yaml⚓︎ 4、重新启动各docker容器⚓︎ 5、下载安装代理服务⚓︎ 手动部署企业推荐安装方式,支持分布式部署手动部署时,重复部署将会覆盖已有服务。 环境要求⚓︎ OS/ArchArchitectureSoft RequirementMinimize Hardwarelinux/amd64x86_64wget curl tar unzip2Core/8GB RAM/ 60G HDD 名称版本是否必要mongo= 4.2.*是etcd>=3.0是文件存储ceph、minio(支持s3协议)否 名称版本单机集群(cluster)哨兵(Sentinel)redis>=4.0✔️❌❌需要先安装好以上版本数据库及中间件。 mongo数据库首次使用,需初始化 下载数据文件,解压后使用db.js(init/db.js)。进入 mongo shell ##默认数据库为:NextScan,可自行修改同时部署管理平台时修改配置文件。 use NextScan; load("db.js文件绝对路径");国内下载地址:数据文件 1、管理平台⚓︎启动要求:和etcd、redis服务网络相通 1. 下载 wget https://github.com/tongcheng-security-team/NextScan/releases/download/v1.1.0/ns-admin_linux_x86_64.tar.gz tar zxvf ns-admin_linux_x86_64.tar.gz && cd ns-admin_linux_x86_64 # or 国内下载: wget https://oss.17usoft.com/nextscan/download/v1.1.0/ns-admin_linux_x86_64.tar.gz tar zxvf ns-admin_linux_x86_64.tar.gz && cd ns-admin_linux_x86_64 文件名描述assets资源文件conf.ini配置文件mongomongo需要的初始化数据文件ns-admin二进制可执行文件start.sh一键启动脚本stop.sh一键停止脚本web静态资源文件2. 修改配置文件 默认配置格式 #管理平台访问地址,手动部署可不填,docker部署则必填,若使用域名请配置:http://域名 serverUrl = #redis配置 [redis] Addr = 127.0.0.1:6379 PoolSize = 20 MinIdleConns = 5 Password = #可选配置:MaxConnAge、ReadTimeout、WriteTimeout(int64) #mongo配置 [mongo] MgoUrl = mongodb://127.0.0.1:27017/NextScan DbName = NextScan PoolLimit = 50 MgoTimeout = 30 #etcd配置 [etcd] Endpoints = 127.0.0.1:2379 Username = Password = #5秒 DialTimeout = 5000000000 #可选配置:DialKeepAliveTime、DialKeepAliveTimeout [log] #日志级别 panic、fatal、error、warn、info、debug、trace Level = info Stdout = true #日志文件存储 [log.file] Filename = ./ns-admin.log MaxSize = 100 MaxBackups = 30 MaxAge = 30 Compress = false [aws] #文件存储服务配置 Addr = PublicAddr = AccessKey = SecretKey = Bucket = [http] Port = 80 #运行级别 debug、release、test Mode = release [other] #ip区域查询数据文件配置 XDBPath = ./assets/ip2region.xdb可只修改etcd、mongo、redis地址,其他使用默认即可。详细查看具体配置项说明 3. 启动与停止 ./start.sh #启动 ./stop.sh #停止4. 访问 http://你的ip 用户名:admin 默认密码:nextscan 2、扫描服务⚓︎启动要求:管理平台启动成功,和管理平台服务及etcd、redis服务网络相通。 1. 下载 wget https://github.com/tongcheng-security-team/NextScan/releases/download/v1.1.0/ns-scan_linux_x86_64.tar.gz tar zxvf ns-scan_linux_x86_64.tar.gz && cd ns-scan_linux_x86_64 # or 国内下载: wget https://oss.17usoft.com/nextscan/download/v1.1.0/ns-scan_linux_x86_64.tar.gz tar zxvf ns-scan_linux_x86_64.tar.gz && cd ns-scan_linux_x86_64 文件名描述ns-scan二进制可执行文件start.sh一键启动脚本stop.sh一键停止脚本2. 启动与停止 启动参数 启动例子 ./start.sh -gintranet -shttp://127.0.0.1 #或者 ./start.sh -gintranet -shttp://域名停止 ./stop.sh 3、爬虫服务(按需部署)⚓︎启动要求:管理平台启动成功,和管理平台服务及etcd、redis服务网络相通。 1. 下载 wget https://github.com/tongcheng-security-team/NextScan/releases/download/v1.1.0/ns-craw_linux_x86_64.tar.gz tar zxvf ns-craw_linux_x86_64.tar.gz && cd ns-craw_linux_x86_64 # or 国内下载: wget https://oss.17usoft.com/nextscan/download/v1.1.0/ns-craw_linux_x86_64.tar.gz tar zxvf ns-craw_linux_x86_64.tar.gz && cd ns-craw_linux_x86_64 文件名描述ns-craw二进制可执行文件start.sh一键启动脚本stop.sh一键停止脚本lib依赖文件夹2. 启动 启动参数 启动例子 ./start.sh -gintranet -shttp://127.0.0.1 #或者 ./start.sh -gintranet -shttp://域名停止 ./stop.sh 4、代理服务(按需部署)⚓︎参考:代理服务部署 5、分布式部署⚓︎架构如下: 分布式部署方式: 按以上方式正常添加相应节点(扫描,爬虫)部署即可,部署后系统会自动增加节点 分布式部署作用 1) 可以将项目(一组任务)分散到多个节点上,如果其中一个节点出现问题,其他节点仍然可以继续运行扫描任务; 2) 大大缩短扫描时间,提高扫描效率; 6、配置文件内容解读⚓︎ 6-1、配置文件格式⚓︎ #管理平台访问地址,手动部署可不填,docker环境下并且需部署代理节点时必填(宿主机ip),若使用域名请配置:http://域名 serverUrl = #redis配置 [redis] Addr = 127.0.0.1:6379 PoolSize = 20 MinIdleConns = 5 Password = #可选配置:MaxConnAge、ReadTimeout、WriteTimeout(int64) #mongo配置 [mongo] MgoUrl = mongodb://127.0.0.1:27017/NextScan DbName = NextScan PoolLimit = 50 MgoTimeout = 30 #etcd配置 [etcd] Endpoints = 127.0.0.1:2379 Username = Password = #5秒 DialTimeout = 5000000000 #可选配置:DialKeepAliveTime、DialKeepAliveTimeout [log] #日志级别 panic、fatal、error、warn、info、debug、trace Level = info Stdout = true #日志文件存储 [log.file] Filename = ./ns-admin.log MaxSize = 100 MaxBackups = 30 MaxAge = 30 Compress = false [aws] #文件存储服务配置 Addr = PublicAddr = AccessKey = SecretKey = Bucket = [http] Port = 80 #运行级别 debug、release、test Mode = release [other] #ip区域查询数据文件配置 XDBPath = ./assets/ip2region.xdb 6-2、配置项说明⚓︎ 配置项描述是否必填格式serverUrl管理平台访问地址;若使用域名请配置手动部署时可不填;docker环境下并且需部署代理节点时必填(宿主机ip)http://域名(宿主机IP)[redis] Addrredis地址是ip:端口[redis] PoolSize连接池大小否;不填则默认:10*cpu个数数字[redis] MinIdleConns创建时有用的最小空闲连接数否数字[redis] MaxConnAge连接存活时长,从创建开始计时,超过指定时长则关闭连接否;默认为0,即不关闭存活时长较长的连接数字时间,如:5000000000(表示5000000000纳秒(5秒))[redis] ReadTimeout读超时否;不填默认:3秒,-1表示取消超时数字时间,如:5000000000(表示5000000000纳秒(5秒))[redis] WriteTimeout写超时否;不填默认:3秒, -1表示取消超时数字时间,如:5000000000(表示5000000000纳秒(5秒))[mongo] MgoUrlmongo数据库访问url是mongodb://用户名:密码@ip1:端口,ip2:端口/数据库名称[mongo] DbName数据库名称是字符串[mongo] PoolLimit连接池大小否;不填默认:4096,数字[mongo] MgoTimeout写超时是数字,如:5(表示5秒)[etcd] Endpointsetcd服务器地址是(域名)ip:端口;多个逗号隔开[etcd] Usernameetcd用户名否字符串[etcd] Passwordetcd密码否字符串[etcd] DialTimeout连接超时时间是数字时间,如:5000000000(表示5000000000纳秒(5秒))[log] Level日志级别否,不填默认:infopanic、fatal、error、warn、info、debug、trace[log] Stdout是否在控制台输出日志否false或者true[log.file] Filename日志文件路径是如:./ns-admin.log[log.file] MaxSize文件最大大小否; 不填默认:0数字[log.file] MaxAge备份日志的数量否;不填默认:0数字[log.file] Compress是否压缩否false或者true[aws] Addr文件服务器地址否如:http://ns-minio:9000[aws] AccessKeyaccess秘钥否字符串[aws] SecretKeysecret秘钥否字符串[aws] Bucket文件桶否字符串[http] Port管理平台服务端口否;不填默认:80端口号[http] Mode管理平台运行级别否;不填默认:releasedebug、release、test[other] XDBPathip区域查询数据文件配置否(使用默认即可)文件路径 Docker部署 1、Docker Compose(一键式部署)⚓︎请提前安装docker-compose,docker-compose 使用文档 1-1、下载安装文件⚓︎ wget https://github.com/tongcheng-security-team/NextScan/releases/download/v1.1.0/mongo.tar.gz wget https://github.com/tongcheng-security-team/NextScan/releases/download/v1.1.0/docker-compose.yaml tar zxvf mongo.tar.gz # 国内下载 wget https://oss.17usoft.com/nextscan/download/v1.1.0/mongo.tar.gz wget https://oss.17usoft.com/nextscan/download/v1.1.0/docker-compose.yaml tar zxvf mongo.tar.gz docker-compose.yaml :配置文件mongo:存放mongo启动和初始化文件 1-2、启动与停止⚓︎ docker-compose.yaml 启动时确保和mongo在同一目录下 docker-compose up -d #启动 docker-compose stop #停止 docker logs 容器ID #查看日志 docker ps -a #查看是否正常运行注意:启动后容器ns-minio-buckets(镜像minio/mc)为一次性执行,首次执行成功就会退出,再次启动报错不影响正常使用可忽略,属于正常情况。 启动成功后如下 登录系统后,查看节点管理->节点管理,查看有对应两个节点则表示服务都启动成功。扫描节点首次启动需要下载同步资源比较慢,请耐心等待(大约5分钟) 1-4、配置项修改⚓︎如有特殊需求可自行修改docker-compose.yaml 文件 docker-compose.yaml⚓︎ redis密码配置 # 默认密码:3d7a6447328dcde6 redis: command: --requirepass "你的密码"mongo数据库配置 mongo: environment: ### admin 身份验证数据库用户名及密码 MONGO_INITDB_ROOT_USERNAME: admin数据库用户名 MONGO_INITDB_ROOT_PASSWORD: admin数据库密码 ### NextScan数据库用户名 MONGO_USERNAME: 你的用户名 # NextScan数据库密码 MONGO_PASSWORD: 你的密码如果你之前已经启动过一次,有了mongo容器,那么这个方法无法更改mongo数据库密码,需要通过命令行修改密码。 etcd密码配置 etcd: environment: # etcd root用户密码 - ETCD_ROOT_PASSWORD=你的密码扫描服务对应配置 scan: command: #extranet(外网环境)intranet(内网环境) --group=extranet #管理服务器地址 --server=http://ns-admin爬虫服务对应配置 craw: command: #extranet(外网环境)intranet(内网环境) --group=extranet #管理服务器地址 --server=http://ns-admin如果修改了docker-compose.yaml文件,需要在管理端服务器创建完整conf.ini文件并且挂载配置,按需修改文件中的配置项,用于覆盖默认配置 管理配置文件conf.ini⚓︎ 文件格式 #redis配置 [redis] Addr = ns-redis:6379 PoolSize = 20 MinIdleConns = 5 Password = 3d7a6447328dcde6 #MaxConnAge、ReadTimeout、WriteTimeout(int64) #mongo配置 [mongo] MgoUrl = mongodb://NextScan:56074e26d5a39aad@ns-mongo:27017/NextScan DbName = NextScan PoolLimit = 50 MgoTimeout = 30 #etcd配置 [etcd] Endpoints = ns-etcd:2379 Username = root Password = 0117be99f79bf9e2 #5秒 DialTimeout = 5000000000 #DialKeepAliveTime、DialKeepAliveTimeout #日志配置 [log] #日志级别 panic、fatal、error、warn、info、debug、trace Level = info Stdout = true #日志文件存储 [log.file] Filename = ./server.log MaxSize = 100 MaxBackups = 30 MaxAge = 30 Compress = false #文件存储服务配置 [aws] Addr = http://ns-minio:9000 AccessKey = vi75e SecretKey = hFimqbrlBE Bucket = next-scan #web服务配置 [http] Port = 80 #运行级别 debug、release、test Mode = release [other] #ip区域查询数据文件配置 XDBPath = ./assets/ip2region.xdb挂载配置⚓︎ web: image: "lysec/ns-admin:v1" ports: - "80:80" depends_on: - redis - mongo - etcd - minio - createbuckets container_name: ns-admin volumes: # 配置文件 - 你的配置文件路径:/next-scan/conf.ini登录系统后,查看节点管理->节点管理,查看有对应两个节点则表示服务都启动成功。扫描节点首次启动需要下载同步资源比较慢,请耐心等待(大约5分钟) 2、单宿主机部署⚓︎请确认已安装并启动docker,并且相关第三方数据库及中间件服务已部署完成 docker network create ns ##创建自定义网络 2-1、管理平台⚓︎拉取镜像: docker image pull lysec/ns-admin:latest启动前需先创建管理端配置文件(conf.ini) 后续挂载到容器中,文件内容及说明,并且根据实际情况修改配置文件中相关中间件(redis、etcd、mongo等)配置。 启动: docker run -p 80:80 -v 您的配置文件路径:/go/next-scan/conf.ini --network ns --name ns-admin -d lysec/ns-admin:latest访问管理端: http://宿主机IP(域名) 用户名:admin 默认密码:nextscan 2-2、扫描服务⚓︎拉取镜像: docker image pull lysec/ns-scan:latest启动参数说明: 名称说明格式group指定节点所在网络环境extranet(外网环境、intranet(内网环境)server指定管理平台地址http://管理平台地址启动命令 # 启动命令 docker run --network ns --name ns-scan -d lysec/ns-scan:latest --group=网络环境 --server=http://ns-admin #例子:网络环境为内网的启动命令 docker run --network ns --name ns-scan -d lysec/ns-scan:latest --group=intranet --server=http://ns-admin首次启动需要下载同步资源比较慢,请耐心等待(大约5分钟)。 若在管理平台查看新增节点成功,则成功启动。 2-3、爬虫服务⚓︎拉取镜像: docker image pull lysec/ns-craw:latest启动参数说明: 名称说明格式group指定节点所在网络环境extranet(外网环境、intranet(内网环境)server指定管理平台地址http://管理平台地址(此处使用默认即可)启动命令: # 启动命令 docker run --network ns --name ns-craw -d lysec/ns-craw:latest --group=网络环境 --server=http://ns-admin #例子:网络环境为内网的启动命令 docker run --network ns --name ns-craw -d lysec/ns-craw:latest --group=intranet --server=http://ns-admin代理部署 本节主要介绍在手动部署和docker部署方式下怎么安装代理服务 注意:目前代理服务自身不支持docker容器启动,仅支持安装包手动部署,以下均为使用安装包部署! 一、代理服务安装(手动部署)⚓︎前提条件:管理平台启动成功,并且和etcd、redis服务网络相通。8888端口未占用 1. 下载 wget https://github.com/tongcheng-security-team/NextScan/releases/download/v1.1.0/ns-proxy_linux_x86_64.tar.gz tar zxvf ns-proxy_linux_x86_64.tar.gz && cd ns-proxy_linux_x86_64 # or 国内下载: wget https://oss.17usoft.com/nextscan/download/v1.1.0/ns-proxy_linux_x86_64.tar.gz tar zxvf ns-proxy_linux_x86_64.tar.gz && cd ns-proxy_linux_x86_64 文件名描述ns-proxy二进制可执行文件start.sh一键启动脚本stop.sh一键停止脚本scan.crt自签证书scan.key私钥2. 启动与停止 启动参数 启动例子 ./start.sh -gintranet -shttp://127.0.0.1 #或者 ./start.sh -gintranet -shttp://域名停止 ./stop.sh代理服务自己的端口为:8888,不可更改。 二、代理服务安装(docker部署)⚓︎docker部署方式下使用代理需保证代理服务所在机器能访问到admin和etcd 服务,所以请按以下步骤安装 1、需要先删掉旧服务⚓︎ docker-compose down 2、添加管理端的conf.ini⚓︎如果没有需先创建该文件,增加admin和etcd服务的端口映射(如下所示), 服务端会自动下发etcd配置给代理服务 conf.ini 文件内容 serverUrl = http://宿主机ip:admin映射端口 #redis配置 [redis] Addr = ns-redis:6379 PoolSize = 20 MinIdleConns = 5 Password = 3d7a6447328dcde6 #MaxConnAge、ReadTimeout、WriteTimeout(int64) #mongo配置 [mongo] MgoUrl = mongodb://NextScan:56074e26d5a39aad@ns-mongo:27017/NextScan DbName = NextScan PoolLimit = 50 MgoTimeout = 30 #etcd配置 [etcd] Endpoints = 宿主机ip:2379 Username = root Password = 0117be99f79bf9e2 #5秒 DialTimeout = 5000000000 #DialKeepAliveTime、DialKeepAliveTimeout #日志配置 [log] #日志级别 panic、fatal、error、warn、info、debug、trace Level = info Stdout = true #日志文件存储 [log.file] Filename = ./server.log MaxSize = 100 MaxBackups = 30 MaxAge = 30 Compress = false #文件存储服务配置 [aws] Addr = http://ns-minio:9000 AccessKey = vi75e SecretKey = hFimqbrlBE Bucket = next-scan #web服务配置 [http] Port = 80 #运行级别 debug、release、test Mode = release [other] #ip区域查询数据文件配置 XDBPath = ./assets/ip2region.xdb 3、修改docker-compose.yaml⚓︎etcd 添加映射端口,能让外部通过宿主机ip:port访问到容器下的etcd;并且挂载conf.ini etcd: image: "bitnami/etcd:3.5.6" ports: - '2379:2379' web: image: "lysec/ns-admin:v1" ports: - "80:80" depends_on: - redis - mongo - etcd - minio - createbuckets container_name: ns-admin volumes: # 配置文件 - 你的配置文件路径:/next-scan/conf.ini 4、重新启动各docker容器⚓︎ docker-compose up 5、下载安装代理服务⚓︎下载 wget https://github.com/tongcheng-security-team/NextScan/releases/download/v1.1.0/ns-proxy_linux_x86_64.tar.gz tar zxvf ns-proxy_linux_x86_64.tar.gz && cd ns-proxy_linux_x86_64 # or 国内下载: wget https://oss.17usoft.com/nextscan/download/v1.1.0/ns-proxy_linux_x86_64.tar.gz tar zxvf ns-proxy_linux_x86_64.tar.gz && cd ns-proxy_linux_x86_64启动 ./start.sh -gintranet -s宿主机ip:admin映射端口
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |