这是我在 PCI 合规性扫描报告中未通过的一项:
我使用端口 22 进行 SFTP 连接,将文件从本地计算机传输到服务器,反之亦然。我尝试通过发送以下电子邮件来对此失败提出异议:
我们的用户名是 [用户名]。我们今天对 IP [IP 地址] 进行的最新扫描结果显示我们未通过以下项目:
检测到远程访问服务
看起来这实际上并不是失败。如果是,请提供相关信息以说明失败的原因。
我们正在使用端口 22 通过 SFTP 进行远程连接,这是正常的。
PCI 合规支持团队的回复是:
感谢您联系 PCI 合规性支持。
PCI 合规性要求所有远程访问服务在不使用时都应关闭,但是,如果您要求在业务运营期间始终打开它们,则可以提出争议。
这是否意味着我只需要在有 SFTP 连接请求时启用端口 22,并在该连接完成文件传输后立即禁用端口 22?我认为这是一种二进制行为,我要么在服务器上启用端口 22,要么禁用端口 22,但不能根据 SFTP 连接请求动态启用/禁用端口 22。是这样吗?
更新 1:我在以下文档的“附录 D:ASV 扫描报告摘要示例”中找到了以下信息:https://www.pcisecuritystandards.org/documents/ASV_Program_Guide_v3.0.pdf:
检测到 VPN
扫描客户须知:
由于远程访问软件的存在会增加持卡人数据环境的风险,请 1) 向 ASV 说明此软件的业务需求,2) 确认该软件已按照附录 C 安全实施或已禁用/删除。如果您对此特别说明有任何疑问,请咨询您的 ASV。
例如,仅在请求 SFTP 远程连接时才需要动态启用/禁用端口 22,或者它是服务器上启用或禁用的二进制配置?
更新 2:我正在阅读以下内容https://medium.com/viithiisys/10-steps-to-secure-linux-server-for-production-environment-a135109a57c5:
更改端口我们可以更改默认的 SSH 端口以添加一层不透明度,从而保证您的服务器安全。
打开 /etc/ssh/sshd_config 文件
将默认端口 22 替换为其他端口号,例如 1110
保存并退出文件
service sshd restart 现在登录定义端口号。
ssh 用户名@IP -p 1110
这似乎是“通过隐蔽性实现安全”。这是一个可接受的解决方案还是一种变通方法?只需将端口从 22 更改为其他随机数,PCI 合规性扫描就能通过吗?
答案1
首先,我不是 PCI DSS 合规方面的专家。
话虽如此,这看起来只是您误解了。SFTP 仍然是 SSH 访问,只是不是 shell 访问。对于攻击者来说,能够读取和写入您系统上的任意文件几乎和他们拥有常规 shell 访问权限一样糟糕(他们可以检查您的代码、上传恶意负载等)。因此,就像使用 SSH 一样,如果您需要符合 PCI DSS 标准,您应该在不同的端口上运行它。
在端口 22 上动态启用/禁用 SFTP 仍然违反 PCI DSS 合规性。实际上,只要该端口处于打开状态,您就不符合合规性,无论合规性扫描是否发现它(就像偷窃是违法的,无论您是否被抓到一样)。
此外,就 PCI DSS 合规性而言,这是一个简单的需要修复的问题。任何正常的 SFTP 客户端都会允许您通过非标准端口访问它,几乎所有现有的 SFTP 服务器也是如此。
现在,抛开这些不谈,你可能如果您在单独的端口上启用了此服务,则仍然不符合要求。如上所述,我不是 PCI DSS 专家,但根据您从专家那里收到的回复,听起来您确实需要在维护时段之外关闭它(这意味着根本不运行 SFTP 服务器)。