自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(97)
  • 问答 (1)
  • 收藏
  • 关注

原创 Prometheus介绍和安装

6)Web UI:Prometheus内置一个简单的Web控制台,可以查询指标,查看配置信息或者Service Discovery等,实际工作中,查看指标或者创建仪表盘通常使用Grafana,Prometheus作为Grafana的数据源;在Prometheus的架构设计中,Prometheus Server并不直接服务监控特定的目标,其主要任务负责数据的收集,存储并且对外提供数据查询支持。总之,通过使用Prometheus exporter,你可以方便地监控应用程序的性能、资源利用率和其他重要指标。

2023-12-23 22:13:42 975

原创 在k8s中使用Helm安装harbor并将Chart推送到私有仓库harbor

注意,harbor从2.8.0开始已经不支持chartmuseum了,而是改为了OCI ,鉴于新版本不太成熟和使用人太少,所以当前,我们安装2.6.2版本。注意:如果你的harbor是之前docker-compose安装的,还需要额外做一个动作,让它支持chart。Harbor的chartmuseum可以让Helm直接将chart包推送到harbor里,但是。1)下载harbor的chart包。2)修改默认values.yaml。到harbor浏览器后台。检查plugins列表。升级本地release。

2023-12-22 10:40:15 865

原创 k8s中Chart的命名模板

相对于 deployment.yaml 这种主模板,命名模板只是定义部分通用内容,然后在各个主模板中调用。templates目录下有个_helpers.tpl文件。公共的命名模板都放在这个文件里。如,这里先简单定义一个只包含字符串的模板,用作资源名称。命名模板有时候也被称为部分或子模板。命名模板使用 define 来定义。2)自定义templates模板文件。注意:假定NFS服务器已经搭建好了。5)到NFS服务器上创建一个测试页。生成一个deployment模板。删除掉默认的模板文件。

2023-12-22 10:39:24 659

原创 k8s中Chart模板流程控制if_with_range和变量

{{- 表示删除左边的所有空格,直到非空格字符,而 -}}表示删除右边的所有空格。注意,换行符也是空格,当然还包括空格,TAB字符。with 语句块内不能带 .Release.Name 对象,否则报错。上面在 range 循环中使用 $k 和 $v 两个变量来接收后面列表循环的键和值。with 语句块里, 把当前范围定义在了.Values.env这个变量上了。变量在模板中,使用变量的场合不多,但个别情况下不得不使用变量。上面的变量引用都需要从.Values开始, 有点繁琐。修改values.yaml。

2023-12-21 22:42:53 708

原创 k8s中Helm工具实践

Helm最核心的就是模板,即模板化的K8s清单文件(如,deployment, service等),模板经过渲染后会被提交到K8s中,本质上就是Go语言的template模板,模板文件位于template/目录中。变量的值定义在values.yaml文件中,该文件中定义了变量的缺省值,但可以在helm install命令中配置新的值来覆盖缺省值。将K8s清单文件中可能经常变动的字段,通过指定一个变量,在安装的过程中该变量将被值value动态替换掉,这个过程就是模板的渲染。

2023-12-21 22:21:30 1139

原创 Kubernetes Operator

1)Operator是什么你可以理解成Operator就是CRD+自定义Controller的实践应用。Kubernetes Operator由CoreOS公司开发,它是一种自定义控制器,它扩展了 Kubernetes API 的功能,用于管理和自动化应用程序、服务或资源的生命周期。Operator 可以将复杂的操作封装到 Kubernetes 中,以便在集群中创建、配置、部署和管理特定类型的应用程序或服务。

2023-12-20 14:53:00 407

原创 k8s的API资源对象CustomResourceDefinition(CRD)

和我们定义普通的资源对象比较类似,这里可以随意定义一个自定义的资源对象,但是在创建资源的时候,肯定不是任由我们随意去编写 YAML 文件的,当我们把上面的 CRD 文件提交给 Kubernetes 之后,Kubernetes 会对我们提交的声明文件进行校验,从定义可以看出 CRD 是基于。在Kubernetes中,像Pod、Service和Deployment这样的资源是由内置的资源类型如Pod、Service和Deployment表示的。一旦创建完自定义的CRD,那么就会生成一个自定义的API。

2023-12-20 14:52:07 621

原创 API资源对象StorageClass;Ceph存储;搭建Ceph集群;k8s使用ceph

SC的主要作用在于,自动创建PV,从而实现PVC按需自动绑定PV。下面我们通过创建一个基于NFS的SC来演示SC的作用。要想使用NFS的SC,还需要安装一个NFS provisioner,provisioner里会定义NFS相关的信息(服务器IP、共享目录等)github地址: https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner修改deployment.yaml应用yamlSC YAML示例。

2023-12-19 17:23:53 1369

原创 Kubernetes里的Pod亲和性;Pod反亲和性;API资源对象PV和PVC;本地存储;NFS存储

与其他PV类型(例如NFS、Ceph或云存储)不同,本地存储类型的PV直接使用节点上的存储资源,因此具有更低的延迟和更高的性能。如果没有匹配的PV,PVC将保持未绑定状态。Pod想要使用具体的存储资源需要对接到PVC,PVC里会定义好Pod希望使用存储的属性,通过PVC再去申请合适的存储资源(PV),匹配到合适的资源后PVC和PV会进行绑定,它们两者是一一对应的;PV可以手动创建,也可以自动创建,当PV需求量非常大时,如果靠手动创建PV就非常麻烦了,SC可以实现自动创建PV,并且会将PVC和PV绑定。

2023-12-19 13:21:51 976

原创 Kubernetes里的DNS;API资源对象ingress;Kubernetes调度;节点选择器NodeSelector;节点亲和性NodeAffinity

调度器在执行绑定操作的时候是一个异步过程,调度器会先在缓存中创建一个和原来Pod一样的Assume Pod对象用模拟完成节点的绑定,如将Assume Pod的Nodename设置成绑定节点名称,同时通过异步执行绑定指令操作。在Pod和Node绑定之前,Scheduler需要确保Volume已经完成绑定操作,确认完所有绑定前准备工作,Scheduler会向Api Server 发送一个Bind 对象,对应节点的Kubelet将待绑定的Pod在节点运行起来。节点分值计算是通过调度器算法实现的,而不是固定的。

2023-12-10 22:22:14 914

原创 k8s中的Pod网络;Service网络;网络插件Calico

当执行到创建网络这一步骤时,它首先会读取刚才我们所说的配置目录中的配置文件,配置文件里面会声明所使用的是哪一个插件,然后去执行具体的 CNI 插件的二进制文件,再由 CNI 插件进入 Pod 的网络空间去配置 Pod 的网络。由于Calico是一种纯三层的方案,因此可以避免与二层方案相关的数据包封装的操作,中间没有任何的NAT,没有任何的overlay,所以它的转发效率是所有方案中最高的,因为它的包直接走原生TCP/IP的协议栈,它的隔离也因为这个栈而变得好做。而真正实现和落地这些规范的是CNI插件。

2023-12-07 21:19:46 1537 2

原创 水平自动扩容和缩容HPA;API资源对象NetworkPolicy;Kubernetes用户安全控制;Kubernetes创建普通用户示例

比如创建Pod,它会检查提交的信息是否符合创建Pod的规范,如果不符合规范就拒绝。另外,准入控制还会帮助我们把我们没有明确指定的字段信息,通过默认值的方式把对应的字段填充到客户端请求中,然后把填充好的信息一并由APIserver把客户端请求更新到对应资源在etcd中的对应信息上。Adminssion Control实际上是一个准入控制器插件列表,发送到API Server的请求都需要经过这个列表中的每个准入控制器插件的检查,检查不通过,则拒绝请求。基于白名单模式,符合规则的对象通过,不符合的拒绝。

2023-12-07 21:16:11 869

原创 ActiveMQ 反序列化漏洞(CVE-2015-5254)

ActiveMQ支持多种消息协议,包括JMS(Java消息服务)、AMQP(高级消息队列协议)和STOMP(简单文本传输协议),使得它能够与不同的客户端和应用程序进行通信。kali中下载jmet的jar包,里面集成了ysoserial,运行jar包jdk环境要对应,我的jdk是1.8版本,jdk17执行失败了。再次向服务器发送消息,ActiveMQ的消息队列中会增加一条,当这条被点击的时候我们的反弹shell也就会被执行。当点击了这条消息后我们的命令就被触发执行了,说明是有这个漏洞的。

2023-12-05 21:50:13 991

原创 Kubernetes中API资源对象Job;API资源对象CronJob;API资源对象Endpoint;API资源对象ConfigMap;API资源对象Secret

有时候K8s里的Pod需要访问外部资源,比如访问外部的MySQL服务,就可以定义一个对外资源的Ednpoint,然后再定义一个Service,就可以让K8s里面的其它Pod访问了。Endpoint(简称ep)资源是和Service一一对应的,也就是说每一个Service都会对应一个Endpoint。CronJob简称(cj)是一种周期运行的Pod,比如有些任务需要每天执行一次,就可以使用CronJob。ConfigMap(简称cm)用来存储配置信息,比如服务端口、运行参数、文件路径等等。

2023-12-05 21:41:30 418

原创 API资源对象Deployment;API资源对象Service;API资源对象DaemonSet;API资源对象StatefulSet

Daemonset不支持使用kubectl create获取YAML模板,所以只能照葫芦画瓢了,参考Deployment的YAML编写,其实Daemonset和Deployment的差异很小,除了Kind不一样,还需要去掉replica配置。有些场景需要在每一个node上运行Pod(比如,网络插件calico、监控、日志收集),Deployment无法做到,而Daemonset(简称ds)可以。另外,要想使用NFS的sc,还需要安装一个NFS provisioner,它的作用是自动创建NFS的pv。

2023-12-04 22:29:23 1159

原创 kubernetes中YAML介绍;API资源对象Pod;Pod原理和生命周期;Pod资源限制

官网(https://yaml.org/)YAML 语言创建于 2001 年,比 XML 晚了三年。YAML虽然在名字上模仿了XML,但实质上与XML完全不同,更适合人类阅读,计算机解析起来也很容易。JSON是YAML的子集,YAML支持整数、浮点数、布尔、字符串、数组和对象等数据类型。也就是说,任何合法的JSON文档也都是YAML文档,如果你了解JSON,那么学习YAML会容易很多。使用缩进表示层次,缩进不允许使用tab,只能用空格,缩进空格数多少不要求,只要保证同一层级空格数一样多即可。

2023-12-02 18:59:02 1018

原创 K8s介绍和各组件盘点;搭建一个单机版的k8s

Kubernetes(K8s),是用于自动部署、扩容、缩容和管理容器化应用程序的开源系统。它将组成应用程序的容器组合成逻辑单元,以便于管理和服务发现。Kubernetes源自google 15年生产环境的运维经验,同时凝聚了社区最佳创意和实践。

2023-12-01 12:00:20 997

原创 如何申请https免费证书

FreeSSL 是一个免费证书和 SSL 证书管理平台。旨在为个人和小型企业提供免费 SSL 证书,以加强他们的网站和应用程序的安全性。与传统的 SSL 证书颁发机构不同,FreeSSL 使用自动化过程生成 SSL 证书,并提供一个管理面板,让用户可以轻松管理他们的证书和域名。https免费证书申请

2023-12-01 09:44:57 364

原创 docker-compose;私有镜像仓库harbor搭建;镜像推送到私有仓库harbor

Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。它允许你通过一个单独的YAML文件来定义应用程序的服务、网络和卷等配置,然后使用简单的命令来创建和管理这些容器。Harbor是一个开源的企业级Docker仓库,提供了一个安全可靠的容器镜像存储和分发解决方案。

2023-11-30 15:34:45 1290

原创 Docker的数据持久化;Docker网络;Dockerfile编写

在 Docker 中,数据持久化是指将容器中的数据保存到宿主机或其他外部存储介质,以确保数据在容器重新创建、更新或删除时不会丢失。Docker服务启动时会生成一个docker0的网卡,这个网卡是实现容器网络通信的根本。 默认容器使用的网络类型为桥接(bridge)模式,这个桥接和我们的vmware里的桥接可不是一回事。它更像是vmware的NAT模式。什么是Dockerfile?是实现自定镜像的一种手段,通过编写Dockerfile,来编译成自己想要的镜像。

2023-11-29 12:06:41 1227

原创 docker容器入门

容器技术是一种操作系统级的虚拟化技术,它允许在一个物理或虚拟机上运行多个隔离的应用程序实例,每个实例都被封装在一个独立的容器中。每个容器都包含应用程序及其依赖的运行时环境,如操作系统、库文件和配置文件,它们共享主机操作系统的内核,但相互之间是隔离的。简单来说,容器技术就是可以把你想跑的配置文件“打包”,然后在任何计算机节点上都可以始终这个打好的包。因为有了容器,可以一条命令让你把自己想跑的服务跑起来,实现了一次打包,遍地使用,就比如,我们可以把整套zabbix环境(

2023-11-28 14:15:27 1533

原创 vmware虚拟机怎么安装linux-rocky操作系统

Rocky Linux 简介企业Linux,社区方式。Rocky Linux是一个开源的企业操作系统,旨在与红帽企业Linux®100%兼容。社区正在大力发展。

2023-11-28 12:58:15 547

原创 rocky8.9配置K8S集群kubernetes,centos同理

下载完后还需要修改⾥⾯定义 Pod ⽹络(CALICO_IPV4POOL_CIDR),与前⾯ kubeadm init 的 --podnetwork-cidr 指定的⼀样。5)设置crictl连接 containerd(三个节点都操作)4)安装kubeadm和kubelet(三个节点都操作)8)node节点上加入master(两个节点主机都执行)3)配置kubernetes仓库(三个节点都操作)2)安装containerd(三个节点上操作)9)安装dashboard(master上)

2023-11-24 16:12:39 1225

原创 java反序列化CC1

【代码】java反序列化CC1。

2023-09-17 21:04:18 85

原创 正则表达式详解

通过比较贪婪匹配和非贪婪匹配,可以更好地控制正则表达式的匹配行为。贪婪匹配通常用于尽可能多地捕获匹配的内容,而非贪婪匹配通常用于尽可能少地匹配,特别是在需要处理嵌套结构或提取特定部分的情况下非常有用。:表示匹配零个或多个属性,每个属性由一个或多个小写字母组成的属性名、可选的空白字符、等号、可选的空白字符、以及由双引号包围的属性值组成。解释:贪婪匹配会尽可能多地匹配小写字母。:表示匹配一个连字符、加号或句点后跟一个或多个字母、数字或下划线的组合,这部分匹配了用户名中的特殊字符及后续字符,可以重复零次或多次。

2023-08-09 11:33:38 836

原创 Linux搭建pikachu靶场(以centos为例)

Pikachu是一个使用PHP语言编写的Web漏洞测试靶场。修改Pikachu靶场的配置文件,将数据库信息更新为你的实际数据库信息。首先,需要在CentOS 7服务器上安装LAMP堆栈。替换为你的MySQL root用户的密码。的MySQL数据库,我们需要手动创建它。现在,应该就可以通过在浏览器中输入。Pikachu靶场需要一个名为。访问Pikachu靶场。

2023-08-03 18:37:08 2944 2

原创 Linux入侵排查

当企业发生黑客入侵、系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解决方案与防范措施,为企业挽回或减少经济损失。针对常见的攻击事件,结合工作中应急响应事件分析和解决的方法,总结了一些Linux服务器入侵排查的思路。

2023-08-01 15:56:40 381

原创 earth靶机详解

在cyberchef把密文先用一个hex解密16进制的解密,然后XOR时候放上我们的密钥,这样就能解密出来了,我们发现解密出来的东西很有规律,复制我们最前面的这一串。当我们远程时候发现不让我们远程,这里其实是给我们的ip地址做了一个过滤,就是不让我们输入ip地址,只要有ip地址就不行,但是我们可以用别的方法来绕过。而密文就是我们主页面最下面这一串16进制的数字,我们可以看出来这里面最大的数就是F,所以肯定是一个16进制的数字。因为我们得到一个用户名,一个密钥,其实就是我们的密码,肯定还有一个登陆网站。

2023-07-31 19:55:16 167

原创 ODIN_1靶机详解

这里看到==结尾就猜测肯定是个base,但都是大写应该是个base32,提醒我们用rockyou爆破。通常wordpress的登陆地址都在wp-login.php,我们果然发现一个登陆框。然后ls发现wordpress的配置文件,里面通常由数据库密码,我们打开看看。我们利用404错误窗口添加一个反弹shell,发现成功添加。就利用wpscan来爆破了一下,瞬间密码就出来了。就能正常打开网站了,要么网站打开css是乱的。先用python拿到一个正常权限的shell。拿到kali中爆破一下,很快密码就出来了。

2023-07-31 19:52:11 1010

原创 TWILIGHT靶场详解

利用下面命令我们就可以插入一个新的有root权限的用户,密码需要加密,我们用openssl工具可以加密对应的账号密码。然后我有扫描了一下上传后文件所在的目录,这里用了一个大字典扫描,小字典扫描不到。这是一个比较简单的靶场,拿到IP后我们扫描发现开启了超级多的端口。但是我们抓包的时候可以上传PHP文件,然后修改成图片类型。扫描目录时候我们发现有一个文件上传的目录,只能上传图片。但是也有不同的方法可以拿权限,就需要这些开放的服务了。点击我们上传的php文件,下面那个也是我上传的。

2023-07-31 19:50:07 135

原创 NAT原理(网络地址转换)

攻击者无法直接访问内部网络中的设备,因为他们无法知道设备的私有IP地址,只能访问到NAT设备的公共IP地址。这样可以大大增强网络的安全性。再买第二个IP地址,但是这个IP地址不需要配置再路由器的进接口上,直接配置到NAT地址转换表就可以,公网寻址也是能找到我们这个IP的,因为是我们买的,寻址时候自然会找到我们公司这台路由器查看NAT地址池。最后发出去的端口号是NAT地址池随机生成的端口号,当信息回来的时候会查看NAT地址池,根据相应的端口号查找相应的内网IP地址和对应的端口号(服务端口)。

2023-07-30 16:14:16 272

原创 ACL原理

8、一般情况下,标准或扩展ACL一旦写好,无法修改某一条,也无法删除某一条,也无法修改顺序,也无法在中间插入新的条目,只能一直在最后添加新的条目。ACL是一种用于控制网络设备访问权限的技术,可以通过配置ACL来限制特定用户、应用程序或网络设备对网络资源的访问。​ 反子网掩码的作用:用来匹配,与0对应的需要严格匹配,与1对应的忽略。​ 1)做流量控制,首先要先判断ACL写的位置(那个路由器?那个接口的那个方向?​ 可以任意修改某一条,或删除某一条,也可以往中间插入某一条。

2023-07-30 14:46:28 1423

原创 BOB_1.0.1靶机详解

然后我们在elliot的家目录发现一个txt文件,打开后发现里面有他的密码,也有James用户的密码。找到ip地址后对IP进行一个单独的扫描,发现ssh端口被改到25468了,等会儿登陆时候需要用到。但是关键词被过滤了,我们在ls中级加两个反斜线就发现可以使用ls命令,下面信息有反馈。然后make一下.c文件,这样就出来一个可执行文件,执行后就拿到了root权限。其实几个用户都是一样的,这个靶机并没有什么能利用的点,但是内核漏洞可以利用。wget过来,file一下发现是一个zip文件,我们解压一下。

2023-07-29 18:16:10 261

原创 CK_03靶机详解

给id_rsa一个600权限然后登陆,输入密码就登陆上smbuser用户了,为什么要登陆这个用户,因为我试过所有的。登陆上后我们发现/etc/shadow文件是可读的,这样我们就可以把root和bla用户的密码进行破解。就smbdata登陆成功了,是没有密码的,并且我们还发现了一个私钥文件和一个有用的note.txt。把两行用户的信息复制到一个文件中,然后john破解一下,这里挺慢的,但是破解出来了。这个靶机开放的端口特别多,所以给我们的误导也很多,我直接按照正确的思路来。密码很快就能破解出来。

2023-07-29 16:54:59 196

原创 CK-00靶机详解

这里我们看一下,在bla1目录下是没有.ssh文件的,当我们用scp命令拷贝我们kali中的一个文件时候,它会先私钥验证看看能不能拷贝,所以就在这里面自动创建了一个.ssh目录。我们登陆上wordpress的后台,这个位置是一个插件,这里可以上传php文件,我们可以上传一个反弹shell。我们可以把我们kali的authorized_keys文件拷贝到靶机的这个.ssh中去就可以免密登陆这个用户了。这时候我们直接给bla用户所有的权限,写到sudoers文件中,bla用户就有全部的权限了,可以直接提权。

2023-07-29 16:53:12 549

原创 热备份路由协议原理

是一种基于冗余设计的协议,用于提高网络的可靠性和冗余性。它允许多个设备共享同一个IP地址,其中一个设备被选为主设备,其他设备作为备用设备,当主设备故障时,备用设备会立即接管主设备的工作,保证网络的连通性。HSRP协议通过将多个路由器划分到同一个HSRP组中,实现了路由器之间的冗余备份,提高了网络的可靠性和冗余性。主备选举、虚拟IP地址和HSRP报文等机制,保证了主备切换的可靠性和及时性。作用:当检测不到对方,或检测到对方优先级比自己低,则立即抢占活跃路由的名分。1)虚拟路由器(老大)

2023-07-29 16:06:32 1801

原创 VLAN原理(Virtual LAN 虚拟局域网)

基于MAC地址划分的VLAN原理是将同一VLAN内的设备的MAC地址范围划分到相同的VLAN中。交换机将收到的数据帧的源MAC地址与已知的MAC地址表进行比对,根据比对结果将数据帧转发到相应的VLAN中。而基于MAC地址划分的VLAN是将同一VLAN内的设备的MAC地址范围划分到相同的VLAN中。而基于MAC地址划分的VLAN可以将同一设备的不同网卡划分到不同的VLAN中。安全性:基于MAC地址划分的VLAN可以通过VLAN间的访问控制列表(VACL)来限制不同VLAN之间的通信,提高网络的安全性。

2023-07-29 15:09:46 1168

原创 路由器工作原理

路由:跨越从源主机到目标主机的一个互联网络来转发数据包的过程。(为数据包选择路径的过程)作用:路由器是连接不同网段的。广播与广播域广播:将广播地址做为目的地址的数据帧广播域:网络中能接收到同一个广播所有节点的集合广播域越小越好。ARP协议:将一个已知的IP地址解析成MAC地址。

2023-07-29 12:07:44 1771

原创 ICMP_1靶场详解

并且我们发现root目录是可以进去的,同时可以私钥登陆,这里我们就可以利用上面的root权限查看私钥文件。local.txt其实就是fox的密码,但这是一个md5,很难破解,同时靶机作者还给了我们另一个方法。这个文件有四个参数,py文件,目标地址,自己的ip地址和接收端口号,同时我们的kali监听一下。devel目录是不能读的,但是里面的文件我们是有查看的权限,可以进去devel但是不能ls。在这里面我们拿到了fox的密码,后面的da就是加的盐。首先扫描ip,登陆后发现是个这样的页面。

2023-07-25 20:38:33 305

原创 FUNBOX_SCRIPTKIDDIE靶机详解

这个靶场给了太多的干扰因素,当你打完后反过来再看是非常简单的一个靶场,但是你打的过程中却会觉得非常难,干扰因素实在天多了。对IP进行一个单独扫描后发现开了一个ProFTPD 1.3.3c的FTP,直接对这个搜索了一下。里面给出就两天命令就可以拿到root权限了,输入后直接root,很简单。题目中给了说加一条hosts,实际没用上。发现有两个可以利用的,我选择的是第二个。

2023-07-25 20:37:05 301

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除