【问题标题】:PCI DSS and release deployment automationPCI DSS 和发布部署自动化
【发布时间】:2015-04-06 00:07:27
【问题描述】:

PCI DSS 规则之一是:

“PCI DSS 适用于持卡人数据环境中包含或连接的所有系统组件”

您将如何处理 SCM/发布自动化服务器?必须从 dev 网段中的某个服务器打开一个端口,使其通向 prod 网络 setgment 中的某个服务器。

开发人员生成代码,然后构建管理器生成发布工件。发布工件必须投入生产。发布工件如何从开发到生产——它们如何从“不在范围内”的开发箱到“在范围内”的生产箱?

【问题讨论】:

    标签: release-management pci-compliance pci-dss


    【解决方案1】:

    这个问题可能没有一个很好的答案;据我所知,你不可能有一个真正自动化的持续部署解决方案,它不会导致“范围内”爬回开发系统。因此,您必须在部署中涉及手动步骤,但您可以使该步骤尽可能小。

    在我最近开发的零售系统中(大约 80 个位置的大约 100 个收银机),我们挑选了一个恰好有一些多余网络带宽的收银机,并将其指定为“孤岛”系统。我们可以将更新作为单个文件(zip 或其他文件)并将其放到该系统上,它会安装在那里,然后传播到所有位置的所有其他寄存器。因此,我们将手动工作的范围缩小到单个寄存器上的单个文件。

    最安全和最简单的方法是 SneakerNet - 每次有软件更新时,将拇指驱动器上的文件带到该系统 - 但可以使用远程桌面方法将文件复制到该系统并保持在范围内,只要该过程不是自动化的并且您使用的是完全不相关的网络。

    【讨论】:

      【解决方案2】:

      我对此进行了大量研究,最终我们将 SCM 服务器拆分为 dvscm 和 pdscm。

      dvscm:

      • 所有开发人员都将代码提交到此服务器
      • 构建生成过程在此处存储发布工件
      • 开发自动化测试从此处获取部署工件

      pdscm:

      • 此服务器从 dvscm 同步部署工件。现有部署工件未更新,这是一种仅添加类型的同步。
      • QA 和 PROD 环境从那里获取部署工件,使用基于 PSK 的连接通过 SSH 和自定义限制性外壳

      这样,DEV 和 QA/PROD 之间就有了一定程度的分离。 pdscm 已锁定 - 开发人员无权访问它,所有防火墙规则默认为 DENY。

      pdscm 的唯一传出连接是到 dvscm 的端口 22,用于同步。 到 pdscm 的唯一传入连接在端口 22 上,使用自定义受限 shell 连接到只有读取部署工件的权限的用户。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-23
        • 1970-01-01
        • 2017-05-26
        • 2010-11-06
        • 2015-11-26
        • 2015-09-03
        • 1970-01-01
        • 2013-10-28
        相关资源
        最近更新 更多