【谛听】D-Sensor伪装欺骗系统软件部署-管理+探针
安装说明
- 安装前请先根据文档中的部署环境要求,依次检查相关配置,确认无误后 再进行软件的安装。
- 首次安装需要分别进入管理节点、探针节点的后台进行安装操作。
- 产品升级需要进入管理节点的后台进行安装操作,探针可以远程升级。
- 本文仅以常见安装步骤作举例,如有完整部署文档需求可咨询长亭技术支持人员获取。
名词定义
- 【节点】指一台服务器,可以是物理服务器、云服务器
- 【安装目录】指谛听管理端,通常为 /data/d-sensor
- 【数据盘】指安装目录所在的硬盘
- 【管理节点】指谛听的管理服务、日志服务、蜜罐服务等所在节点
- 【探针节点】指用于部署谛听Agent程序所在节点,1个管理节点支持部署接入多个探针节点
- 【蜜罐服务】指谛听管理节点上配置启动运行的伪装欺骗服务,主要通过一个个docker容器拉起,比如ssh蜜罐服务,weblogic蜜罐服务,1个蜜罐服务支持分别绑定到不同的探针节点上;1个探针节点支持绑定多个不同的蜜罐服务。
安装前准备
1、常用工具列表
Linux 下常用工具列表,可以参考进行安装:
tcpdump:网络抓包工具
curl:HTTP 请求工具
vim:编辑文件工具
strace:跟踪系统调用工具
tmux:终端窗口工具
net-tools:其他网络工具
sysstat:性能监控
Ubuntu 下安装,执行:
apt install -y tcpdump curl vim strace net-tools sysstat
CentOS 下安装,执行:
yum install -y tcpdump curl vim strace net-tools sysstat
2、资源准备
设备性能要求
-
管理节点
CPU:>= 8 核
内存:>= 16 GB
数据盘容量:>= 500 GB,云服务器需要检查所选数据盘 IOPS 值大于 1000 -
探针节点
CPU:>= 1 核
内存:>= 2 GB
数据盘容量:>= 20 GB
部署环境要求
要求项 | 管理节点 | 探针节点 |
---|---|---|
内核 | Linux 3.10.0-514 及以上 | 无 |
操作系统 | Ubuntu 16.04 及以上; CentOS 7.4 及以上; Redhat 7.4 及以上; SUSE 12 SP2 及以上; Oracle Linux 7.4 及以上 |
Ubuntu 16.04 及以上; CentOS 6.5 及以上; Redhat 6.4 及以上; SUSE 11 sp4 及以上; Oracle Linux 7.4 及以上; Windows server 2003 及以上 |
系统配置 | 系统时间为 UTC 时间; SELinux、Firewalld 关闭; umask 为 022 |
SELinux、Firewalld 关闭 |
文件系统 | 谛听安装目录所在磁盘分区的文件系统类型为 ext4 | 无 |
磁盘分区 | 蜜罐镜像目录 /var/lib/docker/ 下至少有 80G 空间; | 无 |
网络 | 安装时尽量在线 | 能访问管理节点的:443 或 1338 端口(用于安装),1337 端口(用于运行) |
3、管理节点安装
管理节点环境配置
以下操作默认在所在节点root 权限下操作
- 检查内核版本与时间
uname -r
uname -a
要求内核版本大于 3.10,构建时间晚于或等于 2017 年。
- 设置umask
umask 022
- 检查谛听安装分区的文件系统类型为 ext4
df -Th
若没有 ext4 分区,需要新建分区并使用 mkfs.ext4 进行格式化,具体可参考: fdisk 分区格式化为ext4格式分区
- 检查系统时间
date -u
需确保系统的 UTC 时间为正确的 UTC 时间。如果发现时区不对,可通过timedatectl命令快速修改
timedatectl set-timezone Asia/Shanghai
- 关闭SElinux及Firewalld(Ubuntu 系统可跳过)
sed -i 's/enforcing/disabled/g' /etc/selinux/config
setenforce 0
getenforce
getenforce 结果不是 Enforcing 则表明 SELinux 已经成功关闭。
cat /etc/selinux/config 查看为 disabled 则表明开机默认关闭 SELinux。
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
若看到 Active: inactive (dead) 字样,表明 Firewalld 关闭成功
- 确保当前系统没有安装docker
docker info
提示没有安装docker即可,如有安装,需确保docker 是18.06.2 及以上的稳定版,否则需要卸载原有docker再进行安装。
卸载旧版本docker参考:
ubuntu系统卸载docker
sudo apt-get remove docker docker-engine docker.io
centos系统卸载docker
sudo yum remove docker docker-common docker-selinux docker-engine
管理节点软件安装
- 创建部署目录并切换到部署路径
mkdir –p /data/d-sensor
cd /data/d-sensor
- 上传安装包到管理节点(虚拟机或硬件设备)的 /data/d-sensor 路径下
- 将软件压缩包解压到部署目录(注意替换为实际的文件名,解压密码找长亭技术获取)
unzip DS-S40-software-installer-xxx.zip
unzip -o d-sensor-4-software-installer_xxx.zip –d /data/d-sensor
unzip -o honeypots-2-software-installer_xx.zip –d /data/d-sensor
- 安装软件系统和蜜罐
- a) 注意要先执行 install.sh,若系统没有 Docker、Docker-
compose,则会在此时自动安装 - b) 执行 installer 时,如果该型号设备需要安装虚拟机蜜罐,安装 过程中选择 “软件+虚拟机蜜罐拓展(sw+vm)”。否则选择“软 件(sw)”,若出现“will you enable vm manager(y/n)”选择 n即可
./install.sh
./installer
- 确认服务正常启动
docker ps -a
确保所有容器状态都为 up,如下图所示:
- 在 /data 目录下加载预置模版
cd /data
./generate_preset.sh
若安装目录不是默认目录,执行时需要指定对应目录:
./generate_preset.sh /data/d-sensor
-
访问管理地址,上传 license 并登陆。若能正常访问管理界面,而且 蜜罐管理-模版管理 中能添加若干蜜罐的模版,其中部分蜜罐还有预置的模版(例如 自定义 Web(Python) 蜜罐),则说明安装成功:
-
安装蜜罐拓展包(可选)
-
a) 虚拟机蜜罐:
i. 确保安装时已开启虚拟机蜜罐模块:执行“docker ps”查 看有没有“vm_domain”容器。若没有,则进入 docker- compose 所在文件夹,执行 docker-compose down,然后重 新执行安装脚本 ./installer,并选择 “软件+虚拟机蜜罐 拓展(sw+vm)”ii. 将拓展包文件解压到 /var/lib/libvirt/images
iii. 执行 “docker restart vm_domain”,再执行 “docker restart dsensor_redis”即可
-
b) .zip 后缀名蜜罐:解压到安装目录,然后在解压文件夹内运行 ./install.sh
4、探针节点安装
以下操作默认在所在节点root 权限下操作
探针节点环境配置
关闭SElinux及Firewalld(Ubuntu 系统可跳过)
sed -i 's/enforcing/disabled/g' /etc/selinux/config
setenforce 0
getenforce
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
探针节点在线安装
- 登录管理界面查看探针在线安装指导
2.在管理节点界面右上角个人中心生成个人token
3.推荐选择wget方式下载agent程序到探针节点执行安装
linux系统:
wget --no-check-certificate https://{管理节点地址}/ag/install_agent_amd64 -O /tmp/install_agent && chmod +x /tmp/install_agent && sudo /tmp/install_agent --host {管理节点地址} --token {您的 Token}
windosw系统:
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $True }; `
(New-Object System.Net.WebClient).DownloadFile(` "https://{管理节点的地址}/ag/install_agent.exe", ` "$env:TEMP/install_agent.exe"); `
Start-Process -Wait -NoNewWindow -FilePath "$env:TEMP/install_agent.exe" `
-ArgumentList "--host {管理节点地址} --token {您的 Token}"
您的 Token这里是指在个人中心生成的api token值
- 之后可登录管理节点界面查看探针状态和在线情况,进行后续的蜜罐服务配置和绑定。
5、蜜罐服务配置
5.1 创建蜜罐模板
-
a)基于默认模板创建
谛听系统自带有默认模板,可基于默认模板创建系统服务蜜罐,或特定缺陷蜜罐,特定框架类漏洞蜜罐(web):
在模板管理页面点选左侧对应选项,可进入对应页面,进行创建模板操作,例如此处利用自带的ftp模板进行创建,点击创建后填入对应信息,上传完成后即完成模板创建。
同理,其他类型蜜罐基于自带的模板配置时,均为类似操作,其中模板名称设置成管理员易于识别即可。 -
b)自定义web创建模板
配置模拟真实业务等蜜罐,支持静态页面模拟,如有复杂交互,则无法支持。需提前跟客户获取web页面数据(最好可以让客户从服务器直接拷贝),基于zip压缩包正确填写首页地址。web页面如无法从服务器拷贝,可自行通过第三方工具爬取页面进行配置。
如下面以一个仿真OA系统为例:
编辑完成后点击上传,即可完成模板创建。
5.2 创建蜜网
蜜罐管理-蜜网管理页面,可进行蜜网的新增和重命名。其中“是否允许访问外网”仅可在创建蜜网时进行选择。勾选“运行访问外网”后,蜜罐可以使用管理节点设备的网络资源。开启存在安全风险,如非必要不建议开启。
5.3 创建蜜罐
- 这里以前面创建的OA模板创建举例
在蜜罐管理页面,点击新增蜜罐,编辑设定蜜罐名称,勾选设置该蜜罐运行在蜜网work区,并选择高级-自定义web(python)3.6.5类型,选择自定义创建的OA系统模板 ,预览确认。
5.4 绑定蜜罐服务到对应探针
-
a)探针状态编辑和检查
探针管理页面,点击选定的探针进入该探针的编辑页面,开启ping扫描检测和ARP欺骗检测选项:
-
b)探针绑定蜜罐服务
在探针管理页面,点击选定的探针进入该探针的编辑页面,可看到探针基础信息,包含探针名称,IP,检测设置和服务状态等信息,可直接点选绑定服务选项,进行绑定蜜罐服务配置。
点击添加服务按钮,可将新创建的蜜罐服务绑定到该探针上。
编辑完成后返回上一级页面,等待探针服务绑定完成,且服务状态显示正常。
同理,其他蜜罐均需执行类似的绑定操作,才会启用生效。
查看已绑定服务情况:
-
c)系统类蜜罐服务验证
-
探针编辑页面确认服务绑定运行正常后,对于系统服务页面,可基于对应绑定到服务进行相应访问连接操作,触发谛听的日志告警记录,并正常查看到端口探测日志,蜜罐入侵日志。
-
例如,ssh蜜罐,则进行ssh登录对应探针的IP:PORT,触发告警;对于FTP蜜罐,则进行ftp访问触发告警,RDP蜜罐则进行远程桌面访问登录尝试,以此类推。也可以使用统一telnet方式,或nmap之类扫描器对探针端口进行扫描,验证访问,并查看触发对告警日志,确认服务正常。
-
d)溯源类蜜罐服务验证
对于web类伪装溯源蜜罐(比如自定义web类蜜罐),则直接浏览器访问对于探针的端口,进行页面访问,登录尝试,并确认谛听可正常监测到访问记录,且页面展示内容达到预期(比如与真实业务相似),则表示蜜罐服务配置完成(互联网蜜罐可看需要进行社交溯源验证)。