本帖最后由 木二 于 2022-10-19 23:06 编辑
一 ITM概述 1.1 ITM介绍 ITM是内部威胁管理(inner threat manage),就是发现从公司内部产生的威胁。 近年来,在各级机关的保密检査中发现通过互联网违规发布涉密文件资料的案件逐年增多,为避免更多的损失,同时能对公司内部员工的一些上网行为进行监管,对有风险的行为及时确认及阻止,结合AC,ITM可有效的满足此类场景。 其主要的应用价值如下: 1.2 体系架构 ITM服务器采用分布式大数据分析平台,自研分布式大数据分析平台有如下特点:
自主研发的一个高性能,高稳定性和可扩展的分布式数据存储,计算与服务的平台。 集群节点支持多磁盘存储数据,多副本备份数据,且可以通过增加工作机器数量横向扩展计算性能,以及通过提高CPU、内存、磁盘等硬件配置纵向扩展计算性能。 支持自动化的表构建,表损坏恢复(lineage血统机制)和MVCC,呈现给开发者的是一个完整的数据仓库。
1.3 ITM部署模式 ITM产品的部署提前是已经具备了一台AC设备,其中AC作为上网行为日志审计端,可以将用户上网过程中产生的流量保存为日志文件,通过同步日志给ITM平台,就能在ITM平台进行内部威胁的日志分析。 部署相对简单,只需要保证AC能和ITM进行网络通信即可,ITM作为日志数据分析端,不会影响到原来的网络。
1.4 ITM部署方式 几种部署方式说明:
| | | | 从空白linux机器一步一步执行命令安装,较复杂。安装docker,然后安装ITM的相关组件。 | | | | | | 从空白linux机器一步一步执行命令安装,较复杂。安装docker,然后安装OCR服务器的相关组件。 | 需要做图片识别,OCR服务器对cpu和内存消耗较大,必须与ITM分开安装OCR服务器,否则无法实现识别图片内的文字。 |
提示:本指南仅针对传统部署方式进行说明,一键脚本相对容易,可直接参考《SANGFOR_ITM_v5.0.5_内部威胁管理系统用户手册》。
1.5 OCR智能识别 深信服OCR是采用Docker容器技术+深度学习技术提供图像检测识别的web服务,确保该服务能私有化快速部署在任意一台服务器上,而不用关注AI所需要的复杂环境配置,并结合机器环境和业务场景提供多元化的参数配置,支持常见的各种格式图片,能高精度的识别出图片文字内容。目前主要通过嵌入ITM产品从而实现办公场景下全方位的防泄密审计职能。
深信服OCR支持日常办公场景下主流图片格式,具体包括如下:BMP,CUR,DCX,FLI,FLC,FPX,GBR,GD,GIF,ICO,IM,IMT,IPTC/NAA,JPEG,MCIDAS,MIC,MSP,PCD,PCX,PIXAR,PNG,PPM,PSD,SGI, SPIDER,TGA,TIFF,WAL,XBM,XPM等格式。
二 ITM安装 2.1 ITM规划 数据采集设备,部署在互联网场景、专网场景、业务接入网关场景,开启审计策略,将审计到的日志汇集到内部威胁管理系统(ITM),进行统一分析。 数据采集设备与ITM网络保持可通信,同步端口TCP 1081。 | | | | | | |
| 172.24.8.112 | | |
| 172.24.8.113 | | | |
数据采集设备(如AC)和ITM端口: TCP 1081 ITM Web端口:443 OCR所需端口:TCP 5000
2.2 master节点准备 2.2.1 安装目录准备 为了清晰区分ITM各组件,便于后期维护或迁移,建议创建不同目录区分不同功能组件。 - root@itmaster:~# mkdir -p /data/{deploy,disk,itmdata,ndlp/var/log,ndlp/etc/config}
复制代码目录释义: /data/deploy:docker-compose部署目录,用于保存部署相关文件; /data/itmdata:master主机的数据目录; /data//ndlp/var/log:为程序调试日志目录; /data/disk:存放数据。
2.2.2 docker安装 - root@itmaster:~# sudo apt-get -y install \
- ca-certificates \
- curl \
- gnupg \
- lsb-release
- root@itmaster:~# sudo mkdir -p /etc/apt/keyrings
- root@itmaster:~# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
- root@itmaster:~# echo \
- "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
- $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
复制代码- root@itmaster:~# sudo apt-get update
- root@itmaster:~# sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin
- root@itmaster:~# cat > /etc/docker/daemon.json <<EOF
- {
- "registry-mirrors": ["https://dbzucv6w.mirror.aliyuncs.com"],
- "log-driver": "json-file",
- "mtu": 1450,
- "log-opts": {
- "max-size": "1000m"
- },
- "storage-driver": "overlay2",
- "storage-opts": [
- "overlay2.override_kernel_check=true"
- ]
- }
- EOF
- root@itmaster:~# systemctl enable docker --now
复制代码提示:若需要安装指定版本,可通过如下方式列出仓库中可用版本: - apt-cache madison docker-ce
- sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io docker-compose-plugin
复制代码
2.2.3 docker-compose安装 基于更好的自动化运行docker,将官方手册中的单容器docker run手动拉起容器方式优化为docker-compose方式,因此需要安装docker-compose。 - root@itmaster:~# curl -SL https://get.daocloud.io/docker/compose/releases/download/v2.11.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
- root@itmaster:~# chmod u+x /usr/local/bin/docker-compose
- root@itmaster:~# sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
- root@itmaster:~# docker-compose version
- Docker Compose version v2.11.2
复制代码
2.3 Master节点部署 2.3.1 镜像上传 将itm_master.tar上传到Master服务器 (任意路径即可)。 - root@itmaster:~# docker load -i itm_master.tar
- root@itmaster:~# docker images
- REPOSITORY TAG IMAGE ID CREATED SIZE
- itm_master v1 e59971c3856a 23 months ago 2.82GB
复制代码
2.3.2 正式部署 将docker run单容器拉起命令优化为如下的docker-compose方式,可实现服务器重启后自动拉起容器。 - root@itmaster:~# cd /data/deploy/
- root@itmaster:/data/deploy# vim itm_deploy.yaml
- version: "3.3"
- services:
- itmservice:
- image: itm_master:v1
- container_name: master
- network_mode: host
- privileged: true
- volumes:
- - ../itmdata:/data
- - ../ndlp/var/log:/ndlp/var/log/
- - ../ndlp/etc/config:/ndlp/etc/config
- command: /opt/deploy.sh /data/disk
- restart: always
- root@itmaster:/data/deploy# docker-compose -f itm_deploy.yaml up -d
- root@itmaster:/data/deploy# docker-compose -f itm_deploy.yaml ps
-
- root@itmaster:~# docker ps
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- cc9a075832eb itm_master:v1 "/opt/deploy.sh /dat…" 52 minutes ago Up 52 minutes master
复制代码- root@itmaster:~# docker run -d --network host --restart=always --privileged=true --name=master -v /data/itmdata:/data -v /data/ndlp/var/log:/data/ndlp/var/log/ -v /data/ndlp/etc/config:/ndlp/etc/config itm_master:v1 /opt/deploy.sh /data/disk
复制代码
首次登录需要修改默认密码。
2.3.3 单节点优化 若环境中确认采用单节点部署,即仅有master节点,没有slave节点,需要采用本步骤进行调整。若有多节点,则跳过此步骤。 进入容器中修改相关配置文件。 - root@itmaster:~# docker exec -ti master /bin/bash
- root@itmaster:/# vim /ndlp/store/ngac/bin/dsl/dc/dc.js
- ……
- "replica": 1 #77行左右
- ……
- root@itmaster:/# vim /ndlp/store/ngac/bin/dsl/index/action.js
- ……
- "replica": 2 #371行左右
- ……
- "replica": 2 #674行左右
复制代码提示:如上修改实时生效。
2.4 Worker节点准备 2.4.1 安装目录准备 为了清晰区分ITM各组件,便于后期维护或迁移,建议创建不同目录区分不同功能组件。 - root@itworker:~# mkdir -p /data/{deploy,itmdata,ndlp/var/log}
复制代码目录释义: /data/deploy:docker-compose部署目录,用于保存部署相关文件; /data/itmdata:master主机的数据目录; /data//ndlp/var/log:为程序调试日志目录;
2.4.2 安装docker 参考2.2.2
2.4.3 安装docker-compose 参考2.2.3
2.5 Worker节点部署 2.5.1 镜像上传 将itm_worker.tar上传到Worker服务器 (任意路径即可)。 - root@itworker:~# docker load -i itm_worker.tar
- root@itworker:~# docker images
- REPOSITORY TAG IMAGE ID CREATED SIZE
- itm_worker latest 6f5d7dddc89d 3 years ago 501MB
复制代码
2.5.2 正式部署 将docker run单容器拉起命令优化为如下的docker-compose方式,可实现服务器重启后自动拉起容器。 - root@itworker:~# cd /data/deploy/
- root@itworker:/data/deploy# vim itm_deploy.yaml
- version: "3.3"
- services:
- itmservice:
- image: itm_worker:latest
- container_name: worker
- network_mode: host
- privileged: true
- volumes:
- - ../itmdata:/data
- - ../ndlp/var/log:/ndlp/var/log/
-
- command: /opt/deploy.sh 172.24.8.111
- restart: always
- root@itworker:/data/deploy# docker-compose -f itm_deploy.yaml up -d
- root@itworker:/data/deploy# docker-compose -f itm_deploy.yaml ps
- root@itworker:/data/deploy# docker ps
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- 1838a1a580d8 itm_worker:latest "/opt/deploy.sh 172.…" 11 seconds ago Up 10 seconds worker
复制代码- root@itworker:~# docker run -d --network=host --restart=always --privileged=true --name=worker -v /data/itmdata:/data -v /data/ndlp/var/log:/ndlp/var/log itm_worker:latest /opt/deploy.sh 172.24.8.111
复制代码
2.6 OCR节点准备 2.6.1 安装目录准备 为了清晰区分ITM各组件,便于后期维护或迁移,建议创建不同目录区分不同功能组件。 - root@itmaster:~# mkdir -p /data/deploy
复制代码目录释义: /data/deploy:docker-compose部署目录,用于保存部署相关文件;
2.6.2 安装docker 参考2.2.2
2.6.3 安装docker-compose 参考2.2.3
2.7 OCR节点部署 2.7.1 镜像上传 将ocr.tar上传到OCR服务器 (任意路径即可)。 - root@itmocr:~# docker load -i ocr.tar
- root@itmocr:~# docker images
- REPOSITORY TAG IMAGE ID CREATED SIZE
- sangfor/ocr 2.3 613b7e60b788 2 years ago 2.52GB
复制代码2.7.2 正式部署 将docker run单容器拉起命令优化为如下的docker-compose方式,可实现服务器重启后自动拉起容器。 - root@itmocr:~# cd /data/deploy/
- root@itmocr:/data/deploy# vim itm_deploy.yaml
- version: "3.3"
- services:
- itmservice:
- image: sangfor/ocr:2.3
- container_name: ocr
- network_mode: host
- ports:
- - '5000:5000'
- command: bash
- environment:
- - MODELPARAMS="CONFIDENCE:True"
- - PARAMS="gunicorn --certfile=server.crt --keyfile=server.key -w 8 -k gthread -b 0.0.0.0:5000 -t 120 app:app"
- restart: always
- root@itmocr:/data/deploy# docker-compose -f itm_deploy.yaml up -d
- root@itmocr:/data/deploy# docker-compose -f itm_deploy.yaml ps
-
- root@itmaster:~# docker ps
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- cc9a075832eb itm_master:v1 "/opt/deploy.sh /dat…" 52 minutes ago Up 52 minutes master
复制代码- docker run -p 5000:5000 --name ocr --restart=always -e PARAMS="gunicorn --certfile=server.crt --keyfile=server.key -w 2 -kgthread -b 0.0.0.0:5000 -t 120 app:app" -e MODELPARAMS="CONFIDENCE:True" -dt sangfor/ocr:2.3 bash
复制代码
三 基础使用 3.1 登录确认
3.2 OCR配置 在 Master 节点配置 OCR 服务器。
提示:默认ITM5.0.6不支持OCR服务器对接,需要升级,具体升级方式联系深信服相关研发。
四 ITM卸载 4.1 Master节点卸载 - root@itmaster:~# cd /data/deploy/
- root@itmaster:/data/deploy# docker-compose -f itm_deploy.yaml down
- root@itmaster:~# rm -rf /data/{disk,itmdata,ndlp/var/log,ndlp/etc/config}
复制代码
4.2 Worker节点卸载 - root@itworker:~# cd /data/deploy/
- root@itworker:/data/deploy# docker-compose -f itm_deploy.yaml down
- root@itworker:/data/deploy# rm -rf /data/{itmdata,ndlp/var/log}
复制代码
4.3 OCR节点卸载 - root@itmocr:~# cd /data/deploy/
- root@itmocr:/data/deploy# docker-compose -f itm_deploy.yaml down
复制代码提示:更多ITM使用参考《SANGFOR_ITM_v5.0.5_内部威胁管理系统用户手册》。 |