我的网站遭到黑客攻击,我能做些什么来阻止它再次发生?

我有一个build立在一个旧的pigg版本(从2006年)的网站。 该网站托pipe在Dreamhost共享服务器上。 今天早上我发现我的网站的主要数据库被彻底抹去了。

我该如何确认这是黑客还是其他的东西? 我能做些什么来防止它再次发生? 我无法切换到新版本的pligg,因为我对原始版本进行了许多自定义。

任何意见是高度赞赏。

  • 检查您的访问日志和数据库查询日志(如果您login)
  • 检查您的托pipe服务提供商,看看也许数据库服务器崩溃,他们错过了恢复你的。
  • search您的pligg版本受到影响的漏洞。
  • 使用更强大的数据库密码并尽可能隔离特权。

如果您不能切换到最新版本的pligg,那么您将需要将过去三年中所做的任何安全更新恢复到您拥有的版本。 我build议更新您的定制以使用最新的版本将会复杂得多。

为了阻止它再次发生(或者至less尽可能地降低风险),您需要确保所有内容都随安全更新而保持最新。 如果您需要将网站公开发布,那么您确实无法做到这一点。

另外,为了减轻如果再次发生造成的损害,您需要设置一个体面的自动备份机制。

我无法切换到新版本的pligg,因为我对原始版本进行了许多自定义。

我不是一个服务器天才,所以我不能帮你跟踪它如何被黑客攻击,但我可以给你一些build议。 您应该使用新的安全修补程序手动修补您的安装。

如果你真的不能升级的话,我会看看pligg的漏洞,但我仍然会研究这些特定漏洞的整合修复。 因为它们都非常讨厌,涉及SQL注入和远程代码执行。 这可能是在某些地方添加一些额外validation的情况。

有没有可以阅读的日志文件? 也许你可以看到一些导致SQL注入攻击的错误查询string?

日志文件,假设他们没有被改变

你根本无法确定我害怕的任何事情

我的猜测是,如果你使用的是一些较旧的软件,那么一些脚本小孩已经运行了一些工具来利用。 他们利用的东西,你可能永远不知道

你也许可以联系Dreamhost看他们是否能提供任何见解,但我猜想他们不能

我会先通过Dreamhost门户网站提交一张门票,看看他们能为你find什么。 虽然进入点不是通过networking应用程序进行的,但也可能不是即将到来的(特别是对他们的判断,只是一般人的愤世嫉俗)。

如果你不能更新它,你能限制谁有权访问它吗? 也许移动到一个VPS,所以你可以使用iptables限制访问某些IP地址。

pligg的利用。 检查脚本 – kiddy网站的攻击有时是有用的。 他们中的大多数人都有评论,他们是如何成为可能的,所以你可以:

a)补丁源码

b)使用mod_security过滤请求( http://www.modsecurity.org/ )。

假设你发现问题出在pligg上(看起来很有可能,因为你已经说过这是一个旧版本,而我从来没有听说过,所以可能没有太多的眼光寻找代码中的错误)。 ..

你将会非常有限。 作为损害控制:

  • 仔细查看日志,找出发生了什么(如果需要的话,与专家交谈),并至less修补那个洞。 使用防火墙或networking服务器访问控制规则禁止黑客的IP。 正如其他人所说的那样,如果你能够追踪他们的入口点,并且在新的pligg版本中find一个修正错误的方法,那么就试着回溯任何修复攻击向量的东西。 无论你能合理地(甚至是辛勤地工作),都要防止再发生同样的事情。 但是,我真的不会试图通过反向移植所有安全修复来“更新”您的版本。 那将是一场噩梦。

  • 您可以运行日志分析器/主动IDS系统来主动识别和禁止黑客。 Fail2ban,例如,这样的事情。

中期:

  • 获取您安装的旧pligg版本的原始副本(没有更改的副本)
  • 使用像git这样的版本控制系统在上面应用你的改变,并且对自从原始版本以来改变的所有东西进行比较
  • 获取最新版本的pligg,并将其应用于它。 它可能不会工作,但你只需要改变最低限度的工作。 请参阅更新日志,特别是pligg的升级说明,这将帮助您移植代码。

更好,更长远的解决scheme:

摆脱pligg,因为它似乎已经失败了。 不得不定制软件以至于不能升级到新版本,这意味着它的devise很糟糕。 获取更好的软件以将代码build立在基础之上,确保您可以编写干净,便携的代码,而不会改变产品的代码。 升级应该是干净的和兼容的,除非产品发行说明中解释的任何小而不经常的必要改变。