本文转自:http://blog.chinaunix.net/uid-31479382-id-5780833.html

如有不便,请及时告知。

本指南中所谓的服务器被入侵或者说被黑了的意思,是指未经授权的人或程序为了自己的目的登录到服务器上去并使用其计算资源,通常会产生不好的影响。然而,大多数被攻破的服务器都是被类似自动攻击程序这样的程序或者类似“脚本小子”这样的廉价攻击者,以及蠢蛋罪犯所入侵的。这类攻击者会在访问服务器的同时滥用服务器资源,并且不怎么会采取措施来隐藏他们正在做的事情.

检查 1 - 当前都有谁在登录?

其对应的命令是 w。运行 w 会输出如下结果:

 第一个 IP 是英国 IP,而第二个 IP 是越南 IP。这个不是个好兆头。

请参阅本文最后的“被入侵之后怎么办”这一章节来看找到了被入侵的证据后应该怎么办。

检查 2 - 谁曾经登录过?

输出类似这样:

   这里可以看到英国 IP 和越南 IP 交替出现,而且最上面两个 IP 现在还处于登录状态。如果你看到任何未经授权的 IP,那么请参阅最后章节。

如果没有登录历史的话,请一定小心,继续留意入侵的其他线索。

这个层次的攻击者通常不会注意掩盖命令的历史记录,因此运行 history 命令会显示出他们曾经做过的所有事情。 一定留意有没有用 wget 或 curl 命令来下载类似垃圾邮件机器人或者挖矿程序之类的非常规软件。

检查 4 - 哪些进程在消耗 CPU?

这也能显示出那些未登录进来的攻击者。比如,可能有人在用未受保护的邮件脚本来发送垃圾邮件。

使用这些工具,第一步从 top 中拷贝出进程的 PID,然后运行:

   这会显示出该进程调用的所有系统调用。它产生的内容会很多,但这些信息能告诉你这个进程在做什么。
   这个程序会列出该进程打开的文件。通过查看它访问的文件可以很好的理解它在做的事情。
消耗 CPU 不严重的未授权进程可能不会在 top 中显露出来,不过它依然可以通过 ps 列出来。命令 ps auxf 就能显示足够清晰的信息了。

检查 6 - 检查进程的网络使用情况

检查 7 - 哪些进程在监听网络连接?

lsof 和 netstat 命令都会列出所有的联网进程。我通常会让它们带上下面这些参数:

 你需要留意那些处于 LISTEN 和 ESTABLISHED 状态的进程,这些进程要么正在等待连接(LISTEN),要么已经连接(ESTABLISHED)。如果遇到不认识的进程,使用 strace 和 lsof 来看看它们在做什么东西。
首先,不要紧张,尤其当攻击者正处于登录状态时更不能紧张。你需要在攻击者警觉到你已经发现他之前夺回机器的控制权。如果他发现你已经发觉到他了,那么他可能会锁死你不让你登陆服务器,然后开始毁尸灭迹。

如果你对自己颇有自信,而你的主机提供商也有提供上游防火墙,那么你只需要以此创建并启用下面两条规则就行了:

  1. 这样会立即关闭攻击者的 SSH 会话,而只留下你可以访问服务器。

最后还有一种方法,如果支持的话,就是通过诸如串行控制台之类的带外连接登录服务器,然后通过 systemctl stop network.service 停止网络功能。这会关闭所有服务器上的网络连接,这样你就可以慢慢的配置那些防火墙规则了。

不要试着修复这台服务器,然后接着用。你永远不知道攻击者做过什么,因此你也永远无法保证这台服务器还是安全的。

<p style="background-color: transparent; box-sizing: border-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; orphans: 2; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; t最好的方法就是拷贝出所有的数据,然后重装系统。(LCTT 译注:你的程序这时已经不可信了,但是数据一般来说没问题。)

如何判断服务器是否被黑相关推荐

  1. Linux shell脚本判断服务器网络是否可以上网

    在编写shell脚本时,有的功能需要确保服务器网络是可以上网才可以往下执行,那么此时就需要有个函数来判断服务器网络状态. 我们可以通过curl来访问 www.baidu.com,从而判断服务器网络状态 ...

  2. 如何判断服务器遭到***

    如何判断服务器遭到***   1.根据表象初步判断 医生判断一个病人是否感冒了,可以从是否流鼻涕.是否鼻塞.是否附带咳嗽等表象进行判断,而要想判断系统是否感染了流氓软件,也可以从表象来判断.当系统感染 ...

  3. java web判断服务器是否是本机

    1,如何获取浏览器的ip Java代码   /*** * 获取客户端ip地址(可以穿透代理) * @param request * @return */ public static String ge ...

  4. C#中判断服务器图片是否存在

    public int num = 0; /// <summary>/// 判断服务器路径中的图片文件是否存在存在则累加统计/// </summary>private int G ...

  5. php 判断是什么服务器,php判断服务器是apache还是nginx的方法

    帮别人调网站时,有时候需要知道网站是用的apache服务还是nginx服务,虽然说可以通过网页的head头来查看,但今天还是想说一下用php来检测服务器是用的apahce服务或nginx服务的方法. ...

  6. 记录阿里云服务器mysql被黑

    前言 比上次服务器被黑还要恐怖的数据库被黑,再次强调,数据库不备份不做安全,你就可以准备跑路了. 这次记录一下整个被黑的过程,以及整个检查和处理的过程. 发现 上个月某一天,网站出现了无法登录的情况, ...

  7. 使用 xbrowser 连接 redhatas5 linux 服务器,出现黑屏。故障分析及处理!

    <!-- /* Font Definitions */ @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-al ...

  8. linux怎么判断网络是否正常运行,Linux shell脚本判断服务器网络是否可以上网

    微信公众号:「小林coding」 用简洁的方式,分享编程小知识. Linux shell脚本判断网络畅通 介绍 在编写shell脚本时,有的功能需要确保服务器网络是可以上网才可以往下执行,那么此时就需 ...

  9. 判断服务器IP否被墙 是否被TCP阻断

    现在国内很多购买国外主机服务器的,但往往很多主机商的机子用的人多了,国内使用者用这些服务器做啥的都有,正儿八经的做外贸其实没多大事情,但往往有些人就是不遵守法律法规,长此以往用的人多了,这些国外的主机 ...

最新文章

  1. linux用户登陆后无法加在.bashrc
  2. auxprop mysql_Postfix 反垃圾过滤
  3. mysql keepalived_mysql高可用+keepalived
  4. mysql和FTP结合,vsftp基于mysql和ssl的配置
  5. 算法练习-002-返回一个set数组
  6. 计算机操作系统思维导图_我在b站学计算机
  7. 算法之矩阵计算斐波那契数列
  8. 使用.Net Core实现的一个图形验证码
  9. 修改value_Python | 快速修改或命名N个文件夹名称,你会吗?
  10. SQL经典语句(转载)
  11. n进制快速转化成10进制
  12. 大数据分析平台如何选择
  13. 用计算机配置打印机IP,如何修改打印机IP地址?
  14. 【C】C语言判断是否质数
  15. java中object是什么_Java中的Object是什么?
  16. 减小App大小:图片篇
  17. 计算机内存不够闪退怎么办,win7内存不足导致软件应用闪退怎么解决
  18. vue页面换成手机适配屏幕
  19. KBEngine warring项目源码阅读(三) 实体文件与Account处理
  20. 图标icon,图标icon资源

热门文章

  1. 金富瑞UCML2.0应用框架平台 for Asp.Net WEB 开发平台
  2. SYSBIOS读书笔记
  3. ITECH IT63XX/ IT90XX系列可编程直流电源RS-232调试记录
  4. 魅族u20怎么刷Android,魅族魅蓝U20怎么刷机
  5. The Fundamentals of Commodity Futures Returns(Gary B. Gorton,Fumio Hayashi,K. Geert Rouwenhorst)
  6. 绕过备案拦截的几种方法
  7. 两分钟速览谷歌2023IO大会:AI军备竞争,全线出击
  8. Activemq的集群
  9. HTML5大前端全套教程(视频+源码+学习路线图)
  10. PHP生成随机数的几种方法(最全)