2015-04-06 70 views
3

之一PCI DSS规则是:PCI DSS和释放部署自动化

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

,你会如何去处理SCM /发布自动化服务器?从开发网络的某个服务器开放一个端口,这使得它成为prod网络设置中的某个服务器的一种方式。

开发人员生成代码,接下来是构建管理器生成发布工件。发布工件必须通往生产环境。发布工件如何从开发到生产 - 从“不在作用域”开发框到“在作用域”生产框中如何实现?

回答

0

我已经做了大量的研究,最终我们将SCM服务器分成了dvscm和pdscm。

dvscm:

  • 所有的开发者提交代码到该服务器
  • 构建生成过程店在这里释放文物
  • 开发自动化测试得到部署制品从这里

pdscm:

  • 此服务器同步来自dvscm的部署工件。现有的部署工件不会更新,这是一种只能添加类型的同步。
  • QA和PROD环境得到从那里部署文物,采用通过SSH定制限制性外壳

这样有DEV和QA/PROD之间的分离程度基于PSK的连接。 pdscm被锁定 - 开发人员无法访问它,默认情况下所有防火墙规则都是DENY。

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

1

这可能不是一个很好的答案;据我所知,你不能有一个真正的自动化连续部署解决方案,不会导致'范围'回到开发系统。因此,您必须在部署中采取手动步骤,但您可以尽可能缩小该步骤。

在我最近正在开发的零售系统(大约80个地点的约100台收银机)中,我们选择了一个正好有一些额外网络带宽的寄存器,并将其指定为“岛”系统。我们可以将更新作为一个单独的文件(zip或其他东西)放到系统上,然后安装到那里,然后传播到所有位置的所有其他寄存器。所以我们将手动工作的窗口缩小到单个寄存器上的单个文件。

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