什么是Linux服务器被黑客攻击的迹象? 是否有任何工具可以按计划生成并通过电子邮件发送审计报告?
Tripwire是一个常用的工具,它在系统文件发生变化时会通知你,不过显然你需要预先安装它。 否则,您不知道的新用户帐户,无法识别的奇怪进程和文件,或无缘无故增加的带宽使用等项目是通常的标志。
其他监视系统(如Zabbix)可以configuration为在/ etc / passwd等文件发生更改时提醒您。
有些事情在过去让我感到厌烦:
ls
这样的标准实用程序(这可以发生在破碎的根套件上) /
/var/
(大多数脚本小子是太愚蠢或懒惰,以掩盖他们的轨道)隐藏的目录 netstat
显示不应该在那里的开放端口 bind
,但总是使用djbdns
) 此外,我发现有一个可靠的迹象表明,一个盒子是妥协的:如果您对inheritance系统的pipe理员的勤奋(更新等)感觉不好,请密切关注!
你没有。
我知道,我知道 – 但这是一个偏执的,可悲的事实,真的;)当然有很多提示,但是如果系统是专门针对的 – 可能不可能说出来。 很好理解,没有什么是完全安全的。 但是我们需要更安全的工作,所以我会指出所有其他的答案;)
如果您的系统受到威胁,您的任何系统工具都不能被信任以揭示真相。
有一种方法通过kill
检查被黑客入侵的服务器 –
本质上,当你运行“kill -0 $ PID”时,你发送一个nop信号来处理标识符$ PID。 如果进程正在运行,kill命令将正常退出。 (FWIW,因为你传递了一个nop kill信号,这个过程没有任何事情发生)。 如果进程没有运行,kill命令将失败(退出状态小于零)。
当你的服务器被黑掉/ rootkit被安装时,它所做的第一件事情之一是告诉内核从进程表中隐藏受影响的进程等等。然而,它可以在内核空间中做各种很酷的事情,stream程。 这意味着这一点
a)这个检查不是一个广泛的检查,因为编码良好的/智能的rootkits将确保内核将回复一个“不存在的进程”的回复,使得这个检查是多余的。 b)无论哪种方式,当一个被黑客入侵的服务器有一个“坏”的进程运行,它的PID通常不会显示在/ proc下。
所以 ,如果你到现在为止,方法是杀死系统中的每一个可用进程(从1 – > / proc / sys / kernel / pid_max)中的任何可用进程并查看是否有正在运行但未报告的进程in / proc。
如果某些进程出现在运行中,但是没有在/ proc中报告,那么您可能会遇到任何问题。
这是一个bash脚本,它实现了所有的 – https://gist.github.com/1032229 。 保存在一些文件中并执行它,如果你发现一个进程在proc中没有报告,你应该有一些开始挖掘。
HTH。
我会在这里给出的答复,并添加一个我自己的。
find /etc /var -mtime -2
如果您的主服务器文件在过去两天内发生了任何变化,这会给您一个快速的指示。
这是从黑客检测文章如何检测您的服务器是否被黑客入侵。
从我如何检测我的服务器上的不需要的入侵?
使用IDS
SNORT®是一个使用规则驱动语言的开源networking入侵防御与检测系统,结合了签名,协议和基于exception的检测方法的优点。 迄今为止,已经有数百万次的下载,Snort是世界范围内应用最广泛的入侵检测和防御技术,已经成为业界的事实标准。
Snort可以读取networkingstream量,并可以查找诸如“通过笔testing驱动”之类的东西,而某些人只是对您的服务器运行整个metasploit扫描。 很高兴认识这些事情,在我看来。
使用日志…
根据您的使用情况,您可以对其进行设置,以便在用户login时login,或者从奇数IPlogin,或者每当root用户login时,或者在有人尝试login时都知道。 我实际上已经有服务器通过电子邮件向我发送比Debug更高的每条日志消息。 是的,甚至通知。 当然,我过滤了其中的一些,但是每天早上当我收到10封有关邮件的邮件时,我想要修复它,这样就不会再发生了。
监视你的configuration – 我实际上保留我的整个/ etc在颠覆,所以我可以跟踪修订。
运行扫描。 像Lynis和Rootkit Hunter这样的工具可以提醒您应用程序中可能存在的安全漏洞。 有一些程序可以维护所有垃圾箱的哈希树或哈希树,并可以提醒您进行更改。
监视你的服务器 – 就像你提到的磁盘空间 – 图表可以给你一个提示,如果有什么不寻常的。 我使用Cacti来监视CPU,networkingstream量,磁盘空间,温度等。如果看起来很奇怪,那很奇怪,你应该知道为什么它很奇怪。
在search了一下之后,还有其他的东西,就是我上面列出的东西,还有一些东西: http : //www.chkrootkit.org/和http://www.rootkit.nl/projects/rootkit_hunter.html
我只想补充一点:
检查你的bash历史,如果它是空的,你还没有取消它或清空它,很有可能有人已经妥协了你的服务器。
最后检查。 要么你会看到未知的IP或它看起来很空。
然后如接受的答案所述,系统文件经常改变,检查修改的date。 但是他们经常篡改修改的date。
他们经常在随机的端口上安装另一个版本的ssh。 这常常隐藏在一些非常奇怪的地方。 注意它通常会被重命名为ssh以外的东西。 所以检查netstat(可能不工作,因为他们经常replace它),并使用iptables来阻止任何未知的端口。
无论如何,这是预防胜于治疗的情况。 如果您遭到入侵,最好是格式化并重新开始。 几乎不可能确认你已经成功地清除了黑客行为。
请注意以下事项以防止您的服务器受到威胁。
值得注意的是,一旦他们在一台服务器上,他们将检查你的bash历史logging,并寻找你通过ssh连接到服务器的其他服务器。 他们将尝试连接到这些服务器。 所以如果你因为口令不好而被强行强制,那么他们很可能会连接到另一台服务器,并且也会对这些服务器做出妥协。
这是一个丑陋的世界,我重申预防胜于治疗。
你应该看看GuardRail。 它可以每天扫描你的服务器,并以一个很好的视觉方式告诉你改变了什么。 它不需要代理,并且可以通过SSH进行连接,因此您不需要使用代理程序垃圾您的机器和资源。
最重要的是,它可以免费使用多达5台服务器。
看看这里: