Kubernetes中怎么创建与部署蜜罐

这篇文章给大家介绍Kubernetes中怎么创建与部署蜜罐,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

蜜罐简介

众所周知,蜜罐是一种网络安全机制,用于检测和对抗黑客攻击。这是一个置于网络内部的诱饵,它将自己伪装成敏感的资产或网络漏洞。当攻击者试图访问这些伪造的机密数据时,蜜罐会记录并通知该行为。蜜罐还会收集和分析有关黑客攻击的数据。

Kubernetes中怎么创建与部署蜜罐

蜜罐配置有两种类型:

1、生产蜜罐主要由公司使用。它们可以提高企业系统的安全性,仅保护黑客最有可能访问的数据。生产蜜罐更易于部署和维护,因为它们主要用于分散攻击者的注意力。

2、研究蜜罐主要由网络安全研究人员,政府和军事组织使用。研究蜜罐的目标不是阻止黑客,而是研究新的威胁和攻击模式。

我们还可以将蜜罐分为:

低交互蜜罐,只复制最常见的攻击服务。

高交互蜜罐,复制所有系统服务。

纯蜜罐,是生产系统的完整副本,不包含任何的敏感数据。

在部署蜜罐之前,让我们回顾一下我们在本教程中需要使用到的Kubernetes元素。

基本 Kubernetes 元素

Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用。我们在之前的一篇文章中,已经仔细研究和探讨了它的架构和功能。它包含有大量的内置工具。在本教程中,我们将只使用以下四个组件

Pod - 一个基本的Kubernetes单元,用于为存储的容器建模主机并创建容器运行的环境

集群(Cluster) - 运行容器化应用程序的一组节点

ReplicaSet - 一个副本控制器,用于确保在任何给定时刻运行所需数量的容器。ReplicaSet定义有多个字段,其中包含有关此控制器应保留的Pod类型和数量的信息以及用于创建新Pod的模板。

部署(Deployment) - 负责Pods和ReplicaSet的声明性更新的控制器。部署控制器需要描述所需的状态才能维护这两个实体。

尽管功能丰富,但Kubernetes的使用却非常的简单。它允许你操作高级实体(如,部署和StatefulSets),而无需直接与Pod交互。

Kubernetes集群使用仪表板或称为kubectl的嵌入式命令行工具进行管理。在本文中,我们使用kubectl在Kubernetes集群中部署蜜罐系统,并收集有关基础架构当前状态的数据。

Kubernetes中怎么创建与部署蜜罐

在 Kubernetes 中部署蜜罐

在了解了蜜罐和Kubernetes的基础知识后,现在让我们开始在Kubernetes集群中创建蜜罐系统。

定义受保护的边界:

让我们开始通过定义我们想要保护的资源来建立蜜罐。Kubernetes文档包含了WordPress和MySQL部署的示例。我们可以使用此示例中的应用程序和部署文件。 假设我们的Kubernetes网络包含我们想要保护的敏感数据。

创建 MySQL 蜜罐:

我们需要选择保护敏感数据的方法。最好的方法是创建一个MySQL服务诱饵。

为此,我们需要使用到MySQL蜜罐。在我们的教程中,我们将使用这个低交互蜜罐示例,你也可以使用你喜欢的任何其他模板。

在开始之前,我们必须确保示例蜜罐正常工作。让我们下载存储库:然后,我们需要创建Kubernetes文档中描述的依赖项:

> git clone https://github.com/skyformat99/mysql-honeypotd ./honeypot

然后,我们需要创建Kubernetes文档中描述的依赖项:

> apt-get install libev-dev

编译项目:

> make

如果kubectl没有返回任何错误,则我们可以启动该项目:

> ./mysql-honypotd -s 5.6 -n mysql-replica

命令执行后,MySQL蜜罐将启动并运行。现在,我们需要使用以下命令连接到它:

> mysql -root -h [host-IP]

ERROR 1045 (28000): Access denied for user ‘user’@’ip’

蜜罐回应了我们的请求,这说明蜜罐已准备就绪。让我们来查看下它的日志:

mysql-replica: New connection from IP:PORT to host-IP mysql-replica: Access denied for user ‘user’ from IP:PORT to  host-IP:3306 mysql-replica: Closing connection for IP:PORT

该记录表示我们的蜜罐运行一切正常。下一步是将蜜罐添加到Kubernetes集群。

创建蜜罐 Docker 镜像:

在Kubernetes集群中启动我们的蜜罐之前,我们需要创建一个Docker镜像。稍后我们将需要用它来启动Pod。

你可以通过以下四个简单的步骤来创建Docker镜像:

1、选择一个基本容器(在我们的示例中,将使用Ubuntu 14.04)。

2、设置一个工作目录并将蜜罐复制到该目录。

3、创建依赖项。

4、设置入口点。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。