千家信息网

Kubernetes中怎么创建与部署蜜罐

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章给大家介绍Kubernetes中怎么创建与部署蜜罐,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。蜜罐简介众所周知,蜜罐是一种网络安全机制,用于检测和对抗黑客攻击。这是一个
千家信息网最后更新 2026年10月31日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文档包含了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-IPmysql-replica: Access denied for user 'user' from IP:PORT to  host-IP:3306mysql-replica: Closing connection for IP:PORT

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

创建蜜罐 Docker 镜像:

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

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

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

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

3、创建依赖项。

4、设置入口点。

所有这些步骤都需要记录在Docker文件中:

FROM ubuntu:14.04  WORKDIR /tmp/honeymsqlCOPY . ./  RUN apt-get updateRUN apt-get install libev-dev  ENTRYPOINT ["./mysql-honypotd"]

现在,我们需要创建一个Docker镜像:

> docker build -f ./Dockerfile -t mysql-honeypot:1

构建完成后,我们的本地Docker镜像就可以使用了。为了创建一个Pod,我们必须将这个Docker镜像上传到Docker Hub:

> docker push dockerID/repositoryName

此时,我们已在Pod中创建了一个MySQL蜜罐。

将蜜罐添加到 Kubernetes:

Pod的所需状态由我们前面讨论过的Deployment对象维护。开始部署之前,我们需要先创建一个YAML文件。基于此,Deployment自动控制Pod的状态。如有需要,我们可以使用ReplicaSet运行多个蜜罐。

编写YAML文档,你可以参考Kubernetes文档。我们项目的声明如下:

apiVersion: extensions/v1beta1kind: Deploymentmetadata:  name: mysql-replicaspec:  replicas: 1  template:   metadata:     labels:   app: mysql-replica   spec:     containers:     - name: mysql-replica   image: dockerID/repo:tag   imagePullPolicy: Always   args: ["-s 5.6"]   securityContext:            privileged: true

让我们注意这个声明中的两行字符串:

image: dockerID/repo:tag

这一行是指我们之前为了构建Pod而创建的Docker镜像。请注意,如果你使用私有存储库,则需要创建一个额外的Secrets对象,该对象将存储访问令牌到镜像。

args: ["-s 5.6"]

该行定义了我们已启动的应用程序的参数。我们可以在创建Docker镜像时在入口点定义它们。但是这种方法不允许在未重构镜像的情况下更改参数。

在创建Pod时声明参数使得设置应用程序的过程更加灵活。

让我们保存文件并创建一个Deployment资源:

> kubectl create -f honeypot-deployment.yaml

现在,我们需要检查Pod的状况:

> kubectl get podsmysql-replica-5895cb77dd-9ltrr 1/1 Running 0 2m

使用以下命令查看蜜罐是否按预期工作:

> mysql -root -h [POD-IP]ERROR 1045 (28000): Access denied for user 'user'@'ip' {/code}

最后,让我们来看看蜜罐日志:

> kubectl logs mysql-replica-5895cb77dd-9ltrrmysql-honeypotd[1]: New connection from IP:PORT to [POD-IP]:3306mysql-honeypotd[1]: Access denied for user 'user from IP:PORT to POD-IP:3306mysql-honeypotd[1]: Closing connection for IP:PORT

关于Kubernetes中怎么创建与部署蜜罐就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

蜜罐 镜像 数据 容器 集群 攻击 运行 文档 示例 系统 保护 应用 控制 研究 命令 应用程序 控制器 文件 状态 程序 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海喔噻互联网科技有限公司 广州大一互联网络科技有限公司 互联网科技公司经营范围 中关村互联网科技集团 互联网科技金融 上海致骋互联网科技 滨湖区互联网智能科技产品供应 中盈科技互联网信息有限公司 创业天下互联网科技有限公司 互联网科技与管理 世界互联网科技公司市值排名 青海科技产业互联网发展 玉溪新华互联网科技好不好 每天都有哪些好的互联网科技 富国互联网科技002692 宇信科技在杭州互联网排第几 广州梦谷互联网科技有限公司领导 上海万顺科技互联网有限公司招聘 西安左小互联网科技有限公司 美国五大互联网科技公司市值多少 科技服务与互联网 互联网巨头投资的硬核科技 语蝶互联网科技有限公司 互联网科技公司有风险吗 银川新华互联网科技学校联系电话 群盈汇互联网科技有限公司 小米互联网科技园入驻 互联网科技资金流入 好易买互联网科技 前海云享互联网科技
0