首页 > 云计算 > 正文

用防火墙来保障容器安全(Docker/Kubernetes)

2018-03-06 11:02:38  来源:SDNLAB

摘要:在部署任何基于容器的应用程序之前,首先通过确保Docker、Kubernetes或其他容器防火墙来保护容器的安全至关重要。有两种方式来实现容器防火墙:手动或通过使用商业解决方案。
关键词: 容器安全 防火墙
  在部署任何基于容器的应用程序之前,首先通过确保Docker、Kubernetes或其他容器防火墙来保护容器的安全至关重要。有两种方式来实现容器防火墙:手动或通过使用商业解决方案。但是,不建议对基于Kubernetes的容器部署进行手动防火墙部署。无论如何,无论采取哪种策略,创建一套网络防火墙规则来保护容器部署至关重要,这可以防止容器敏感系统和数据被访问。
 
\
 
  用防火墙来保障容器安全(Docker/Kubernetes)
 
  新漏洞的不但出现加强了容器安全的必要性,Apache Struts背后的黑客的创造力,Linux堆栈冲突以及cow exploits,所有这些都是因重大数据泄露和勒索软件攻击臭名昭着,企业永远不知道接下来会发生什么。此外,这些攻击具有相当的复杂性,不仅需要漏洞扫描和修补来应对威胁。
 
  攻击通常是一系列的事件(或称为kill chain),攻击者将进入一个易受攻击的系统,然后升级他的访问权限并扫描其他系统,最终违反数据并造成损害。主动式容器防火墙策略可以帮助检测多个阶段的kill chain,并减少此类攻击,即便在涉及零漏洞的情况下也是如此。
 
  部署防火墙来保护容器并不简单,就本质而言,容器部署根据需要动态扩展、更新并迁移主机和云,以优化环境。编排工具管理Pod和容器的IP地址,使得攻击者难以了解网络流量。每个容器都包含容器的虚拟化网络接口,无论是Docker、Kubernetes还是其他程序,环境的编排工具都会自动部署。由于这种高度动态的特性,对传统防火墙规则和iptables来说,检查流量并防止容器受到不必要的访问是一个巨大的挑战。
 
  容器防火墙保护
 
  可用于容器防火墙部署的选择与传统防火墙的选择相同,包括以下内容:
 
  3/4层过滤:容器安全性可以基于IP地址和端口实现。还可以使用Kubernetes网络策略和其他Kubernetes工具以动态方式更新规则,在部署更改和扩展容器时加以保护。需要指出的是,这些工具没有配备实现实时流量监控和可视化。
 
  Web应用攻击检测:运行Web应用程序的面向Internet的容器可以通过检测常见攻击的方式进行保护,这符合Web应用程序防火墙(WAF)的功能。需要注意的是,仅限于常见的外部攻击,保护内部容器到容器之间的流量所需的多协议过滤超出了此方法的范畴。
 
  7层Docker防火墙:通过具有7层过滤功能的容器防火墙和容器间流量的深度包检测,可以使用网络应用程序协议来保护容器。与此同时,这类防火墙还集成了容器运行时引擎和Kubernetes等云容器编排工具,自动创建策略,基于白名单的保护以及支持云和主机安全的应用程序威胁保护。
 
  手动配置Docker容器防火墙
 
  对于那些对自己的Linux网络功能充满信心的用户而言,手动配置Dcoker容器防火墙是一种有效的选择。
 
  完成此操作的基本步骤如下:
 
  将iptables设置为false以确保Docker不会覆盖您的规则
 
  检查您创建的规则并保存
 
  添加允许/转发的规则(I/O接口,ICMP,Docker)
 
  为输入和输出流量以及流量路由添加防火墙规则,确保容器仍然能够根据需要访问互联网
 
  加载防火墙规则
 
  允许或限制icc设置为等于true的主机到主机容器通信
 
  遵循这些步骤将能够通过基本的网络通信进行控制,通过进一步的规则更新或商用Docker容器解决方案来实现这些功能的自动化,可以实现对容器与其他容器进行通信的更细致的命令。实际上,在高度动态的环境中手动更新容器与容器之间的规则是不可取的。
 
  云原生方式
 
  尽管云原生Docker容器防火墙与下一代防火墙或WAF相似,但它们在云和托管安全功能方面有巨大差异。通过在云原生容器环境中提供保护,这些防火墙不仅能够保护外部南北向流量,还能够保护内部东西向流量,同时隔离并保护工作负载、应用程序对战和动态容器环境。
 
  通过行为学习来启用自动策略创建
 
  容器防火墙可能了解容器环境中每个基于容器服务的正常行为,通过收集尽可能多的行为数据,防火墙就可以系统地理解应用程序的意图,管理安全策略以自动支持此意图,识别并禁止与此意图不符合的行为。
 
  深度包检测(DPI)
 
  深度包检测(DPI)技术是容器防火墙可以提供的另一个重要安全需求。所有漏洞都使用可预测的攻击媒介:恶意HTTP请求可能包含格式错误的头文件,或者在可扩展标记语言(XML)对象中包含可执行的shell命令。有效的检测部署可以查找和识别这些方式,DPI为此过程增加了一个必要的确定性,允许容器防火墙实时审查每个容器连接,并判断是否允许数据包继续传输。
 
  无论是手动部署容器防火墙还是使用商用防火墙,对于用户的解决方案能够检测主机和容器中的特权升级和可疑进程,扫描这些漏洞以及监控其活动和行为的任何容器环境的安全性至关重要。商用的容器网络安全选择通常提供终端安全和审计功能以及强大的防火墙功能。安全审计和一致性测试工具,如Docker Bench for Security或CIS Kubernetes基准测试工具,将用户的容器环境纳入测试并指出安全改进的特定需求。
责编:pingxiaoli