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