Linux安全检查方法

检查系统密码文件,查看文件修改日期

[root@fedora ~]# ls -l /etc/passwd

查看passwd文件中有哪些特权用户

[root@fedora ~]# awk -F: ‘$3= =0 {print $1}’ /etc/passwd

查看系统里有没有空口令帐户

awk -F: ‘length($2)= =0 {print $1}’ /etc/shadow

检查系统守护进程

cat /etc/inetd.conf | grep -v “^#”

检查网络连接和监听端口

netstat –an

netstat –rn

ifconfig –a

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

last

检查系统中的core文件

find / -name core -exec ls -l {} ;

检查系统文件完整性

rpm –qf /bin/ls

rpm -qf /bin/login

md5sum –b 文件名

md5sum –t 文件名

查找是否有后门

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

——————————————————————————分割线——————————————————

1.Accounts检查

# less /etc/passwd

# grep :0: /etc/passwd

注意新的用户,和UID,GID是0的用户.

2.Log检查

注意“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.Processes检查

# ps -aux

注意UID是0的

# lsof -p 可疑的进程号

察看该进程所打开端口和文件

4.Files检查

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

# find / -size +10000k –print

# find / -name “…“ –print

# find / -name “.. “ –print

# find / -name “. “ –print

# find / -name “ “ –print

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

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

平时养成安装第三方文件时check MD5的习惯,呵呵,要不太恐怖了

运行的时候会出很多5或者missing的提示,如果不是上面及格目录的,不用太注意

6.Network检查

# ip link | grep PROMISC

正常网卡不该在promisc模式,当然安全server除外,否则可能是有人入侵在sniffer

# lsof –i

# netstat –nap

察看不正常打开的TCP/UDP端口,嘿嘿,需要平时注意,比较,好像我没这样用心过:)

# arp –a

这个更恐怖了,难道叫人document所有的MAC地址先

7.Schedule检查

注意root和UID是0的schedule

# crontab –u root –l

# cat /etc/crontab

# ls /etc/cron.*