我应该如何对恶意login做出反应?

我已经在我的服务器(密钥身份validation,没有rootlogin,协议2等)保护SSH,但我有点偏执。

我不能使用一些IPfilter,因为我想保持从我可以login自己的地方的灵活性。

我正在考虑在用户使用SSHlogin到我的系统时向我发送电子邮件。

但是这使我想知道:

比方说,我有上面的实现,我得到一个电子邮件,有人刚刚使用SSHlogin。 而且我知道这不是我:)也不是另一个pipe理员。

什么是适当的回应?

  • 让服务器陷入恐慌?
  • 监视恶意用户在服务器上做什么?
  • 踢出用户?
  • 用火杀死它?
  • 别的东西?

PS

服务器是Centos 5.7

编辑

该服务器用作Web服务器(Apache / Postgres / PHP)和邮件服务器(Zimbra)。

所以我猜数据是邮件和数据库。

看看IDS系统,我个人使用OSSEC http://www.ossec.net/

当规则被触发时,它会通过电子邮件发送给你,默认情况下它有点垃圾邮件但是可以configuration。 例如,它会在以下情况发送给您:

  1. 第一次用户通过SSHlogin
  2. 第一次用户运行sudo
  3. 失败的sudo / su转换
  4. 当/ etc /(或任何configuration的目录)中的文件的校验和被改变时。

还有更多,查找rootkit,可以configuration为自动回应威胁。

就应该如何应对而言,这实际上更像是一个业务逻辑问题。 问你自己

  • 这个系统有多重要? 它可以closures一个不确定的时间没有问题?
  • 你有备份吗? (你能相信那些备份也不会被破坏吗?)

如果你可以把盒子拿下来,把它拿下来。 做一个完整的磁盘备份 ,你需要调查他们如何进来,使用像侦探套件。 你应该挂载磁盘来做testing,不要相信系统上被攻破的工具,你不能相信这些二进制文件真的是你自己认为的。 此外,如果您能够确定用户获得了根访问权限,则该框中的所有内容都将消失,您不能相信日志,时间戳记,二进制文件以及任何内容。 这是rsyslog可以帮助的地方。

如果您的客户数据受到损害,您必须按照业务计划进行操作。

我觉得你太过分偏执。 您已将rootlogin限制在密钥validation。 你已经强制协议版本2.我假设你也已经限制哪些用户可以通过SSHlogin(通过sshd_config文件)…

除了这些技术,您应该确保您可以限制login用户可以执行的操作。 限制他们升级到根级的能力。 限制通过sudo或其他方式访问命令。 你有SELinux启用? 你是否启用了进程记帐? 你可能会安装DenyHosts作为跟踪ssh尝试的一种手段…

您是否有能力closuresSSH访问,并依靠VPN进行系统的外部访问?

使用IP阻塞脚本实际上是一个好主意,特别是如果您的阻止脚本只阻止您之前login失败的IP地址。 我立即看到的最大优点是它清理了我的系统日志文件。 我会在Y秒内得到N次失败login,然后繁荣,阻止IP,可能一两次尝试,但日志条目是一行,然后他们会停止。 经过X天后,条目将被清除。 我必须记住的关键是,如果我没有login几次,就等待在我login神奇的Nth之前。

另一件要考虑的事情是,一旦他们在你的系统上,假设他们有完全的权限访问,他们可以使用你的系统? 他们可以在盒子上启动一项服务,从外部接收新的连接,或者在系统和互联网之间是否有防火墙硬件? 系统是否可以用作其他系统攻击的启动板,或者防火墙默认阻止所有出站访问(另一台主机上的squid代理对这些情况有用)? 一旦他们在您的networking上跳转到其他系统又是多么容易?

我会马上把服务器closures(因为入侵者设法login,他可能拥有你的私钥,如果没有办法阻止他再次login)。 然后,我会创build另一个VPS,并在那里只复制我需要的数据,同时validation我不复制他安装的任何后门程序(最好从攻击之前做的一些备份复制,为新的数据使用差异来validation自从最后一次备份,看看这个变化是否入侵者的活动)。 很难相信被黑客入侵的系统。

另外,我会检查他是如何设法login的 – 可能他拥有持有你的私钥的系统,因此也可以得到你的新密钥,或者他pipe理某种方式来改变你的sshdconfiguration – 再次,脆弱性也可能存在于一个新的系统上。

除此之外,如果你是偏执的人,你可能会喜欢单一的数据包validation您的SSH。