公告栏
Kubernetes配合Jenkins实现轻量自动持续集成
简介之前写的Spinnaker自动化部署,部署复杂,依赖环境多,所以才有这一篇比较轻量级的自动化持续集成,需要用到的环境有Kubernetes-1.23、harbor、Jenkins、Helm、gitlab都是devops常见组件。 文中如有错误或能优化的地方,还望各位大佬在评论区指正。 资产信息: 主机名 角色 IP k8s-master.boysec.cn K8s-master 节点 10.1.1.100 k8s-node01.boysec.cn node-1节点 10.1.1.120 k8s-node02.boysec.cn node-2节点 10.1.1.130 gitlab.boysec.cn Gitlab Harbor NFS 服务器 10.1.1.150 了解发布流程 流程: 拉取代码 git checkout 编译代码 mvn clean 打包镜像 并上传镜像仓库 使用yaml 模板文件部署用镜像仓库中的镜像,kubectl 命令部署pod 开发测试 使用 Harbor 作为镜像仓库部署Harbor作为镜像仓库部署方式: 采用方式 ...
Helm3 使用Harbor仓库存储Chart
简介本文讲述的是使用Helm3和Harbor v2.3.1的经验,使用Harbor作为Chart仓库服务。来实现更高效、便捷的DevOps运维管理,学习如何撰写自己的Chart应用。文中如有错误的地方,还望各位大佬在评论区指正。 开发自己的Chart:Java应用为例先创建模板1helm create demo 修改默认Chart.yaml12345678# cat > Chart.yaml <<EOFapiVersion: v2appVersion: 0.1.0description: wangxiansen demoname: demotype: applicationversion: 1.16.0EOF 删除默认配置文件1234[root@k8s-master demo]# cd templates/[root@k8s-master templates]# lsdeployment.yaml _helpers.tpl ingress.yaml NOTES.txt serviceaccount.yaml service.yaml tests[root@ ...
Helm使用自定义Chart模板来部署k8s应用
Helm Chart概述Helm最核心的就是模板,即模板化的K8S manifests文件。 它本质上就是一个Go的template模板。Helm在Go template模板的基础上,还会增加很多东西。如一些自定义的元数据信息、扩展的库以及一些类似于编程形式的工作流,例如条件语句、管道等等。这些东西都会使得我们的模板变得更加丰富。 helm 项目提供了命令行工具 helm 来进行部署包的管理,并且支持接入 chart 仓库,如果你用过 linux 各大发行版的源,或者 docker 的镜像仓库,相信可以迅速 Get 到这种方案理念。目前官方的中央仓库为 artifacthub。 构建一个Helm Chart使用helm create 可以创建一个初始 chart,文件结构如下: 12345678910111213# helm create mychartCreating mychart# tree mychart/mychart/├── charts├── Chart.yaml├── templates│ ├── deployment.yaml│ ├── _helpers.tp ...
macOS系统下如何优雅的使用Burp Suite
macOS下如何优雅的使用Burp Suite众所周知国内我们使用的Burp Suite大多数是大佬们分享出来的专业破解版的Burp Suite,每次启动的时候都得通过加载器来启动Burp Suite,那有没有更加优雅的方式呢?下面就开始水这一篇文章了,告诉大家如何在macOS下配置基本的渗透测试环境。(我也是刚换macOS) 在2020 年 12 月 2 日 Burpsuite 专业版和企业版已经开放下载了。历届 BP 版本的官方下载地址:https://portswigger.net/burp/releases 所以之后我们破解的思路就是下载官方包正常安装,然后使用注册机激活就可以拉。注册机的 Github 项目地址:TrojanAZhen/BurpSuitePro-2.1下面就使用官方的 2022.8 版本破解激活为例: 首先下载官方官方的 DMG 数据包,正常安装即可。 安装完后,在应用程序中打开显示包内容 将burp-keygen-scz.jar和burp-loader-x-Ai.jar 放入到 BP 的如下图的目录下: 另外编辑 vmoptions.txt 文件, ...
Helm应用包管理器初步认识
Helm 介绍每个成功的软件平台都有一个优秀的打包系统,比如 Debian、Ubuntu 的 apt,Redhat、Centos 的 yum。而 Helm 则是 Kubernetes 上的包管理器,可以很方便的将之前打包好的yaml文件部署到kubernetes上。 本章我们将讨论为什么需要 Helm,它的架构和组件,以及如何使用 Helm。 Helm有两个重要概念: helm:一个命令行客户端工具,主要用于Kubernetes应用chart的创建、打包、发布和管理。 Chart:应用描述,一系列用于描述 k8s 资源相关文件的集合。 Release:基于Chart的部署实体,一个 chart 被 Helm 运行后将会生成对应的一个 release;将在k8s中创建出真实运行的资源对象。 此外Helm还经常与CI\CD配置使用,在这个过程中用于维护应用程序的安装、升级、回滚等操作。 Helm解决那些问题 Helm 到底解决了什么问题?为什么 Kubernetes 需要 Helm? 答案是:Kubernetes 能够很好地组织和编排容器,但它缺少一个更高层次的应用打包工具,而 H ...
Linux系统内核升级
Linux 内核版本管理Linux kernel官网:https://kernel.org/ Active kernel releases(查看EOL信息):https://kernel.org/category/releases.html Linux kernel版本状态说明mainline mainline指由Linus Torvalds亲自制作的内核发布版,是官方当前最新版本的kernel source。在Torvalds对所有其他程序员所做出的重大变化进行整合,并且对先前版本的bug进行几轮修复之后,大约每十周正式发布一个新版本。mainline事实上代表着一个linux kernel分支,这个分支有另一个名称,叫做vanilla。 longterm longterm,是Long Term Support的缩写,长期维护的意思。 stable stable顾名思义,稳定版。 说明:稳定版本不一定都提供长期支持,而提供长期支持的一定是稳定版本。 linux-next linux-next,是代码提交周期结束之前生成的快照,用于给Linux代码贡献者们做测试。 Prepatch P ...
Kubernetes容器netns无法删除问题
场景近日摸鱼,出现问题在k8s+containerd的环境上删除容器失败,容器一直保持在terminating状态containerd日子显示”failed to check network namespace closed: remove netns:unlinkat *: device or resource busy” ,不影响新创建的容器运行。 12ip netns list 报错 Invalid argument 寻找解决办法百度搜索出来mount信息显示netns还是被mount的,但是umount时又显示not mount查看代码,测试验证都无效果。真的坑!根因其实时 ip netns add命令搞的鬼,和这个命令的行为有关,之前执行过这个命令导致containerd创建的netns不可见。解决办法其实只有umount下/run/netns就好了。 能解决就不会单独写一篇文章了,还是Google搜索引擎强大! 只需一条命令解决 1echo 1 > /proc/sys/fs/may_detach_mounts ...
SSRF漏洞挖掘原理详解
SSRF 漏洞SSRF(Server-Side Request Forgery:服务器端请求伪造)是一种由 攻击者构造形成,由服务端发起请求 的一个安全漏洞。一般情况下,SSRF攻击的目标是从 外网无法访问的内部系统(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)。 我们知道网络有外网与内网之分的。所谓的外网就是公开的、大家都可以访问的网络部分,比如旅游景点的介绍、论坛的板块等。还有一部分网络出于保护隐私信息的目的是限制访问的,比如企业的内部网络、校园网等,这就是内网。而有的内网不是完全孤立的,为了与外网建立联系,就通过内网中的一台服务器与外网相连接。而SSRF攻击要做的就是通过这台与外网连接的服务器向这台服务器本身或内网中的其它服务器发起请求。 在了解完SSRF漏洞后我们再来看看SSRF漏洞产生和攻击方法。 SSRF 漏洞成因大都是由于 服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等。 SSRF 漏洞发现以及挖掘 能够对外发起网络请求的地方,就可能存在 S ...
逻辑漏洞挖掘之越权漏洞(IDOR)分析总结
越权漏洞越权漏洞是Web应用程序中一种常见的安全漏洞。它的威胁在于一个账户即可控制全站用户数据。当然这些数据仅限于存在漏洞功能对应的数据。越权漏洞的成因主要是开发人员在对数据进行增、删、改、查时对客户端请求的数据过于信任而遗漏了权限的判定。文中如有错误的地方,还望各位大佬在评论区指正。 越权漏洞的类型 水平越权:权限不变,身份改变 垂直越权:权限改变,身份不变 交叉越权:权限改变,身份改变 简单来说:任何越权都是我干了不属于自己权限范围的事。 越权姿势 如何挖掘越权漏洞最简单的方法:通过特定参数的更改来发现越权漏洞。 困惑:看起来就是改个ID发个包,为什么自己挖不到呢? 解决办法:关注功能点(收货地址、用户、编辑、订单……) 常见越权漏洞Get传参越权案例1 打开某网站进行购物预览等操作 123456GET booking/pay.htm?oid=760004 HTTP/1.1Host: xxx.domain.comUser-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0A ...
逻辑漏洞挖掘之支付漏洞(刷钱、0元购)分析
支付漏洞简介支付漏洞是 高风险漏洞 也属于 逻辑漏洞,通常是通过 篡改价格、数量、状态、接口、用户名等传参,从而造成 小钱够买大物 甚至可能造成 0元购买商品 等等,凡是 涉及购买、资金等方面的功能处 就有可能存在支付漏洞。文中如有错误的地方,还望各位大佬在评论区指正。 快捷支付原理商户网站接入支付结果,有两种方式,一种是通过 浏览器进行跳转通知,一种是 服务器端异步通知。 浏览器跳转通知基于用户访问的浏览器,如果用户在银行页面支付成功后,直接关闭了页面,并未等待银行跳转到支付结果页面,那么商户网站就收不到支付结果的通知,导致支付结果难以处理。而且浏览器端数据很容易被篡改而降低安全性(这种方式数据经过了客户端浏览器,极大的可能性被第三方恶意修改) 服务器端异步通知该方式是支付公司服务器后台直接向用户指定的异步通知URl发送参数,采用POST或者GET的方式。商户网站接受异部参数的URL对应的程序中,要对支付公司返回的支付结果进行签名验证,成功后进行支付逻辑处理,如验证金额、订单信息是否与发起支付时一致,验证正常则对订单进行状态处理或为用户进行网站内入账等。 常见的支付漏洞 提前购买 攻 ...