前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【翻译】t-pot 16.10-多蜜罐平台

【翻译】t-pot 16.10-多蜜罐平台

作者头像
安恒网络空间安全讲武堂
发布2018-02-06 14:57:32
2.1K0
发布2018-02-06 14:57:32
举报

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/),包括以下蜜罐版本。

  • conpot,(http://conpot.org/)
  • cowrie,(http://www.micheloosterhof.com/cowrie/)
  • dionaea,(https://github.com/DinoTools/dionaea)
  • elasticpot,(https://github.com/schmalle/ElasticPot)
  • emobility,(https://github.com/dtag-dev-sec/emobility)
  • glastopf,(http://mushmush.org/)
  • honeytrap(https://github.com/armedpot/honeytrap/)

此外,我们还使用以下工具:

ELK stack(https://www.elastic.co/videos):将所有由t-pot捕获的事件都进行了漂亮的可视化。

  • Elasticsearch Head(https://mobz.github.io/elasticsearch-head/):负责浏览网页并与Elastic Search集群进行交互。
  • Netdata(http://my-netdata.io/):进行实时性能监控。
  • Portainer(https://portainer.io/):docker的Web的用户界面。
  • Suricata(https://suricata-ids.org/):网络安全监控引擎。
  • Wetty(https://github.com/krishnasrinivas/wetty):基于web界面的SSH客户端

TL; DR

  1. 系统要求:T-pot安装需要至少4 GB的内存和64 GB的可用磁盘空间以及可用的Internet连接。
  2. 从GitHub下载t-pot镜像,或者自己创建它。
  3. 将系统安装在虚拟机或物理机上,通过Internet访问。
  4. 观察和分析。

更新日志:

  • t – pot以Ubuntu 16.04 LTS操作系统为基础
  • 大小很重要
  1. tpot.iso是基于Ubuntu的网络安装程序,将镜像下载大小从650MB降低到只有50MB。
  2. 所有的docker镜像都被重建,至少减少镜像大小50MB,在某些情况下甚至是400 – 600MB。
  3. “全部”安装大约需要2GB的下载大小(从最初的镜像下载计算)。
  • 引入新工具使新用户的工作变得更容易
  1. Elasticsearch Head(https://mobz.github.io/elasticsearch-head/):负责浏览网页并与Elastic Search集群进行交互
  2. Netdata(http://my-netdata.io/):进行实时性能监控。
  3. Portainer(https://portainer.io/):docker的Web的用户界面。Wetty(https://github.com/krishnasrinivas/wetty):基于web界面的SSH客户端
  • Nginx反向代理实现HTTPS
  1. 通过浏览器访问Kibana,ES Head plugin,UI-for-Docker,WebSSH和Netdata。
  2. 不再需要基于两个因素的SSH隧道。
  • 安装过程
  1. 为tsec用户设置你自己的密码
  2. 选择您的安装类型,而无需创建自己的镜像
  3. 设置远程用户名/密码以进行安全的Web访问,包括签名证书
  4. 容易记住的主机名
  • 首次登录
  1. 从控制台,SSH或web访问
  2. 使用私有网络地址登录时,ssh不需要两种身份验证
  3. 对除私有网络之外的ssh连接使用公钥验证
  • Systemd现在取代了init系统。所有的upstart脚本都被移植到systemd中,并进行了以下改进:
  1. 改进容器的启动/停止操作
  2. 为每个容器的启动脚本单独设置能够永久保存(/etc/systemd/system)
  3. 全局设置永久保存(/usr/bin/clean.sh)
  • 蜜罐更新和改进
  1. Conpot现在支持JSON日志记录,非常感谢这一特性请求的实现:Andrea Pasquale,Danilo Massa 以及Johnny Vestergaard
  2. Cowrie现在支持telnet,非常感谢你,谢谢Michel Oosterhof
  3. Dionaea现在支持JSON日志记录,非常感谢这一特性请求的实现:PhiBo
  4. Elasticpot现在支持记录所有的查询和请求,非常感谢这一特性请求的实现:Markus Schmall
  5. Honeytrap现在支持JSON日志记录,非常感谢这一特性请求的实现:Andrea Pasquale
  • 更新
  1. Docker被更新到最新的1.12.2版本
  2. ELK更新到最新的Kibana 4.6.2,Elasticsearch 2.4.1, Logstash 2.4.0版本。
  3. Suricata更新到最新的3.1.2版本,包括最新的Emerging Threats社区规则集。
  • 我们现在有150个可视化的预配置,并将其编译为14个单独的Kibana仪表盘。在您的T-pot安装中监视本地所有的蜜罐事件。 除了蜜罐事件,您还可以查看Suricata NSM,Syslog和NGINX事件,以快速了解本地主机事件。
  • 现在包含更多的智能链接。

技术概念

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中使用全局设置)。

总的说来,系统启动时会发生以下情况:

  • 启动主机系统
  • 启动所有必要的服务(如docker-engine、反向代理等)。
  • 启动所有docker容器(蜜罐,nms,elk)

在T-Pot项目中,我们提供了构建您自己的蜜罐系统所需的所有工具和文档,并为我们的社区数据视图做出贡献,这是我们的一个单独的由T-pot社区数据支持的”Sicherheitstacho”频道。

源代码和配置文件存储在单独的GitHub项目中,这些项目链接在下面。Docker镜像适合在这个环境中运行。如果您想要单独运行docker镜像,请确保您学习了upstart脚本,因为它们提供了有关如何配置它们的信息。

我们使用的个人docker配置等可以在这里找到:

  • Conpot(https://github.com/dtag-dev-sec/conpot)
  • Cowrie(https://github.com/dtag-dev-sec/cowrie)
  • Dionaea(https://github.com/dtag-dev-sec/dionaea)
  • Elasticpot(https://github.com/dtag-dev-sec/elasticpot)
  • elk-stack(https://github.com/dtag-dev-sec/elk)
  • emobility(https://github.com/dtag-dev-sec/emobility)
  • glastopf(https://github.com/dtag-dev-sec/glastopf)
  • honeytrap(https://github.com/dtag-dev-sec/honeytrap)
  • netdata(https://github.com/dtag-dev-sec/netdata)
  • portainer(https://github.com/dtag-dev-sec/ui-for-docker)
  • suricata(https://github.com/dtag-dev-sec/suricata)

系统要求

根据您的安装类型,无论您安装在物理机还是虚拟机中,请确保您指定的t-pot系统满足以下要求:

T-Pot安装(Cowrie,Dionaea,ElasticPot,Glastopf,Honeytrap,ELK,Suricata + P0f&Tools)

在安装t-pot ISO镜像时,确保目标系统(物理/虚拟)满足以下最低要求:

  • 4GB内存(建议6-8GB)
  • 64GB磁盘空间(建议128GB SSD)
  • 通过DHCP连接网络
  • 有效的网络连接

传感器安装(Cowrie,Dionaea,ElasticPot,Glastopf,Honeytrap)

在安装t-pot ISO镜像时,确保目标系统(物理/虚拟)满足以下最低要求:

  • 3GB内存(建议6-8GB)
  • 64GB磁盘空间(建议64GB SSD)
  • 通过DHCP连接网络
  • 有效的网络连接

工业安装(ConPot,eMobility,ELK,Suricata + P0f&Tools)

在安装t-pot ISO镜像时,确保目标系统(物理/虚拟)满足以下最低要求:

  • 4GB内存(建议8GB)
  • 64GB磁盘空间(建议128GB SSD)
  • 通过DHCP连接网络
  • 有效的网络连接

完整安装(一切,上述所有)

在安装t-pot ISO镜像时,确保目标系统(物理/虚拟)满足以下最低要求:

  • 8GB内存(建议8GB)
  • 大于等于128GB磁盘空间(128GB SSD或者更大)
  • 通过DHCP连接网络
  • 有效的网络连接

安装

t-pot是直接安装的。请注意,您应该连接网络起安装,因为需要从docker hub中提取所选安装类型的所有docker镜像。

首先,决定是否要从GitHub下载我们的预先安装的ISO映像或自己创建。

其次,决定你想让系统运行的地方:物理机还是虚拟机?

预先构建的ISO映像

我们提供了一个可下载的安装ISO映像(50MB),它是使用您自己使用的工具创建的,以创建您自己的镜像。它会节省您一些下载组件和创建ISO映像的时间。您可以从GitHub下载预构建的安装镜像并跳转到安装部分。

创建您自己的ISO镜像

为了提高透明度,为了让您能够自定义安装,您可以使用ISO Creator(https://github.com/dtag-dev-sec/tpotce)创建自己的ISO安装镜像。

创建ISO镜像的要求:

  • Ubuntu 16.04 LTS或更新作为主机系统(其他人系统或许,但仍未测试)
  • 4GB的空闲内存
  • 32GB的存储空间
  • 有效的互联网连接

如何创建ISO映像:

  1. 克隆存储库并进入目录。 git clone https://github.com/dtag-dev-sec/tpotce.git cd tpotce
  2. 调用构建ISO镜像的脚本。该脚本将下载并安装构建镜像所需的依赖关系。它将进一步下载T-pot所基于的ubuntu网络安装镜像(50MB)。 sudo ./makeiso.sh

成功构建后,您将在您的目录中找到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,请按照以下步骤:

  1. 从ISO镜像中刻录一张CD,或者使用镜像制作一个可启动的U盘。

虽然大多数CD刻录工具允许您从ISO镜像刻录,但是ISO映像创建可引导USB盘的过程取决于您的系统。 有各种可用的Windows GUI工具,例如这个提示可能会帮助你。

在Linux或MacOS上,您可以使用dd工具或者使用T-Pot的ISO Creator创建U盘。

2. 从u盘启动并安装。

首次运行

安装需要很少的交互,只有一些locale和键盘设置必须被应答。其他一切都将自动配置。系统将重新启动两次。确保它能访问互联网,因为它需要下载更新和docker化的蜜罐组件。根据您的网络连接和选择的安装类型,安装可能需要一些时间。在我们的测试中(10M-50M),安装通常在30分钟内完成。

一旦安装完成,系统将自动重启,您将会看到一个t-pot登录界面。首次登录的用户凭证是:

  • user: tsec
  • pass: 安装期间设置的密码

所有的蜜罐服务都是预先配置的,并自动启动。

您还可以从浏览器登录: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文件包含系统运行所需的许多配置参数。如果你想添加一个电子邮件地址,包括你的意见,以便能够确定你的请求。此外,您可以添加一个代理。请不要改变这些设置以外的任何东西,除非很必要。否则,系统可能无法按预期工作。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-12-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 恒星EDU 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档