容器比虚拟机更安全的13个方面

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