BY ROB HIRSCHFELD
去年,普遍观念认为容器的安全性远不如虚拟机。为什么呢 ?由于容器的抽象层极容易被攻破,因此容器的安全无疑比通过硬件VT-X 优化后的虚拟机抽象层薄弱的多 。一旦攻防松懈,恶意代码便可轻松攻击主机。更糟糕的是,一旦主机妥协,由于容器缺乏自有的操作系统壁垒,容器将失去最基本的防守能力。隔离墙的薄弱会导致容器存在大量安全风险隐患。
然而真相是:正面攻击及未打补丁的漏洞可能比后门入侵更加不安全。
特别配置的虚拟机被大量复制,采用不一致的安全设置,运行在浮肿的操作系统上,这才是我们的首位安全隐患。事实上,轻量级设计的容器配置将降低被攻击的几率,轻薄的隔离墙使得在部署前后的安全加固操作更加简便。
容器虽然没有天生的技术优势,但至少在以下六个方面更安全:
1、 不允许SSH :这招直接断了很多正面攻击的入口;
2、 无用户访问 :没有用户可省去证书或工具支持用户访问的需求;
3、 容器系统限制默认端口 :容器就是服务,因此可直接限定大多数访问连接的端口;
4、 短命的容器不易被入侵 :很难通过一个只存活几分钟甚至几秒钟的服务入侵系统;
5、 非持久化的存储设计难以支持恶意软件注入 :由于容器并不支持在文件系统上持久化存放应用数据,因此注入的恶意代码也同样无法保存;
6、 自动升级能加速安全补丁的获取和应用 :通过CI/CD Pipeline自动构建,无需人工介入,实现自动快速的代码和LIB库更新。
此外,关于容器的最佳实践案例也提供了更多安全保障经验:
1、 预部署之来源及依赖校验 :校验服务可确保容器使用了正确且合规路径的代码;
2、 预部署之真实性校验 :服务还可通过容器的信任链关系检查,确保代码未被篡改;
3、 预部署之镜像漏洞扫描 :更棒的是,这种扫描服务可以通过软件包的签名检查,实现容器安全风险的自动评估;
4、 容器运行即激活漏洞扫描 :一旦部署完毕,容器的外部扫描服务可实时监控容器的入侵、停止或拦截攻击;
5、 含通信稽核的网络路由 :由于网络路由是容器构建的基础,因此容器服务架构理应加强安全层,使之具备有效创建防火墙服务的能力;
6、 集中式的日志捕获 :由于没有本地存储,大部分搭建容器的模式首选集中式的日志捕获及分析,以大大简化日志分析操作;
7、 外部注入的信任及证书 :容器的服务模式不允许在容器或代码内注入证书。这意味着可通过实时加载证书的运行实例来构建信任系统,而非采用静态代码加载证书的方式;
太多方面证明,目前使用容器模式比虚拟机镜像模式更加安全!采用容器模式最明显的新优势是,容器的轻量级隔离墙可提供主机层的交叉安全及其他服务能力。对高级用户而言,架构的增强性需求能显而易见的推动容器服务能力的提升。因此容器服务的市场才刚刚开始。
原文链接: Thirteen Ways Containers are More Secure than Virtual Machines