001.ITM安装部署指南
  

木二 31364人觉得有帮助

{{ttag.title}}
本帖最后由 木二 于 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命令较熟悉的情况,自定义性较高。
一键脚本部署
从空白linux机器一键脚本部署。
需要相关配置文件在相应目录,不能缺少文件。
OCR服务器部署
从空白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。
IP
主机名
节点
备注
172.24.8.111
itmaster
ITM Master节点

172.24.8.112
itworker
ITM Worker节点

172.24.8.113
ocr
ITM OCR节点

数据采集设备(如AC)和ITM端口: TCP 1081
ITM Web端口:443
OCR所需端口:TCP 5000

2.2        master节点准备
2.2.1        安装目录准备
为了清晰区分ITM各组件,便于后期维护或迁移,建议创建不同目录区分不同功能组件。
  1. 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安装
  • 设置docker仓库

  1. root@itmaster:~# sudo apt-get -y install \
  2.    ca-certificates \
  3.    curl \
  4.    gnupg \
  5.    lsb-release

  6. root@itmaster:~# sudo mkdir -p /etc/apt/keyrings
  7. root@itmaster:~# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

  8. root@itmaster:~# echo \
  9.   "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  10.   $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
复制代码
  • 安装docker

  1. root@itmaster:~# sudo apt-get update
  2. root@itmaster:~# sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin

  3. root@itmaster:~# cat > /etc/docker/daemon.json <<EOF
  4. {
  5.   "registry-mirrors": ["https://dbzucv6w.mirror.aliyuncs.com"],
  6.   "log-driver": "json-file",
  7.   "mtu": 1450,
  8.   "log-opts": {
  9.     "max-size": "1000m"
  10.   },
  11.   "storage-driver": "overlay2",
  12.   "storage-opts": [
  13.     "overlay2.override_kernel_check=true"
  14.   ]
  15. }
  16. EOF

  17. root@itmaster:~# systemctl enable docker --now
复制代码
提示:若需要安装指定版本,可通过如下方式列出仓库中可用版本:
  1. apt-cache madison docker-ce

  2. 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。
  1. 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
  2. root@itmaster:~# chmod u+x /usr/local/bin/docker-compose
  3. root@itmaster:~# sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

  4. root@itmaster:~# docker-compose version
  5. Docker Compose version v2.11.2
复制代码

2.3        Master节点部署
2.3.1        镜像上传
将itm_master.tar上传到Master服务器 (任意路径即可)。
  1. root@itmaster:~# docker load -i itm_master.tar

  2. root@itmaster:~# docker images
  3. REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
  4. itm_master   v1        e59971c3856a   23 months ago   2.82GB
复制代码

2.3.2        正式部署

    • docker-compose方式(推荐方式)

    将docker run单容器拉起命令优化为如下的docker-compose方式,可实现服务器重启后自动拉起容器。
  1. root@itmaster:~# cd /data/deploy/
  2. root@itmaster:/data/deploy# vim itm_deploy.yaml
  3. version: "3.3"
  4. services:
  5.   itmservice:
  6.     image: itm_master:v1
  7.     container_name: master
  8.     network_mode: host
  9.     privileged: true

  10.     volumes:
  11.       - ../itmdata:/data
  12.       - ../ndlp/var/log:/ndlp/var/log/
  13.       - ../ndlp/etc/config:/ndlp/etc/config
  14.     command: /opt/deploy.sh /data/disk
  15.     restart: always

  16. root@itmaster:/data/deploy# docker-compose -f itm_deploy.yaml up -d

  17. root@itmaster:/data/deploy# docker-compose -f itm_deploy.yaml ps

  18. root@itmaster:~# docker ps
  19. CONTAINER ID   IMAGE           COMMAND                  CREATED          STATUS          PORTS     NAMES
  20. cc9a075832eb   itm_master:v1   "/opt/deploy.sh /dat…"   52 minutes ago   Up 52 minutes             master
复制代码

    • 单容器运行方式

  1. 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
复制代码
浏览器访问:https://172.24.8.111 ,默认用户:admin / admin 。

首次登录需要修改默认密码。

2.3.3        单节点优化
    若环境中确认采用单节点部署,即仅有master节点,没有slave节点,需要采用本步骤进行调整。若有多节点,则跳过此步骤。
    进入容器中修改相关配置文件。
  1. root@itmaster:~# docker exec -ti master /bin/bash
  2. root@itmaster:/# vim /ndlp/store/ngac/bin/dsl/dc/dc.js
  3. ……
  4.             "replica": 1                                    #77行左右
  5. ……

  6. root@itmaster:/# vim /ndlp/store/ngac/bin/dsl/index/action.js
  7. ……
  8.             "replica": 2                                    #371行左右
  9. ……
  10.             "replica": 2                                    #674行左右
复制代码
提示:如上修改实时生效。

2.4        Worker节点准备
2.4.1        安装目录准备
    为了清晰区分ITM各组件,便于后期维护或迁移,建议创建不同目录区分不同功能组件。
  1. 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服务器 (任意路径即可)。
  1. root@itworker:~# docker load -i itm_worker.tar

  2. root@itworker:~# docker images
  3. REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
  4. itm_worker   latest    6f5d7dddc89d   3 years ago   501MB
复制代码

2.5.2        正式部署

    • docker-compose方式(推荐方式)

    将docker run单容器拉起命令优化为如下的docker-compose方式,可实现服务器重启后自动拉起容器。
  1. root@itworker:~# cd /data/deploy/
  2. root@itworker:/data/deploy# vim itm_deploy.yaml
  3. version: "3.3"
  4. services:
  5.   itmservice:
  6.     image: itm_worker:latest
  7.     container_name: worker
  8.     network_mode: host
  9.     privileged: true

  10.     volumes:
  11.       - ../itmdata:/data
  12.       - ../ndlp/var/log:/ndlp/var/log/

  13.     command: /opt/deploy.sh 172.24.8.111
  14.     restart: always

  15. root@itworker:/data/deploy# docker-compose -f itm_deploy.yaml up -d

  16. root@itworker:/data/deploy# docker-compose -f itm_deploy.yaml ps

  17. root@itworker:/data/deploy# docker ps
  18. CONTAINER ID   IMAGE               COMMAND                  CREATED          STATUS          PORTS     NAMES
  19. 1838a1a580d8   itm_worker:latest   "/opt/deploy.sh 172.…"   11 seconds ago   Up 10 seconds             worker
复制代码

    • 单容器运行方式

  1. 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各组件,便于后期维护或迁移,建议创建不同目录区分不同功能组件。
  1. 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服务器 (任意路径即可)。
  1. root@itmocr:~# docker load -i ocr.tar

  2. root@itmocr:~# docker images
  3. REPOSITORY    TAG       IMAGE ID       CREATED       SIZE
  4. sangfor/ocr   2.3       613b7e60b788   2 years ago   2.52GB
复制代码
2.7.2        正式部署

    • docker-compose方式(推荐方式)

    将docker run单容器拉起命令优化为如下的docker-compose方式,可实现服务器重启后自动拉起容器。
  1. root@itmocr:~# cd /data/deploy/
  2. root@itmocr:/data/deploy# vim itm_deploy.yaml
  3. version: "3.3"
  4. services:
  5.   itmservice:
  6.     image: sangfor/ocr:2.3
  7.     container_name: ocr
  8.     network_mode: host
  9.     ports:
  10.       - '5000:5000'

  11.     command: bash
  12.     environment:
  13.       - MODELPARAMS="CONFIDENCE:True"
  14.       - PARAMS="gunicorn --certfile=server.crt --keyfile=server.key -w 8 -k gthread -b 0.0.0.0:5000 -t 120 app:app"
  15.     restart: always

  16. root@itmocr:/data/deploy# docker-compose -f itm_deploy.yaml up -d

  17. root@itmocr:/data/deploy# docker-compose -f itm_deploy.yaml ps

  18. root@itmaster:~# docker ps
  19. CONTAINER ID   IMAGE           COMMAND                  CREATED          STATUS          PORTS     NAMES
  20. cc9a075832eb   itm_master:v1   "/opt/deploy.sh /dat…"   52 minutes ago   Up 52 minutes             master
复制代码

    • 单容器运行方式

  1. 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        登录确认
    使用浏览器访问 https://172.24.8.111 ,系统设置---->设备状态,确认 master 和 worker 节点均正常在线。


3.2        OCR配置
    在 Master 节点配置 OCR 服务器。

提示:默认ITM5.0.6不支持OCR服务器对接,需要升级,具体升级方式联系深信服相关研发。

四        ITM卸载
4.1        Master节点卸载
  1. root@itmaster:~# cd /data/deploy/
  2. root@itmaster:/data/deploy# docker-compose -f itm_deploy.yaml down
  3. root@itmaster:~# rm -rf /data/{disk,itmdata,ndlp/var/log,ndlp/etc/config}
复制代码

4.2        Worker节点卸载
  1. root@itworker:~# cd /data/deploy/
  2. root@itworker:/data/deploy# docker-compose -f itm_deploy.yaml down
  3. root@itworker:/data/deploy# rm -rf /data/{itmdata,ndlp/var/log}
复制代码

4.3        OCR节点卸载
  1. root@itmocr:~# cd /data/deploy/
  2. root@itmocr:/data/deploy# docker-compose -f itm_deploy.yaml down
复制代码
提示:更多ITM使用参考《SANGFOR_ITM_v5.0.5_内部威胁管理系统用户手册》。

打赏鼓励作者,期待更多好文!

打赏
6人已打赏

木二 发表于 2022-10-19 23:07
  
对于 /data 目录,可将独立的大容量磁盘,采用 LVM 分区的方式进行挂载,从而可以保证所有的数据独立存储。
天堂之龙 发表于 2022-10-20 10:09
  
每天学习一点,每天进步一点。
水之蓝色 发表于 2022-10-20 11:05
  
写的很详细,学习了!!!!!
沧海 发表于 2022-10-20 14:14
  
感谢楼主分享,学习一下
339015 发表于 2022-10-21 16:00
  
感谢楼主分享,文章介绍了一例ITM部署案例,较为清晰,图文并茂,期待更多优秀分享
一个无趣的人 发表于 2022-10-22 10:29
  
楼主的文章图文并茂,清晰易懂,看完这波操作可以轻松上手了,如遇到问题再向楼主请教~
平凡的小网工 发表于 2022-10-22 10:35
  
我在社区摸爬滚打这么多年,所谓阅人无数,就算没有见过猪走路,也总明白猪肉是啥味道的。一看到楼主的气势,我就觉得楼主同在社区里灌水的那帮小混子有着本质的差别,你一定就是传说中的最强技术牛。
Hellos 发表于 2022-10-28 08:08
  
每天学习一点,每天进步一点!!!!!!!
tianjt 发表于 2022-10-30 10:15
  
发表新帖
热门标签
全部标签>
每日一问
技术盲盒
技术笔记
每周精选
2024年技术争霸赛
产品连连看
2023技术争霸赛专题
干货满满
安装部署配置
技术咨询
标准化排查
新版本体验
秒懂零信任
技术晨报
自助服务平台操作指引
功能体验
运维工具
通用技术
文档捉虫活动
信服课堂视频
功能咨询
GIF动图学习
每日一记
SDP百科
排障笔记本
畅聊IT
答题自测
专家问答
技术圆桌
测试报告
用户认证
解决方案
VPN 对接
项目案例
地址转换
存储
技术争霸赛
卧龙计划
在线直播
MVP
网络基础知识
升级
安全攻防
上网策略
日志审计
问题分析处理
流量管理
云计算知识
原创分享
sangfor周刊
SANGFOR资讯
专家分享
技术顾问
信服故事
终端接入
授权
设备维护
资源访问
虚拟机
迁移
加速技术
产品预警公告
玩转零信任
信服圈儿
S豆商城资讯
「智能机器人」
追光者计划
深信服技术支持平台
社区帮助指南
答题榜单公布
纪元平台
华北区拉练
天逸直播
以战代练
山东区技术晨报
齐鲁TV
华北区交付直播
北京区每日一练

本版版主

147
109
49

发帖

粉丝

关注

本版达人

新手89785...

本周建议达人

七嘴八舌bar

本周分享达人

新手76619...

本周提问达人