标签: security

我们的安全审计员是个白痴。我如何给他他想要的信息?

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

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

我们正在运行带有 LDAP 身份验证的 Red Hat Linux 5/6 和 CentOS 5 机器。

据我所知,该列表中的所有内容要么不可能获得,要么难以获得,但如果我不提供这些信息,我们将面临无法访问我们的支付平台并在过渡期间失去收入的情况,因为我们转向新服务。关于如何解决或伪造这些信息的任何建议?

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

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

我已经多次向他解释过,他所要求的东西是不可能的。针对我的担忧,他回复了以下电子邮件:

我在安全审计方面有超过 10 年的经验,并且对 redhat 安全方法有充分的了解,所以我建议你检查你的事实,了解什么是可能的,什么是不可能的。你说没有公司可能拥有这些信息,但我已经进行了数百次审计,这些信息很容易获得。所有 [通用信用卡处理提供商] 客户都必须遵守我们的新安全政策,此审核旨在确保这些政策已正确实施*。

*“新安全策略”是在我们审核前两周引入的,并且在策略更改之前不需要六个月的历史记录。

简而言之,我需要;

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

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

更新 1(周六 23 日)

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

我目前正在计划我给他的电子邮件回复,解释情况。正如你们中的许多人指出的那样,我们必须遵守 PCI,其中明确规定我们不应该以任何方式访问纯文本密码。我写完后会发邮件。不幸的是,我不认为他只是在考验我们;这些东西现在在公司的官方安全政策中。然而,我已经让轮子运动起来,暂时离开它们并转移到贝宝上。

更新 2(周六 23 日)

这是我起草的电子邮件,对添加/删除/更改内容有什么建议吗?

嗨[姓名],

不幸的是,我们无法向您提供某些要求的信息,主要是纯文本密码、密码历史、SSH 密钥和远程文件日志。这些事情不仅在技术上是不可能的,而且能够提供这些信息既违反 PCI 标准,也违反了数据保护法。
引用 PCI 要求,

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

我可以为您提供我们系统上使用的用户名和散列密码的列​​表、SSH 公钥和授权主机文件的副本(这将为您提供足够的信息来确定可以连接到我们服务器的唯一用户数量以及加密使用的方法)、有关我们的密码安全要求和我们的 LDAP 服务器的信息,但这些信息不得带离现场。我强烈建议您查看您的审核要求,因为我们目前无法在遵守 PCI 和数据保护法案的同时通过此审核。

问候,
[我]

我将抄送公司的 CTO 和我们的客户经理,我希望 CTO 可以确认此信息不可用。我还将联系 PCI 安全标准委员会,解释他对我们的要求。

更新 3(26 日) …

security pci-dss

2426
推荐指数
29
解决办法
51万
查看次数

如何处理受感染的服务器?

这是关于服务器安全的规范问题- 响应违规事件(黑客攻击)
另请参见:

规范版本
我怀疑我的一台或多台服务器受到了黑客、病毒或其他机制的危害:

  • 我的第一步是什么?当我到达现场时,我是否应该断开服务器,保留“证据”,还有其他初步考虑吗?
  • 如何让服务重新上线?
  • 如何防止同样的事情立即再次发生?
  • 是否有从这次事件中学习的最佳实践或方法?
  • 如果我想制定一个事件响应计划,我该从哪里开始?这应该是我的灾难恢复或业务连续性计划的一部分吗?

原版

2011.01.02 - 我在周日晚上 9.30 上班的路上,因为我们的服务器不知何故遭到入侵,导致对我们的供应商的 DOS攻击。访问 Internet 的服务器已关闭,这意味着我们的 5-600 多个客户站点现已关闭。现在这可能是 FTP 黑客攻击,或者某处代码中的一些弱点。我不确定,直到我到达那里。

我怎样才能快速追踪到这个?如果我不尽快备份服务器,我们将面临大量诉讼。任何帮助表示赞赏。我们正在运行 Open SU​​SE 11.0。


2011.01.03 - 感谢大家的帮助。幸运的是,我不是唯一负责这个服务器的人,只是最近的人。我们设法解决了这个问题,尽管它可能不适用于不同情况下的许多其他问题。我会详细说明我们做了什么。

我们从网络上拔掉了服务器。它正在印度尼西亚的另一台服务器上执行(试图执行)拒绝服务攻击,而犯罪方也在那里。

我们首先试图确定这是来自服务器上的哪个位置,考虑到我们服务器上有 500 多个站点,我们预计会在一段时间内兼职。然而,在 SSH 访问仍然存在的情况下,我们运行了一个命令来查找在攻击开始时编辑或创建的所有文件。幸运的是,有问题的文件是在寒假期间创建的,这意味着当时在服务器上创建的其他文件并不多。

然后,我们能够识别ZenCart网站内上传的图像文件夹内的违规文件。

在短暂的休息之后,我们得出结论,由于文件位置的原因,它一定是通过文件上传工具上传的,但该工具没有得到足够的保护。经过一番谷歌搜索,我们发现 ZenCart 管理面板中存在一个安全漏洞,允许上传文件以获取唱片公司的图片。(它从未真正使用过的部分),发布此表单只是上传了任何文件,它没有检查文件的扩展名,甚至没有检查用户是否已登录。

这意味着可以上传任何文件,包括用于攻击的 PHP 文件。我们在受感染站点上使用 ZenCart 保护漏洞,并删除了有问题的文件。

工作完成了,我在凌晨 2 点回家


道德 - 始终为 ZenCart 或任何其他 CMS 系统应用安全补丁。当安全更新发布时,全世界都意识到了这个漏洞。- 总是做备份,备份你的备份。- 雇用或安排在这种时候会在那里的人。防止任何人依赖服务器故障上的恐慌帖子。

security hacking

623
推荐指数
13
解决办法
15万
查看次数

您如何从以前的 IT 人员那里搜索后门?

我们都知道它会发生。一个脾气暴躁的老 IT 人在系统和网络中留下了后门,以便与新人一起玩乐并向公司展示没有他的情况有多糟糕。

我从来没有亲身经历过这种情况。我经历过的最多的就是有人在离开之前打破并偷了东西。不过,我确定这会发生。

那么,在接管一个不太可信的网络时,应该采取哪些步骤来确保一切安全可靠?

security

374
推荐指数
16
解决办法
6万
查看次数

我的网站文件/文件夹在 Linux 网络服务器上应该有什么权限?

这是一个关于 Linux Web 服务器上文件权限的规范问题

我有一个运行 Apache2 的 Linux Web 服务器,该服务器托管多个网站。每个网站在 /var/www/ 中都有自己的文件夹。

/var/www/contoso.com/
/var/www/contoso.net/
/var/www/fabrikam.com/
Run Code Online (Sandbox Code Playgroud)

基本目录 /var/www/ 归 root:root 所有。Apache 以 www-data:www-data 运行。Fabrikam 网站由两位开发人员 Alice 和 Bob 维护。两个 Contoso 网站均由一位开发人员 Eve 维护。所有网站都允许用户上传图片。如果网站遭到入侵,其影响应尽可能地有限。

我想知道设置权限的最佳方法,以便 Apache 可以提供内容,网站不受攻击,并且开发人员仍然可以进行更改。其中一个网站的结构如下:

/var/www/fabrikam.com
    /cache
    /modules
    /styles
    /uploads
    /index.php
Run Code Online (Sandbox Code Playgroud)

应该如何对这些目录和文件设置权限?我在某处读到你永远不应该在网站上使用 777 权限,但我不明白这会导致什么问题。在繁忙时期,网站会自动缓存一些页面并将结果存储在缓存文件夹中。网站访问者提交的所有内容都保存在上传文件夹中。

security linux permissions web-server apache-2.2

344
推荐指数
3
解决办法
49万
查看次数

Heartbleed:它是什么以及缓解它的选项是什么?

这是一个关于理解和修复 Heartbleed 安全问题的规范问题。

CVE-2014-0160 又名“心血”究竟是什么?原因是什么,OpenSSL 的哪些操作系统和版本容易受到攻击,症状是什么,有什么方法可以检测成功的漏洞利用吗?

如何检查我的系统是否受到影响?如何缓解此漏洞?我是否应该担心我的密钥或其他私人数据已被泄露?我应该担心哪些其他副作用?

security openssl heartbleed

203
推荐指数
7
解决办法
3万
查看次数

每天进行数百次闯入尝试是否正常?

我刚刚检查了我的服务器/var/log/auth.log,发现我每天收到 500 多个失败的密码/入侵尝试通知!我的网站很小,而且它的 URL 很模糊。这是正常的吗?我应该采取什么措施吗?

security linux firewall ssh

196
推荐指数
11
解决办法
10万
查看次数

我在 DDoS 下。我能做什么?

这是一个关于 DoS 和 DDoS 缓解的规范问题

我在今天托管的网站上发现了大量流量高峰;我每秒获得数千个连接,我发现我正在使用所有 100Mbps 的可用带宽。没有人可以访问我的网站,因为所有请求都超时了,我什至无法登录服务器,因为 SSH 也超时了!这种情况以前发生过几次,每次都持续几个小时,然后自行消失。

有时,我的网站有另一个明显但相关的问题:我的服务器的平均负载(通常约为 0.25)飙升至 20 或更多,并且没有人可以像其他情况一样访问我的网站。它也会在几个小时后消失。

重新启动我的服务器没有帮助;我该怎么做才能让我的网站再次访问,发生了什么?

相关地,我发现在一两天内,每次我启动我的服务时,它都会从特定的 IP 地址获得连接,然后崩溃。当我再次启动它时,这种情况再次发生并且再次崩溃。这有什么相似之处,我该怎么办?

security ddos

183
推荐指数
2
解决办法
2万
查看次数

可以更改密钥对中的电子邮件地址吗?

我创建了一个用于 SSH 的 RSA 密钥对,其中包含我的电子邮件地址。(在公钥的末尾。)

我现在已经更改了我的电子邮件地址。

是否可以更改钥匙上的电子邮件地址,或者它是钥匙的一部分,我必须重新制作一个?

security rsa

177
推荐指数
3
解决办法
8万
查看次数

如何查看捆绑中的所有 ssl 证书?

我有一个证书包 .crt 文件。

openssl x509 -in bundle.crt -text -noout只显示根证书。

我如何查看所有其他证书?

security ubuntu ssl openssl ssl-certificate

157
推荐指数
6
解决办法
15万
查看次数

如何处理 Docker 容器内的安全更新?

将应用程序部署到服务器上时,应用程序与其自身捆绑的内容与它期望从平台(操作系统和已安装的包)提供的内容之间通常存在分离。其中一点是平台可以独立于应用程序进行更新。例如,当需要将安全更新紧急应用于平台提供的包而不重建整个应用程序时,这很有用。

传统上,安全更新只是通过执行包管理器命令来在操作系统上安装更新版本的包(例如 RHEL 上的“yum update”)来应用的。但是随着容器技术的出现,比如 Docker,其中容器镜像本质上同时捆绑了应用程序平台,保持容器系统最新的规范方法是什么?主机和容器都有自己的、独立的、需要更新的包集,在主机上更新不会更新容器内的任何包。随着 RHEL 7 的发布,其中 Docker 容器特别突出,听到 Redhat 推荐的处理容器安全更新的方法是很有趣的。

关于几个选项的想法:

  • 让包管理器更新主机上的包不会更新容器内的包。
  • 必须重新生成所有容器镜像来应用更新似乎打破了应用程序和平台之间的分离(更新平台需要访问生成 Docker 镜像的应用程序构建过程)。
  • 在每个正在运行的容器中运行手动命令似乎很麻烦,并且下次从应用程序发布工件更新容器时,更改有被覆盖的风险。

所以这些方法似乎都不令人满意。

security linux redhat containers docker

135
推荐指数
2
解决办法
4万
查看次数