当前位置: 首页 > news >正文

wordpress 百度站长网站建设 云南

wordpress 百度站长,网站建设 云南,四川城乡和建设厅网站,免费空间服务的网站备考ICA----Istio实验15—开启mTLS自动双向认证实验 在某些生成环境下,我们希望微服务和微服务之间使用加密通讯方式来确保不被中间人代理. 默认情况下Istio 使用 PERMISSIVE模式配置目标工作负载,PERMISSIVE模式时,服务可以使用明文通讯.为了只允许双向 TLS 流量,…

备考ICA----Istio实验15—开启mTLS自动双向认证实验

在某些生成环境下,我们希望微服务和微服务之间使用加密通讯方式来确保不被中间人代理.
默认情况下Istio 使用 PERMISSIVE模式配置目标工作负载,PERMISSIVE模式时,服务可以使用明文通讯.为了只允许双向 TLS 流量,需要将配置更改为 STRICT 模式。

1. 环境准备

kubectl create ns kim
kubectl create ns trump
kubectl create ns baiden

为3个命名空间创建服务
其中trump和baiden2个命名空间是有Istio sidecar注入的

kubectl apply -f <(istioctl kube-inject -f istio/samples/httpbin/httpbin.yaml) -n trump
kubectl apply -f <(istioctl kube-inject -f istio/samples/httpbin/httpbin.yaml) -n baiden
kubectl apply -f <(istioctl kube-inject -f istio/samples/sleep/sleep.yaml) -n trump
kubectl apply -f <(istioctl kube-inject -f istio/samples/sleep/sleep.yaml) -n baiden

kim命名空间中的pod是没有Istio注入的

kubectl apply -f istio/samples/httpbin/httpbin.yaml -n kim
kubectl apply -f istio/samples/sleep/sleep.yaml -n kim

确认容器的sidecar注入情况

kubectl get pods -A -l app=httpbin
kubectl get pods -A -l app=sleep

在这里插入图片描述

访问测试

for from in trump baiden kim;do \for to in trump baiden kim;do \kubectl exec deploy/sleep -n ${from} \-- curl http://httpbin.${to}:8000/ip -s -o /dev/null \-w "${from}.sleep to ${to}.httpbin: %{http_code}\n";\done;\
done

可以看到由于现在没对访问实时mtls所有所有访问都是成功的.
在这里插入图片描述

2. 所有命名空间mtls

对全局做mtls限制.
mtls/strict.yaml

apiVersion: security.istio.io/v1beta1
kind: PeerAuthentication
metadata:name: defaultnamespace: "istio-system"
spec:mtls:mode: STRICT

生效配置

kubectl apply -f mtls/strict.yaml 

访问测试

for from in trump baiden kim;do \for to in trump baiden kim;do \kubectl exec deploy/sleep -n ${from} \-- curl http://httpbin.${to}:8000/ip -s -o /dev/null \-w "${from}.sleep to ${to}.httpbin: %{http_code}\n";\done;\
done

可以看到做了mtls后,对trump和baiden两个由Istio管控的可以互相访问,并可以访问没有被管理的kim空间.
但没有被Istio管理的kim空间是无法访问由Istio管理的trump和baiden中的httpbin服务.

在这里插入图片描述
清理全局全局认证策略,为下一个实验做准备

kubectl delete pa -n istio-system default 

在这里插入图片描述

3. 命名空间级别mtls

仅对trump命名看空间进行mtls验证
trump.yaml

apiVersion: security.istio.io/v1beta1
kind: PeerAuthentication
metadata:name: defaultnamespace: trump
spec:mtls:mode: STRICT

部署生效

kubectl apply -f trump.yaml 

在这里插入图片描述
测试访问

for from in trump baiden kim;do \for to in trump baiden kim;do \kubectl exec deploy/sleep -n ${from} \-- curl http://httpbin.${to}:8000/ip -s -o /dev/null \-w "${from}.sleep to ${to}.httpbin: %{http_code}\n";\done;\
done

测试下来由于trump对mtls进行了限制,因为trump和baiden都是由Istio进行管理,trump的sleep和baiden的httpbin访问trump的httpbin都是正常.
kim是非Istio管理,当kim.sleep访问trump的httpbin时因为没有mtls被拒绝
在这里插入图片描述
恢复配置

kubectl delete pa -n trump default 

在这里插入图片描述

4. Label Selector级别mtls限制

仅对baiden的httpbin进行mtls限制
mtls/labelselector.yaml

apiVersion: security.istio.io/v1beta1
kind: PeerAuthentication
metadata:name: httpbinnamespace: "baiden"
spec:selector:matchLabels:app: httpbinmtls:mode: STRICT

应用配置

kubectl apply -f mtls/labelselector.yaml
kubectl get pa -n baiden

在这里插入图片描述
访问测试

for from in trump baiden kim;do \for to in trump baiden kim;do \kubectl exec deploy/sleep -n ${from} \-- curl http://httpbin.${to}:8000/ip -s -o /dev/null \-w "${from}.sleep to ${to}.httpbin: %{http_code}\n";\done;\
done

此时:
trump因为是受Istio管理,访问baiden的httpbin时带有证书,访问被允许
baiden因为是受Istio管理,访问baiden的httpbin时带有证书,访问被允许
kim因为不受Istio管理,访问baiden的httpbin时未带有证书,访问被拒绝

在这里插入图片描述
清除配置

kubectl delete pa -n baiden httpbin 

在这里插入图片描述

5. 端口级别mtls

使用portLevelMtls参数来实现端口级别的mtls限制.即除了8080端口,都使用mtls
mtls/prot.yaml

apiVersion: security.istio.io/v1beta1
kind: PeerAuthentication
metadata:name: httpbinnamespace: "baiden"
spec:selector:matchLabels:app: httpbinmtls:mode: STRICTportLevelMtls:8080:mode: DISABLE

部署生效

kubectl apply -f mtls/prot.yaml

访问测试

for from in trump baiden kim;do \for to in trump baiden kim;do \kubectl exec deploy/sleep -n ${from} \-- curl http://httpbin.${to}:8000/ip -s -o /dev/null \-w "${from}.sleep to ${to}.httpbin: %{http_code}\n";\done;\
done

此时由于排除的是8080端口,我们访问的是80端口,所以80端口是受mtls管理的:
trump因为是受Istio管理,访问baiden的httpbin时带有证书,访问被允许
baiden因为是受Istio管理,访问baiden的httpbin时带有证书,访问被允许
kim因为不受Istio管理,访问baiden的httpbin时未带有证书,访问被拒绝
在这里插入图片描述

6. 策略优先级

开启namespace级别的mtls

kubectl apply -f mtls/trump.yaml 

在这里插入图片描述
当端口级别的mtls和命名空间级别的发生了冲突时,以更细的规则为准
mtls/trumplabels.yaml

apiVersion: security.istio.io/v1beta1
kind: PeerAuthentication
metadata:name: trumphttpbinnamespace: trump
spec:selector:matchLabels:app: httpbinmtls:mode: DISABLE

生效配置

kubectl apply -f mtls/labelselector.yaml

在这里插入图片描述

访问测试

for from in trump baiden kim;do \for to in trump baiden kim;do \kubectl exec deploy/sleep -n ${from} \-- curl http://httpbin.${to}:8000/ip -s -o /dev/null \-w "${from}.sleep to ${to}.httpbin: %{http_code}\n";\done;\
done

因为trump服务级别的httpbin DISABLE生效,所以kim访问trump的httpbin被允许
在这里插入图片描述
至此备考ICA----Istio实验15—开启 mTLS 自动双向认证实验完成

http://www.yayakq.cn/news/200645/

相关文章:

  • wordpress企业网站教程中国电子加工网
  • 大型网站 网站建设怎么做网站的二维码
  • 网站开发的职业目标做网站营销公司有哪些
  • 废品回收网站怎么做网站优化印刷外贸好做吗
  • 云南网站建设找三好科技哈尔滨网站建设排行
  • 手机网站的特效看会员视频的网站开发
  • 网站运营与维护是什么意思十大免费网站免费下载软件
  • 家用宽带做网站网站备案服务码口令是什么意思
  • 建设网站公司需要哪些证件在海口注册公司需要什么条件
  • wordpress模版做网站响应式做的好的网站有哪些
  • 苏州网络营销及网站推广做gif动态图网站
  • 昭阳区住房和城乡建设管理局网站比较常见的网页制作工具
  • 营销型网站的例子杭州高端企业网站建设
  • 网站没有收录了成品ppt网站
  • 大丰专业做网站的公司网站结构怎么做适合优化
  • 我们不仅仅做网站更懂得网络营销昆明网站建设博滇
  • 长沙开发网站秀米编辑器官网
  • wordpress有广告插件下载地址百度seo优化是做什么的
  • 网站描述外贸网站制作广州
  • 建设网站方案公司文章资讯类网站
  • 网站建设公司找上海站霸wordpress文章链接地址
  • 温州 做网站建设二手网站的建设费用包括
  • 上海专业网站建设费用如何自己做一个app软件
  • 东营的招聘网站哪个有用网站建设与管理实践报告总结
  • 建设母婴网站的总结如何建设一个自己的网站
  • 公司注册查询入口官网网址宁波seo公司联系方式
  • 宜丰做网站的帮忙注册公司要多少钱
  • 商务局网站群建设方案温岭做网站
  • mvc5 网站开发晋中营销型网站建设
  • 山东省山东省建设厅网站首页市场监督管理局电话