linux 系统被入侵之后你要做什么

linux系统的服务器被入侵,总结了以下的基本方法

首先先用iptra(http://os.51cto.com/art/201505/476216.htm)f查下,如果没装的运行yum install iptraf装下,看里面是不是UDP包发的很多,如果是,基本都被人装了后门
 

1. 检查帐户

# less /etc/passwd

# grep :0: /etc/passwd(检查是否产生了新用户,和UID、GID是0的用户)

# ls -l /etc/passwd(查看文件修改日期)

# awk -F: ‘$3= =0 {print $1}’ /etc/passwd(查看是否存在特权用户)

# awk -F: ‘length($2)= =0 {print $1}’ /etc/shadow(查看是否存在空口令帐户)


2. 检查日志

# last(查看正常情况下登录到本机的所有用户的历史记录)

注意”entered promiscuous mode”

注意错误信息

注 意Remote Procedure Call (rpc) programs with a log entry that includes a large number (> 20) strange characters(-^PM-^PM-^PM-^PM-^PM-^PM-^PM-^PM)


3. 检查进程

# ps -aux(注意UID是0的)

# lsof -p pid(察看该进程所打开端口和文件)

# cat /etc/inetd.conf | grep -v “^#”(检查守护进程)

检查隐藏进程

# ps -ef|awk ‘{print }’|sort -n|uniq >1

# ls /porc |sort -n|uniq >2

# diff 1 2


4. 检查文件

# find / -uid 0 –perm -4000 –print

# find / -size +10000k –print

# find / -name “…” –print

# find / -name “.. ” –print

# find / -name “. ” –print

# find / -name ” ” –print

注意SUID文件,可疑大于10M和空格文件

# find / -name core -exec ls -l {} ;(检查系统中的core文件)

检查系统文件完整性

# rpm –qf /bin/ls

# rpm -qf /bin/login

# md5sum –b 文件名

# md5sum –t 文件名


5. 检查RPM

# rpm –Va

输出格式:

S – File size differs

M – Mode differs (permissions)

5 – MD5 sum differs

D – Device number mismatch

L – readLink path mismatch

U – user ownership differs

G – group ownership differs

T – modification time differs

注意相关的 /sbin, /bin, /usr/sbin, and /usr/bin


6. 检查网络

# ip link | grep PROMISC(正常网卡不该在promisc模式,可能存在sniffer)

# lsof –i

# netstat –nap(察看不正常打开的TCP/UDP端口)

# arp –a


7. 检查计划任务

注意root和UID是0的schedule

# crontab –u root –l

# cat /etc/crontab

# ls /etc/cron.*


8. 检查后门

# cat /etc/crontab

# ls /var/spool/cron/

# cat /etc/rc.d/rc.local

# ls /etc/rc.d

# ls /etc/rc3.d

# find / -type f -perm 4000


9. 检查内核模块

# lsmod


10. 检查系统服务

# chkconfig

# rpcinfo -p(查看RPC服务)


11. 检查rootkit

# rkhunter -c

# chkrootkit -q


12.检查chkconfig 列表,防止一些程序加入到开机自启动中

chkconfig --list


加强系统账号安全
1.账号文件:
/etc/passwd ##用户信息
/etc/shadow ##用户密码信息
/etc/profile ##系统配置文件,环境变量等信息
/home/用户/.bash_profile ##用户独有环境配置文件
/etc/rc.local ##用户自定义开机执行操作文件


2.安全管理
1)关注以上文件变化
2)删除不必要用户(userdel –r 用户)
3)监控密码的变化及登录shall的变化
4)必备锁定账号(passwd –l 用户),解锁(passwd –u 用户)


3.优化账号密码
1)优化账号:通过修改模板文件按指定新建用户     信     息l(/etc/skel/*##用户配置文件模板,可以定义一些环境变量;/etc/default/useradd ##创阿金用户的家目录,登录shell的模板文件)
2)优化密码安全: 
A:密码使用时间:针对新建用户修改/etc/login.defs
定义:已经建立的使用chage命令修改密码的使用时间
B:密码优化:通过pam_crack模块设置密码复杂性要求,记录历史密码次数;通过Pam_tally2设置用户锁定策略


4.历史命令
1)History ##查看历史命令
History –w ##将历史命令写入到文件中
History –c ##清除内存中历史命令
使用历史命令:上键、!!历史命令一部分
默认情况下:历史命令记录在/.bash_history文件中,只有
2)在退出或使用“history -w”时才会将历史命令写到文件中
3)自定义历史命令记录
可以在/etc/profile或用户目录下.bash_profile中进行定义
常用配置项:
HISTSIZE=100 ##定义记录历史命令的条数,默认1000
HISTTIMEFORMAT=”%F-%T” ##记录历史命令时间
HISTFTILE=”文件” ##第一历史命令存放文件,注意补虚有写入权限


5.锁定文件:chattr (更改特殊权限),lsattr(查看特殊权限)
常用选项:chattr +i 文件 ##锁定文件,-i解读
chattr +a 文件 ##只允许追加,不需删除,-a取消




你可能感兴趣的:(Linux)