本来打算继续讲讲前后端分离的,但是因为我准备的自开发的博客还没做好,所以还是放到后面几篇文章上好了。
这一篇文章,主要想介绍一下一种网络安全的应用。我也希望有高人能一起交流下这种方式的弱点。
如果用过阿里云容器服务的同学应该都知道,容器的载体还是用镜像生成的的服务器,而这些镜像是阿里自己搞的,所以会有所滞后,所以很多时候,会遇到像图中这种情况,而这些漏洞的升级,又逼得你不得不天天维护,因为这种漏洞出现的概率好高。
我们除了天天去检查漏洞外,还有没有其它的办法能够去处理这些问题呢?做个检查漏洞的,一有漏洞自动补全?那不是和阿里要做的这个东西一样吗?购买阿里的服务吧,我作为一个个人开发者,那是能省就省的,而且,我认为最好的防御就是不被发现。
经历过负载均衡和OSS这些阿里云实用的功能后。我觉得在阿里云,应该是要能够找到解决的办法的,在经过一段时间的研究,我的新的方案出来了,其实很简单,就是隔离一切!
这里对专有网络隔离的原理进行一些简单解释,简单的说,阿里云docker专有在创建服务器和维护的时候,打开docker访问外网的接口,同时也只是通过代理的方式进行访问,在不需要外网的环境下,关闭外网,这样极大的提高了安全性。
还是和以前一样的,在开始介绍这种方案之前,我们做个前期的准备工作,这里用到的技术:
- 专有网络: 顾名思义,就是局域网,外部完全不能访问这个网络。
-
弹性公网IP: 也就是购买一个公网IP,可以挂载在想要访问网络的ECS上。
提醒:
- 阿里云容器服务没有完全支持专有网络,这点阿里云上也有说明(见下图),当你的容器完全创建在专有网络的时候,如果不能访问外网,一些阿里云和外部工具在docker初始化的时候会不被安装。所以这里要提醒大家,创建专有网络下的容器前,先部署好专有网络的环境。
步骤:
- 购买不带公网IP的ECS。购买可配置公网EIP,并绑定到该ECS上。(端口专有网络连接公网的时候,只需要解绑公网EIP就可以了)
- 创建专有网络
- 创建交换机
- 按照阿里云的VPC通过有公网IP的ECS访问外网的配置文档,进行配置,得到如下结果。
- 基于此专有网络,购买容器所需要的ECS,并不配置公网IP,或者直接在容器服务内创建ECS,并选择不保留公网EIP。
- 创建集群,此时因为专有网络可以通过上述绑定好公网EIP访问外网,所以创建的集群成功,如果创建集群后,集群管理节点失败,或者阿里云的监控安装失败,都是因为专有网络无法访问外网导致,这时,需要查看专有网络是否不能访问外网。