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根- h(主机ip) 

ERROR  1045年,(28000):,Access  denied  for  user “用户”@“ip”

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

 mysql-replica:, New  connection 得到ip: PORT 用主机ip
  
  mysql-replica: Access  denied  for  user “用户”,得到IP: PORT 用主机IP: 3306
  
  mysql-replica: Closing  connection  for  IP:港口

Kubernetes中怎么创建与部署蜜罐