t-pot 16.10-多蜜罐平台
2016年10月31日,德国电信公司Honeypot项目
在2016年3月,我们发布了T-Pot 16.03,积极的反馈鼓励我们继续发展,并与社区分享所有的改进,并自豪地向您介绍...
T-pot 16.10使用Ubuntu Server 16.04 LTS系统,基于docker(https://www.docker.com/),包括以下蜜罐版本。
此外,我们还使用以下工具:
ELK stack(https://www.elastic.co/videos):将所有由t-pot捕获的事件都进行了漂亮的可视化。
TL; DR
更新日志:
技术概念
t - pot基于Ubuntu server16.04 LTS的网络安装程序。在使用docker时,使用的蜜罐守护程序和其他支持组件都是半虚拟化的。这使我们可以在相同的网络接口上运行多个蜜罐守护进程,从而使整个系统的维护非常低。
在docker中封装蜜罐守护进程,可以很好地隔离运行时环境和简单的更新机制。
在T-pot中,我们将被docker化的蜜罐conpot,cowrie,dionaea,elasticpot,emobility,glastopf和honeytrap与网络安全监控引擎和ELK stack、 suricata结合在一起,可以很好地显示T-Pot捕获的所有事件。这些事件可以通过我们自己的数据分析工具ewsposter进行关联,该工具也支持蜜网项目hpfeeds数据共享。
docker中的所有数据都是不稳定的。 一旦Docker容器崩溃,其环境中生成的所有数据都将消失,重新启动新的实例。因此,对于一些需要永久保存的数据,即配置文件,我们在主机上有一个永久的存储目录/data/,以便使其在容器或系统重启时可永久保存。重要的日志数据现在也存储在容器外的/data/<container-name>中,从而可以轻松访问主机内部的日志。systemd脚本已经过调整,以支持在主机上存储数据,包括volatile(默认)或persistent(在/etc/systemd/system中调整单个systemd脚本或在/usr/bin/clear.sh中使用全局设置)。
总的说来,系统启动时会发生以下情况:
在T-Pot项目中,我们提供了构建您自己的蜜罐系统所需的所有工具和文档,并为我们的社区数据视图做出贡献,这是我们的一个单独的由T-pot社区数据支持的”Sicherheitstacho”频道。
源代码和配置文件存储在单独的GitHub项目中,这些项目链接在下面。Docker镜像适合在这个环境中运行。如果您想要单独运行docker镜像,请确保您学习了upstart脚本,因为它们提供了有关如何配置它们的信息。
我们使用的个人docker配置等可以在这里找到:
系统要求
根据您的安装类型,无论您安装在物理机还是虚拟机中,请确保您指定的t-pot系统满足以下要求:
T-Pot安装(Cowrie,Dionaea,ElasticPot,Glastopf,Honeytrap,ELK,Suricata + P0f&Tools)
在安装t-pot ISO镜像时,确保目标系统(物理/虚拟)满足以下最低要求:
传感器安装(Cowrie,Dionaea,ElasticPot,Glastopf,Honeytrap)
在安装t-pot ISO镜像时,确保目标系统(物理/虚拟)满足以下最低要求:
工业安装(ConPot,eMobility,ELK,Suricata + P0f&Tools)
在安装t-pot ISO镜像时,确保目标系统(物理/虚拟)满足以下最低要求:
完整安装(一切,上述所有)
在安装t-pot ISO镜像时,确保目标系统(物理/虚拟)满足以下最低要求:
安装
t-pot是直接安装的。请注意,您应该连接网络起安装,因为需要从docker hub中提取所选安装类型的所有docker镜像。
首先,决定是否要从GitHub下载我们的预先安装的ISO映像或自己创建。
其次,决定你想让系统运行的地方:物理机还是虚拟机?
预先构建的ISO映像
我们提供了一个可下载的安装ISO映像(50MB),它是使用您自己使用的工具创建的,以创建您自己的镜像。它会节省您一些下载组件和创建ISO映像的时间。您可以从GitHub下载预构建的安装镜像并跳转到安装部分。
创建您自己的ISO镜像
为了提高透明度,为了让您能够自定义安装,您可以使用ISO Creator(https://github.com/dtag-dev-sec/tpotce)创建自己的ISO安装镜像。
创建ISO镜像的要求:
如何创建ISO映像:
成功构建后,您将在您的目录中找到ISO镜像tpot.iso以及SHA256校验和tpot.sha256两个文件。
运行在虚拟机
您可能想要在虚拟环境中运行T-Pot。虚拟系统配置取决于您的虚拟化提供商。
我们使用VirtualBox和VMWare成功测试了T-Pot,只需对默认机器配置进行一些修改即可。
确保满足系统要求,并分配虚拟硬盘>=64GB,>=4GB内存,并将网络连接到t-pot。
您需要为suricata的网络接口启用混杂模式以正常工作。确保在配置过程中启用它。
如果您想使用无线网卡作为T-pot的主要网卡,请注意不是所有的网络接口驱动程序都支持所有的无线网卡。例如,在VirtualBox中,你必须选择NIC的“MT SERVER”型号。
最后,将tpot.iso ISO安装到VM并继续安装。
运行在物理机
如果您决定在物理机上运行t-pot,请按照以下步骤:
虽然大多数CD刻录工具允许您从ISO镜像刻录,但是ISO映像创建可引导USB盘的过程取决于您的系统。 有各种可用的Windows GUI工具,例如这个提示可能会帮助你。
在Linux或MacOS上,您可以使用dd工具或者使用T-Pot的ISO Creator创建U盘。
2. 从u盘启动并安装。
首次运行
安装需要很少的交互,只有一些locale和键盘设置必须被应答。其他一切都将自动配置。系统将重新启动两次。确保它能访问互联网,因为它需要下载更新和docker化的蜜罐组件。根据您的网络连接和选择的安装类型,安装可能需要一些时间。在我们的测试中(10M-50M),安装通常在30分钟内完成。
一旦安装完成,系统将自动重启,您将会看到一个t-pot登录界面。首次登录的用户凭证是:
所有的蜜罐服务都是预先配置的,并自动启动。
您还可以从浏览器登录:https://<ip地址>:64297
user:您在安装过程中设置的用户
pass:您在安装过程中设置的密码
系统布局
确保你的系统可以联网,否则,它将不会捕获除了来自内部网络的攻击之外的攻击!我们建议您将其放入未过滤的区域,所有TCP和UDP传输都被转发到t-pot的网络接口。
如果你在NAT网关(例如家庭路由器)之后,这里有一个需要做端口转发的t-pot端口列表。
基本上,您可以根据需要转发更多的TCP端口,因为honeytrap动态绑定了其他蜜罐守护进程未覆盖的TCP端口。
如果您需要外部SSH访问,请将TCP端口64295转发到T-Pot,请参阅下文。 如果您需要外部Web访问,请将TCP端口64297转发到T-Pot,请参阅下文。
T-Pot需要传出http和https连接来更新(ubuntu,docker)和攻击提交(ewsposter,hpfeeds)。
选项
该系统的设计目的是在没有任何交互或维护的情况下运行,并自动为社区做出贡献。
我们知道,对于一些人来说,这可能还不够。这里有一些进一步检查系统和更改配置参数的方法。
ssh和Web访问
默认情况下,SSH守护进程只允许使用私有网络中的用户/密码访问64295端口。但是,如果您希望能够通过SSH远程登录,则需要将SSH密钥放在主机上,如下所述。
将您的SSH密钥文件复制到/home/tsec/.ssh/authorized_keys并设置适当的权限(chmod 600 authorized_keys)以及正确的所有权(chown tsec:tsec authorized_keys)。
如果您没有ssh客户端,并且仍然希望通过SSH访问该机器,您可以通过使用浏览器访问https://<ip地址>:64297
user:您在安装过程中设置的用户
pass:您在安装过程中设置的密码
从导航栏中选择WebSSH。系统将提示您为用户tesc输入密码访问此连接。
Kibana仪表盘
只需打开浏览器,访问并连接到https://<ip地址>:64297
user:您在安装过程中设置的用户
pass:您在安装过程中设置的密码
Kibana仪表盘将自动加载。Kibana的仪表盘可根据您的需求进行定制。默认情况下,我们没有添加任何过滤,因为过滤器依赖于您的设置。例如,您可能希望过滤传入的SSH连接和服务器的连接。
工具
我们提供了一些基于Web的管理工具来改善和减轻您的日常工作。
ES Head插件
Docker web管理界面
网络数据
维护
如前边所述,系统被设计为低维护。基本上,除了让它运行之外,你没有什么可做的。如果一个docker守护进程失败,它将重新启动。如果失败了,那么重新启动一个实例。
如果遇到任何问题,重新启动可以修复它。
如果出现了新版本的组件,我们将测试它们并构建新的docker镜像。这些新的docker镜像将被推送到docker hub并下载到t-pot并激活。
数据提交
我们提供t-pot,以便让所有对蜜罐部署感兴趣的人都可以访问。默认情况下,捕获的数据会提交到一个社区后端。这个社区后端使用这些数据来构建数据视图,这是我们自己的门户网站“Sicherheitstacho”的一个单独的通道,由我们自己的一套蜜罐提供支持。您可以通过在配置文件/data/ews/conf/ews.cfg.的[EWS]部分禁用提交给我们的社区服务器。
此外,我们支持hpfeeds,默认情况下,它是禁用的,因为您需要提供一个您想要发布的通道并输入您的用户凭证,要启用hpfeeds,请编辑配置文件/data/ews/conf/ews.cfg的[HPFEED]部分并将其设置为true。
数据以结构化的ews格式(XML结构)提交。 因此,您可以解析与您相关的信息。
/data/ews/conf/ews.cfg文件包含系统运行所需的许多配置参数。如果你想添加一个电子邮件地址,包括你的意见,以便能够确定你的请求。此外,您可以添加一个代理。请不要改变这些设置以外的任何东西,除非很必要。否则,系统可能无法按预期工作。