linux中centos被入侵后的检查

检查用户登录记录

more /var/log/secure
who /var/log/wtmp

检查系统守护进程

      检查/etc/inetd.conf文件,输入:cat /etc/inetd.conf | grep –v “^#”,输出的信息就是你这台机器所开启的远程服务。

      一般入侵者可以通过直接替换in.xxx程序来创建一个后门,比如用/bin/sh 替换掉in.telnetd,然后重新启动inetd服务,那么telnet到服务器上的所有用户将不用输入用户名和密码而直接获得一个rootshell。

检查网络连接和监听端口

      输入netstat -an,列出本机所有的连接和监听的端口,查看有没有非法连接。

      输入netstat –rn,查看本机的路由、网关设置是否正确。

      输入 ifconfig –a,查看网卡设置。

检查系统日志

      命令last | more查看在正常情况下登录到本机的所有用户的历史记录。但last命令依赖于syslog进程,这已经成为入侵者攻击的重要目标。入侵者通常会停止系统的syslog,查看系统syslog进程的情况,判断syslog上次启动的时间是否正常,因为syslog是以root身份执行的,如果发现syslog被非法动过,那说明有重大的入侵事件。

      在linux下输入ls –al /var/log

      在solaris下输入 ls –al /var/adm

      检查wtmp utmp,包括messgae等文件的完整性和修改时间是否正常,这也是手工擦除入侵痕迹的一种方法

干了些什么?

root账户下输入history

能看到这个用户历史命令,默认最近的1000条

.拨掉网线

这是最安全的断开链接的方法,除了保护自己外,也可能保护同网段的其他主机.

2.分析登录文件信息,搜索可能入侵的途径

被入侵后,决不是重新安装就可以了,还要分析主机被入侵的原因和途径,如果找出了问题点,就可能使您的主机以后更安全,同时也提高了自己的Linux水平.

如果不知道如何找出入侵途径,下次还有可能发生同样的事.一般:

1.分析登录文件:可以通过分析一些主要的登录文件找到对方的IP以及可能出现的漏洞.一般分析的文件为:/var/log/messages和/var/log/secure文件.还可以使用last命令找出最后一个登录者的信息.

2.检查主机开放的服务:很多Linux管理员不知道自己的主机上开放了多少服务,每个服务都有漏洞或不该启动的增强型或测试型功能.找出系统上的服务,逐个检查服务是否有漏洞或设置上的失误.

3.重要数据备份
所谓重要的数据就是非Linux上的原有数据.如/etc/passwd,/etc/shadow,WWW网页的数据,/home里的用户文件,至于/etc/*,/usr/,/var等目录下的数据就不要备份了.

4.系统重装

重要的是选择合适的包,不要将所有的包都安装.

5.包漏洞修补

安装后,要立即更新系统包,更新后再设置防火墙机制,同时关闭一些不必要的服务,最后才插上网线.

6.关闭或卸载不需要的服务

启动的服务越少,系统入侵的可能性就越底

7.数据恢复与恢复服务设置

备份的数据要复制回系统,然后将提供的服务再次开放.

8.将主机开放到网络上

查找Centos Linux服务器上入侵者的WebShell后门

服务器被挂马或被黑的朋友应该知道,黑客入侵web服务器的第一目标是往服务器上上传一个webshell,有了webshell黑客就可以干更多的事 情。网站被挂马后很多人会束手无策,无从查起,其实并不复杂,这里我将以php环境为例讲几个小技巧,希望对大家有帮助。

先讲一下思路,如果服务器上被上传了webshell那么我们肯定能够查到蛛丝马迹,比如php文件的时间,如果我们可以查找最后一次网站代码更新以后的所有php文件,方法如下。
假设最后更新是10天前,我们可以查找10天内生成的可以php文件:

find /var/webroot -name “*.php” -mtime -10

命令说明:
/var/webroot为网站根目录
-name “*.php”为查找所有php文件
-time -10为截止到现在10天

如果文件更新时间不确定,我们可以通过查找关键字的方法来确定。要想查的准确需要熟悉webshell常用的关键字,我这里列出一些常用的,其他的大家可 以从网收集一些webshell,总结自己的关键字,括号里面我总结的一些关键字 (eval,shell_exec,passthru,popen,system)查找方法如下:

find /var/webroot -name “*.php” |xargs grep “eval” |more
find /var/webroot -name “*.php” |xargs grep “shell_exec” |more
find /var/webroot -name “*.php” |xargs grep “passthru” |more

当然你还可以导出到文件,下载下来慢慢分析:

find /home -name “*.php”|xargs grep “fsockopen”|more >test.log

这里我就不一一罗列了,如果有自己总结的关键字直接替换就可以。当然并不是所有的找出的文件都是webshell需要自己做一下判断,判断的方法也简单,直接从浏览器访问一下这个文件或者和自己找的一些webshell比较一下,看得多了,基本上一眼就可以判断是不是webshell文件​

时间: 2024-08-28 08:04:41

linux中centos被入侵后的检查的相关文章

Linux中svn提交文件后自动同步更新到网站目录

 下面来为各位介绍Linux中svn提交文件后自动同步更新到网站目录希望文章对各位有帮助.     有时,对于多文件需要上传到服务器的时候将会很麻烦,但是如果使用svn的钩子脚本就容易实现本地提交svn后,自动同步代码文件到远程服务器的网站目录下,而不必手动上传了. 首先,在网站目录下checkout代码,例如我的目录是/data/www/test svn co https://127.0.0.1/test/trunk/ /data/www/test/ 注意,这是因为有时我会在服务器上直接修改代

linux中centOS防火墙iptables的设置教程

  1.安装iptables防火墙 怎么知道系统是否安装了iptables?执行iptables -V,如果显示如: iptables v1.3.5 说明已经安装了iptables. 如果没有安装iptables需要先安装,执行: yum install iptables 在Linux中设置防火墙,以CentOS为例,打开iptables的配置文件: vi /etc/sysconfig/iptables   通过/etc/init.d/iptables status命令查询是否有打开80端口,如

Linux中CentOS 配置IP图文详解

我是一名运维,对公司电脑和服务器等我都会设置固定IP方便我去管理.本次主要是CentOS设置固定IP地址,原因是我在刚开始学习Linux 时遇到的第二个挑战性问题,如果不弄好它我无法继续前进. 演示环境 VMware8 + Linux CentOS 6.2 x32 设置IP.网站.DNS 1.修改网卡配置,编辑 #vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" ONBOOT=yes HWADDR=00:0C:29:5

linux中CentOS 世界与本地时间同步

先使用date命令查看CentOS的时间是不是对,date -R 查看时区是否正确. 使用时间同步前首先确定是不是安装过ntp服务,查看命令"yum list | grep ntp",没有则输入"yum install ntp -y"即可. 临时手动时间同步的命令是"ntpdate cn.pool.ntp.org",注:ntpdate后面的是时间服务器,你也可以使用中国国家授时中心的地址"210.72.145.44″.得到准确的时间后,

Linux中编辑/etc/inittab后如何直接生效?

我们在编辑完/etc/inittab文件后如何不启动服务器而直接生效呢? [root@localhost usr]# vi /etc/inittab # inittab is only used by upstart for the default runlevel.## ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.## System initialization is started by /etc/in

linux中LVM分区重启后变为inactive问题解决办法

今天工程侧的兄弟反馈一个问题,LVM分区在安装完成重启后发现无法挂载和识别,主机环境为slse11 sp3.通过查看和处理,现在将结果记录下. 一.在线解决 1.通过lvscan查看lv信息  代码如下 复制代码 111cn.net:~ # lvscan inactive '/dev/vgteas/lvteasdata' [2.72 TiB] inherit 发现lv信息是inactive状态. 2.通过vgchange激活卷组并重启挂载  代码如下 复制代码 111cn.net:~ # vgc

linux中CentOS 5.5 下修改Apache默认端口80

打开 /etc/httpd/conf/httpd.conf 文件 修改两个地方  代码如下 复制代码 #Listen 12.34.56.78:80 Listen 80 #把80改为你设置的端口,我设置端口为8080  代码如下 复制代码 Listen 8080 NameVirtualHost *:80 #把80改为你设置的端口,我设置端口为8080  代码如下 复制代码 NameVirtualHost *:8080 保存修改,退出.  代码如下 复制代码 semanage port -a -t

linux-Linux 中,make install后哪个文件可以删除

问题描述 Linux 中,make install后哪个文件可以删除 假设源码A.tar.gz,解压后得A,同级目录下建立文件B, configure的时候指定prefix=B, 然后在B中继续make, make install, 结束.问题来了,文件A和B能删么? 解决方案 可以.源代码编译成二进制文件,源代码也不需要了. 解决方案二: 其实主要看你make install后对应位置,安装完成后,就可以删除源码文件了. 解决方案三: prefix建议不要指定到源码中的某目录,指定到外面的目录

Linux系统被入侵后使用lsof命令恢复被删除日志的方法

  Linux系统是服务器最常见的操作系统,当然也面临着非常多的安全事件,相较Windows操作系统,Linux采用了明确的访问权限控制和全面的管理工具,具有非常高的安全性和稳定性.Linux系统被入侵后,攻击者为了掩盖踪迹,经常会清除系统中的各种日志,包括Web的access和error日志.last日志.message日志.secure日志等,给我们后期应急响应和取证分析带来了非常大的阻力.所以,恢复被清除的日志是非常重要的取证和分析环节,一下是使用lsof命令恢复日志文件的案例,适用于常见