PCI DSS和发布部署自动化

时间:2015-04-06 00:07:28

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

PCI DSS规则之一是:

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

您将如何处理SCM /发布自动化服务器?必须在开发网络段中的某个服务器上打开一个端口,这样就可以在prod网络设置中使用某个服务器。

开发人员生成代码,然后由生成发布工件的构建管理器生成。发布工件必须进入生产阶段。发布工件如何从开发到生产 - 他们如何从“不在范围”开发框到“在范围”生产框中?

2 个答案:

答案 0 :(得分:1)

对此可能没有一个非常好的答案;据我所知,你不可能拥有一个真正自动化的持续部署解决方案,它不会导致“范围”蔓延到开发系统。因此,您必须在部署中涉及手动步骤,但您可以尽可能小地完成该步骤。

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

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

答案 1 :(得分:0)

I've done a lot of research on this, and what we ended up doing is splitting up our SCM server into dvscm and pdscm.

dvscm:

  • All the developers commit code to this server
  • Build generation process stores release artifacts here
  • Dev Automated testing gets deployment artifacts from here

pdscm:

  • This server syncs the deployment artifacts from dvscm. Existing deployment artifacts are not updated, this is an add-only type of sync.
  • QA and PROD environments get deployment artifacts from there, using PSK-based connection via SSH with custom restrictive shell

This way there's a level of separation between DEV and QA/PROD. pdscm is locked down - developers don't have access to it, all firewall rules are DENY by default.

The only outgoing connection from pdscm is port 22 to dvscm, for the sync. The only incoming connections to pdscm are on port 22, connected to a user that has only premissions to read deployment artifacts, using a custom restricted shell.