| 本帖最后由 木二 于 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_内部威胁管理系统用户手册》。 |