题 我们的安全审核员是个白痴。我如何向他提供他想要的信息?


我们服务器的安全审核员在两周内要求以下内容:

  • 所有服务器上所有用户帐户的当前用户名和纯文本密码列表
  • 过去六个月中所有密码更改的列表,再次以纯文本形式显示
  • 过去六个月中“从远程设备添加到服务器的每个文件”的列表
  • 任何SSH密钥的公钥和私钥
  • 每次用户更改密码时发送给他的电子邮件,包含纯文本密码

我们使用LDAP身份验证运行Red Hat Linux 5/6和CentOS 5机箱。

据我所知,该清单上的所有内容要么不可能,要么难以置信,但如果我不提供此信息,我们将面临失去访问我们的支付平台并在过渡期间失去收入的问题。新服务。有关如何解决或伪造此信息的任何建议?

我能想到获得所有纯文本密码的唯一方法是让每个人重置密码并记下他们设置的密码。这并没有解决过去六个月密码更改的问题,因为我无法追溯记录那种东西,记录所有远程文件也是如此。

获取所有公共和私有SSH密钥是可能的(虽然很烦人),因为我们只有几个用户和计算机。除非我错过了一个更简单的方法来做到这一点?

我已经多次向他解释过他要求的东西是不可能的。为回应我的疑虑,他回复了以下电子邮件:

我有超过10年的安全审计经验和全面的经验   了解redhat的安全方法,所以建议你查一下   关于什么是和不可能的事实。你说没有公司可以   可能有这些信息,但我已经完成了数百次审计   这些信息随时可用。所有[通用信用   卡处理提供商]客户必须符合我们的新   安全策略和此审核旨在确保这些策略   已正确实施*。

*“新安全政策”是在我们审计前两周推出的,在政策变更之前不需要六个月的历史记录。

总之,我需要;

  • 一种“伪造”六个月密码更改并使其看起来有效的方法
  • 一种“伪造”六个月入站文件传输的方法
  • 收集所有正在使用的SSH公钥和私钥的简单方法

如果我们未通过安全审核,我们将无法访问我们的卡处理平台(我们系统的一个关键部分),并且需要两周时间才能移动到其他地方。我怎么搞砸了?

更新1(周三23日)

感谢您的所有回复,我非常欣慰地知道这不是标准做法。

我目前正计划通过电子邮件回复他解释情况。正如你们许多人所指出的那样,我们必须遵守PCI,明确规定我们不应该以任何方式访问纯文本密码。我写完后会发布电子邮件。不幸的是,我不认为他只是在测试我们;这些东西现在都在公司的官方安全政策中。但是,我已经将车轮设置为离开它们并暂时移动到PayPal上。

更新2(周二23日)

这是我已经草拟的电子邮件,有关添加/删除/更改内容的任何建议吗?

嗨[姓名],

不幸的是,我们无法为您提供一些   请求的信息,主要是明文密码,密码   历史记录,SSH密钥和远程文件日志。这些东西不仅仅是   技术上不可能,但也能够提供这一点   信息将既违反PCI标准,又违反了PCI标准   数据保护法。
  引用PCI要求,

8.4在传输和存储期间渲染所有密码都不可读   所有系统组件都使用强加密技术。

我可以提供给你   使用我们系统上使用的用户名和散列密码列表,   SSH公钥和授权主机文件的副本(这将是   为您提供足够的信息来确定唯一身份用户的数量   可以连接到我们的服务器,以及使用的加密方法),   有关我们的密码安全要求和LDAP的信息   服务器,但这些信息可能不会被取消。我强烈地说   建议您查看您的审核要求,因为目前没有办法   让我们通过这项审计,同时保持符合PCI和   数据保护法案。

问候,
  [我]

我将在公司的首席技术官和我们的客户经理中担任CC,我希望CTO能够确认此信息不可用。我还将联系PCI安全标准委员会,向我们解释他的要求。

更新3(26日)

这是我们交换的一些电子邮件;

RE:我的第一封电子邮件;

如上所述,这些信息应该可以在任何井上轻松获得   维护系统给任何称职的管理员。你失败了   能够提供这些信息让我相信你知道   系统中存在安全漏洞,并且不准备透露它们。我们的   请求符合PCI指南,两者都可以满足。强大   加密仅表示密码必须在用户加密   输入它们然后它们应该被移动到可恢复的格式   供以后使用。

我认为这些请求没有数据保护问题,仅限数据保护   适用于消费者而不是企业,所以不应该有这个问题   信息。

只是,什么,我,不能,甚至......

“强加密只意味着密码必须加密   用户正在输入它们,但随后应将它们移动到   可恢复的格式供以后使用。“

我要把它框起来放在我的墙上。

我厌倦了外交并指导他到这个帖子向他展示我得到的回应:

直接提供此信息与若干要求相矛盾   PCI指南我引用的部分甚至说 storage   (暗示我们将数据存储在磁盘上的位置)。我开始了   关于ServerFault.com的讨论(sys-admin的在线社区   专业人士)已经创造了巨大的反应,所有人都暗示了这一点   无法提供信息。随意阅读自己

HTTPS和结肠// serverfault.com /问题/ 293217 /

我们已经完成了将我们的系统转移到一个新的平台,并将成为   在第二天左右取消我们的帐户,但我想要   你要意识到这些要求是多么荒谬,而且没有公司   正确实施PCI指南将会或者应该能够   提供此信息。我强烈建议你重新考虑一下   安全要求,因为您的客户都不应该这样做   符合这一点。

(我实际上忘记了我称他为头衔中的白痴,但如上所述,我们已经离开了他们的平台,所以没有真正的损失。)

在他的回答中,他表示,显然没有人知道你在说什么:

我通过这些回复和你原来的帖子详细阅读了   响应者都需要把事实弄清楚。我一直在这   行业比该网站上的任何人都长,获得用户列表   帐户密码非常基本,它应该是第一个   在学习如何保护系统时所做的事情是必不可少的   任何安全服务器的操作。如果你真的缺乏   做这么简单的事情的技巧我会假设你没有   PCI安装在您的服务器上,因为它能够恢复它   信息是软件的基本要求。处理时   安全等问题你不应该问这些问题   如果您对基础知识没有基本知识,请参加公共论坛。

我还想建议任何揭露我的尝试,或者   [公司名称]将被视为诽谤和适当的法律诉讼   将被采取

如果你错过了关键的愚蠢点:

  • 他的安全审核员比这里的任何人都要长(他要么猜测,要么跟踪你)
  • 能够在UNIX系统上获取密码列表是“基本的”
  • PCI现在是软件
  • 当人们不确定安全性时,人们不应该使用论坛
  • 在网上提供事实信息(我有电子邮件证明)是诽谤

优秀。

PCI SSC已经做出回应并正在调查他和该公司。我们的软件现已转移到PayPal上,因此我们知道它是安全的。我将等待PCI首先回复我,但我有点担心他们可能在内部使用这些安全实践。如果是这样,我认为这是我们的一个主要问题,因为我们所有的卡处理都是通过它们进行的。如果他们在内部这样做,我认为唯一负责任的事情就是告知我们的客户。

我希望当PCI意识到他们将调查整个公司和系统有多糟糕但我不确定。

所以现在我们已经离开了他们的平台,并假设它至少会在PCI回到我之前的几天,任何有关如何让他转过身来的创造性建议? =)

一旦我从我的合法人员那里获得许可(我非常怀疑这有任何诽谤,但我想要仔细检查)我会公布公司名称,他的姓名和电子邮件,如果你愿意,你可以联系他并解释为什么你不了解Linux安全的基础知识,比如如何获取所有LDAP用户密码的列表。

小更新:

我的“合法人”暗示,公司可能会引发比需要更多的问题。我可以说,这不是一个主要的提供商,他们有100个客户使用这项服务。我们最初开始使用它们,当网站很小并运行一点点VPS时,我们不想经历所有获取PCI的努力(我们曾经重定向到他们的前端,如PayPal标准)。但是当我们转向直接处理卡片(包括获得PCI和常识)时,开发人员决定继续使用同一家公司只是一个不同的API。该公司总部位于英国伯明翰地区,因此我非常怀疑这里的任何人都会受到影响。


2253
2017-07-22 22:44




您有两周时间向他提供信息,并且需要两周时间才能转移到可以处理信用卡的其他地方。不要打扰 - 决定现在行动并放弃审计。 - Scrivener
请更新我们的相关信息。我很高兴看到审计员如何被打屁股。 =)如果我认识你,请通过我个人资料中的地址给我发电子邮件。 - Wesley
他一定是在测试你,看你是不是真的那么傻。对?希望如此... - Joe Phillips
我想知道他被审计的其他公司的一些参考资料。如果没有别的原因比知道谁 避免。明文密码......真的吗?你确定这个家伙真的不是一个黑帽子和社会工程愚蠢的公司几个月交出他们的用户密码?因为如果有公司与他这样做,这是一个很好的方式来交钥匙... - Bart Silverstrim
任何足够先进的无能都无法区别于恶意 - Jeremy French


答案:


首先,不要投降。他不仅是一个白痴,而且是危险的。事实上,发布这些信息会 违反 PCI标准(这是我假设审计的目的,因为它是一个支付处理器)以及其他所有标准,只是简单的常识。它还会使您的公司面临各种责任。

我接下来要做的是向你的老板发送一封电子邮件说他需要让公司法律顾问参与,以确定公司将通过这一行动面临的法律风险。

最后一点取决于你,但是 一世 将与VISA联系并提供此信息并获取其PCI审核员状态。


1171
2017-07-22 23:27



你打败了我!这是非法请求。获取PCI QSA以审核处理器的请求。让他打个电话。圈出货车。 “为枪支收费!” - Wesley
“让他的PCI审核员状态被拉开”我不知道这意味着什么......但是这个小丑所拥有的任何权威(审核员)显然来自一个湿的饼干插孔盒,需要被撤销。 +1 - WernerCD
这一切都假设这个家伙实际上是一个合法的审计员......他听起来非常怀疑我。 - Reid
我同意 - suspicious auditor或者他是一个合法的审计员,看你是否愚蠢到做这些事情。问他为什么需要这些信息。只考虑密码,密码永远不应该是纯文本,但应该在某种单向加密(哈希)之后。也许他有一些合理的理由,但凭借他所有的“经验”,他应该能够帮助你获得必要的信息。 - vol7ron
为什么这很危险?所有纯文本密码的列表 - 应该没有。如果列表不为空,则他有一个有效点。对于msot事情也是如此。如果你没有他们因为他们不在那里说。添加了远程文件 - 这是审计的一部分。不知道 - 开始投入一个知道的系统。 - TomTom


作为已通过审核程序的人 Price Waterhouse Coopers 对于一个机密的政府合同,我可以向你保证,这完全是不可能的,这家伙是疯了。

当普华永道想要检查我们的密码强度时,他们:

  • 要求查看我们的密码强度算法
  • 根据我们的算法测试单元,检查它们是否会拒绝不良密码
  • 要求查看我们的加密算法以确保它们不能被反转或未加密(即使是彩虹表),即使是那些完全访问系统各个方面的人也是如此
  • 检查以前是否缓存了以前的密码以确保它们无法重复使用
  • 要求我们获得许可(我们授予他们),以便他们尝试使用非社会工程技术(例如xss和非0天漏洞利用)进入网络和相关系统

如果我甚至暗示我可以向他们展示过去6个月内用户密码的内容,他们会立即将我们从合同中删除。

如果它 有可能 你会提供这些要求 瞬间失败 每一次审计都值得拥有。


更新:您的回复电子邮件看起来不错比我写的任何东西都要专业。


813
2017-07-23 02:34



+1。看起来像是明智的问题,不应该是可以回答的。如果你能回答它们,你手头有一个愚蠢的安全问题。 - TomTom
even by rainbow tables 这不排除NTLM吗?我的意思是,它没有被腌制...... AFAICR MIT Kerberos没有加密或散列活动密码,不知道当前状态是什么 - Hubert Kario
@Hubert - 我们没有使用NTLM或Kerberos,因为传递身份验证方法被禁止,并且该服务还没有与Active Directory集成。否则我们也无法向他们展示我们的算法(它们内置于操作系统中)。应该提到 - 这是应用程序级别的安全性,而不是操作系统级别的审计。 - Mark Henderson♦
@tandu - 这就是分类级别的规范。阻止人们重复使用他们的上一次也是相当普遍的 ñ 密码,因为它阻止人们循环使用两三个常用密码,这与使用相同的通用密码一样不安全。 - Mark Henderson♦
@Slartibartfast:但要知道密码的纯文本意味着攻击者也可以闯入您的数据库并检查所有内容。至于防止使用类似密码的保护,可以在客户端的javascript中完成,当用户尝试更改密码时,在将新密码发布到服务器之前,还要询问旧密码并与旧密码进行相似性比较。当然,它只能防止从最后一个密码重用,但IMO存在以明文密码存储的风险要多得多。 - Lie Ryan


老实说,听起来这个人(审计员)正在为你做准备。如果你向他提供他要求的信息,你就向他证明了你可以通过社交工程设计来放弃关键的内部信息。失败。


440
2017-07-22 23:40



还有,你考虑过第三方支付处理器,比如authorize.net吗?我工作的公司通过他们进行了大量的信用卡交易。我们不必存储任何客户付款信息 - authorize.net管理 - 所以没有审计我们的系统使事情复杂化。 - anastrophe
这正是我的想法。社交工程可能是获取此信息的最简单方法,我认为他正在测试这个漏洞。这家伙要么非常聪明,要么非常愚蠢 - Joe Phillips
这个位置至少是最合理的第一步。告诉他你会破坏法律/规则/做任何事情,但你欣赏他的诡计。 - michael
愚蠢的问题:在这种情况下,“设置”是否可以接受?通用逻辑告诉我,审计过程不应该是“技巧”。 - Agos
@Agos:几年前我在一个地方工作,聘请一家代理机构进行审计。部分审计包括在公司中随机调用“<CIO>让我给你打电话并获取你的登录凭证,以便我可以<做某事>。”他们不仅要检查您是否真的放弃凭据,而且一旦挂断它们,您应该立即呼叫<CIO>或<安全管理员>并报告交换。 - Toby


我刚刚发现你在英国,这意味着他要求你做的就是违法(事实上是数据保护法)。我也在英国,为一家经过严格审计的大公司工作,并了解该领域的法律和常规做法。我也是一件非常讨厌的工作,如果你喜欢它的乐趣,我会高兴地为你stamp this这个家伙,如果你想要帮助,请告诉我。


335
2017-07-23 07:01



假设这些服务器上有任何个人信息,我认为以明文形式向具有此级别无能力的人员移交/全部/通知凭证将明显违反原则7 ......(“适当的技术和组织措施”应被视为未经授权或非法处理个人数据以及意外丢失,破坏或损坏个人数据。“) - Stephen Veiss
我认为这是一个公平的假设 - 如果您存储付款信息,您可能还会为您的用户存储联系信息。如果我处于OP的位置,我会看到“你要求我做的不仅是违反政策和合同义务[遵守PCI],而且也是非法的”作为一个更强有力的论据,而不仅仅是提到政策和PCI 。 - Stephen Veiss
@Jimmy为什么密码不是个人数据? - robertc
@Richard,你知道这是一个比喻吗? - Chopper3
@ Chopper3是的,我仍然认为这是不合适的。另外,我正在反击AviD。 - Richard Gadsden


你正在进行社交设计。无论是“测试你”还是冒充审计员的黑客都可以获得一些非常有用的数据。


271
2017-07-23 09:20



为什么这不是最佳答案?这说明了社区,社交工程的简易性,还是我遗漏了一些基本的东西? - Paul
从来没有把恶意归咎于无知 - aldrinleal
然而,当审计师声称自己是一名专业人士时,将所有这些要求归咎于无知,可以略微提升想象力。 - Thomas K
这个理论的问题在于,即使他“为此而堕落”或“未通过考验”,他也是如此 不能 给他信息,因为它 不可能..... - eds
我最好的猜测是“严肃的社会工程”(新的Kevin Mitnick书即将推出,这是巧合吗?),在这种情况下,你的支付公司会感到惊讶(你和他们一起检查了这个'审计'了吗?) 。另一个选择是一个非常新手的审核员,没有Linux知识,他试图虚张声势,现在正在更深入,更深入地挖掘自己。 - Koos van den Hout


我非常担心OP缺乏道德问题解决技巧  服务器故障社区忽视了这种公然违反道德行为的行为。

总之,我需要;

  • 一种“伪造”六个月密码更改并使其看起来有效的方法
  • 一种“伪造”六个月入站文件传输的方法

让我明确两点:

  1. 在正常业务过程中伪造数据永远不合适。
  2. 你永远不应该向任何人泄露这种信息。永远。

伪造记录不是你的工作。您的工作是确保所有必要的记录可用,准确且安全。

服务器故障的社区 必须 处理这些问题时,stackoverflow网站会处理“家庭作业”问题。您不能仅通过技术响应来解决这些问题,也不会忽视违反道德责任的行为。

看到这么多高代表用户在这个帖子中回复,并没有提到这个问题的道德含义让我很难过。

我鼓励大家阅读 SAGE系统管理员的道德准则 

顺便说一句,你的安全审核员是个白痴,但这并不意味着你需要感到压力,使你的工作变得不道德。

编辑:您的更新是无价的。保持低头,粉末干燥,不要接受(或给予)任何木质镍。


266
2017-07-24 20:05



我不同意。 “审计员”欺负OP泄露信息,这些信息会破坏组织的整个IT安全。 OP在任何情况下都不应生成这些记录并将其提供给任何人。 OP不应该伪造记录;他们很容易被看作假的。 OP应该向上级解释为什么安全审计员要求通过恶意或完全无能(明文中的电子邮件密码)来威胁。 OP应建议立即终止安全审核员,并对前审核员的其他活动进行全面调查。 - dr jimbob
jimbob博士,我认为你忽略了这一点:“OP不应该伪造记录;它们很容易被视为假的。”仍然是一个不道德的立场,因为你建议他只能在无法与真实数据区分时伪造数据。发送错误数据是不道德的。将用户的密码发送给第三方是疏忽大意。所以我们同意在这种情况下需要做些什么。我正在评论在解决这个问题时缺乏批判性的道德思考。 - Joseph Kern
我不同意“确保这些记录可用,准确和安全,这是你的工作。”您有义务保证系统安全;如果它们危及系统,则不应该进行不合理的请求(如存储和共享明文密码)。存储,记录和共享明文密码是对用户信任的主要障碍。这是一个大红旗安全威胁。安全审计可以而且应该在不暴露明文密码/ ssh私钥的情况下完成;你应该让高层知道并解决问题。 - dr jimbob
jimbob博士,我觉得我们是夜间经过的两艘船。我同意你所说的一切;我不能清楚地阐明这些要点。我将修改上面的初步回复。我过分依赖线程的上下文。 - Joseph Kern
@Joseph Kern,我没有像你一样读过OP。我更多地阅读它,我怎么能产生我们从未保留的六个月的数据。当然,我同意,大多数尝试满足这一要求的方式都是欺诈性的。但是,如果我要使用我的密码数据库并提取过去6个月的时间戳,我可以创建一个仍保留更改的记录。我认为“假装”数据已经丢失了一些数据。 - user179700


你不能给他你想要的东西,并试图“伪造”它可能会回来咬你的屁股(可能以合法的方式)。你要么需要对命令链提出上诉(这可能是审计员已经流氓,虽然安全审计是非常愚蠢的 - 请问我想要能够通过SMB访问AS / 400的审计员),或者得到地狱从这些强烈要求下面出来。

它们甚至不是很好的安全性 - 所有明文密码列表都是一个 令人难以置信 危险的事情 曾经 无论用什么方法来保护它们,我都敢打赌,我敢打赌这个家伙会希望他们用纯文本通过电子邮件发送。 (我相信你已经知道了,我只需要发泄一点)。

对于屎和咯咯笑,直接问他如何执行他的要求 - 承认你不知道如何,并希望利用他的经验。一旦你出去走了,回应他的“我有超过10年的安全审计经验”将是“不,你有5分钟的经验重复数百次”。


232
2017-07-22 23:00



......希望通过SMB访问AS / 400的审核员?...为什么? - Bart Silverstrim
我与PCI合规公司一直在重复的麻烦是反对毯式ICMP过滤,并且只阻止回声。 ICMP是有充分理由的,但几乎不可能向众多的“从脚本工作”审计员解释这一点。 - Twirrim
@BartSilverstrim可能是一个检查清单审核案例。正如审计员曾经告诉我的那样 - 审计员为什么要过马路?因为那是他们去年所做的。 - Scott Pack
我知道这是可行的,真正的“WTF?”事实上,审计员认为该机器很容易受到SMB的攻击,直到他可以通过SMB连接...... - womble♦
“你有5分钟的经验重复了几百次” - 哦,这直接进入我的报价集! :d - Tasos Papastylianou


如果审计员发现您现在已修复的历史问题,则不会让您失败。事实上,这是良好行为的证据。考虑到这一点,我建议两件事:

a)不要撒谎或搞砸。 b)阅读您的政策。

对我来说关键的陈述是这样的:

所有[通用信用卡处理提供商]客户都必须遵守我们的新安全政策

我敢打赌,这些政策中有一条声明说密码不能写下来,也不能传递给用户以外的任何人。如果有,则将这些政策应用于他的请求。我建议像这样处理它:

  • 所有服务器上所有用户帐户的当前用户名和纯文本密码列表

向他显示用户名列表,但不允许将其删除。说明给出明文密码是不可能的,因为它是单向的,而b)反对政策,他正在审核你,因此你不会服从。

  • 过去六个月中所有密码更改的列表,再次以纯文本形式显示

说明这在历史上并不存在。给他一个最近的密码更改时间列表,以显示现在正在完成。如上所述,解释不会提供密码。

  • 过去六个月中“从远程设备添加到服务器的每个文件”的列表

解释什么是和不被记录。尽你所能。不要提供任何保密信息,并按政策解释为什么不保密。询问您的日志记录是否需要改进。

  • 任何SSH密钥的公钥和私钥

看看您的密钥管理政策。它应该声明不允许私钥从其容器中出来并具有严格的访问条件。应用该策略,不允许访问。公钥很愉快,可以共享。

  • 每次用户更改密码时发送给他的电子邮件,包含纯文本密码

拒绝吧。如果您有本地安全日志服务器,请允许他看到这是正在登录的。

基本上,我很抱歉这样说,但你必须和这个人一起打硬仗。完全遵循您的政策,不要偏离。不撒谎。如果他因为政策上的任何问题而让你失败,请向送他的公司的老人抱怨。收集所有这些的书面记录,以证明你是合理的。如果你违反了你的政策,你就会受到他的怜悯。如果你跟着他们去看信,他最终会被解雇。


177
2017-07-23 10:15



同意,这就像是那些疯狂的真人秀节目之一,汽车服务人员将你的车开出悬崖或同样难以置信的东西。我会对OP说,准备你的简历并离开,如果上述行为不适合你。这显然是一个荒谬可怕的情况。 - Jonathan Watmough
希望我可以向+1,000,000投票。虽然这里的大多数答案几乎都说同样的事情,但这个答案要彻底得多。干得好,@ Jimmy! - Iszi