检查linux系统是否遭受了入侵的11个方法

一、linux系统被入侵/中毒的表象

1、服务器出去的带宽会跑高这个是中毒的一个特征。

因为服务器中毒之后被别人拿去利用,常见的就是拿去当肉鸡攻击别人;再者就是拿你的数据之类的。所以服务器带宽方面需要特别注意下,如果服务器出去的带宽跑很高,那肯定有些异常,需要及时检查一下!

2、系统里会产生多余的不明的用户

中毒或者被入侵之后会导致系统里产生一些不明用户或者登陆日志,所以这方面的检查也是可以看出一些异常的。

3、开机是否启动一些不明服务和crond任务里是否有一些来历不明的任务?

因为中毒会随系统的启动而启动的,所以一般会开机启动,检查一下启动的服务或者文件是否有异常,一般会在/etc/rc.localcrondtab -l显示出来。

二、入侵检查的11个方法

1)检查系统日志

检查系统错误登陆日志,统计IP重试次数(last命令是查看系统登陆日志,比如系统被reboot或登陆情况)

1
[root@93bok-IDC ~]# last
2)检查系统用户

查看是否有异常的系统用户

1
[root@93bok-IDC ~]# cat /etc/passwd

查看是否产生了新用户,UIDGID0的用户

1
[root@93bok-IDC ~]# grep "0" /etc/passwd

查看passwd的修改时间,判断是否在不知的情况下添加用户

1
[root@93bok-IDC ~]# ls -l /etc/passwd

查看是否存在特权用户

1
[root@93bok-IDC ~]# awk -F: '$3==0 {print $1}' /etc/passwd

查看是否存在空口令帐户

1
[root@93bok-IDC ~]# awk -F: 'length($2)==0 {print $1}' /etc/shadow
3)检查异常进程
1
2
注意UID为0的进程
使用ps -ef命令查看进程

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

1
[root@93bok-IDC ~]# lsof -p pid命令查看

检查隐藏进程

1
2
3
[root@93bok-IDC ~]# ps -ef | awk '{print }' | sort -n | uniq >1
[root@93bok-IDC ~]# ls /porc |sort -n|uniq >2
[root@93bok-IDC ~]# diff 1 2
4)检查异常系统文件
1
2
3
4
5
6
[root@93bok-IDC ~]# find / -uid 0 –perm -4000 –print
[root@93bok-IDC ~]# find / -size +10000k –print
[root@93bok-IDC ~]# find / -name "…" –print
[root@93bok-IDC ~]# find / -name ".." –print
[root@93bok-IDC ~]# find / -name "." –print
[root@93bok-IDC ~]# find / -name " " –print
5)检查系统文件完整性
1
2
3
4
[root@93bok-IDC ~]# rpm –qf /bin/ls
[root@93bok-IDC ~]# rpm -qf /bin/login
[root@93bok-IDC ~]# md5sum –b 文件名
[root@93bok-IDC ~]# md5sum –t 文件名
6)检查RPM的完整性
1
[root@93bok-IDC ~]# rpm -Va

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

输出格式说明:

1
2
3
4
5
6
7
8
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
7)检查网络
1
2
3
4
[root@93bok-IDC ~]# ip link | grep PROMISC(正常网卡不该在promisc模式,可能存在sniffer)
[root@93bok-IDC ~]# lsof –i
[root@93bok-IDC ~]# netstat –nap(察看不正常打开的TCP/UDP端口)
[root@93bok-IDC ~]# arp –a
8)检查系统计划任务
1
2
3
[root@93bok-IDC ~]# crontab –u root –l
[root@93bok-IDC ~]# cat /etc/crontab
[root@93bok-IDC ~]# ls /etc/cron.*
9)检查系统后门
1
2
3
4
5
[root@93bok-IDC ~]# cat /etc/crontab
[root@93bok-IDC ~]# ls /var/spool/cron/
[root@93bok-IDC ~]# cat /etc/rc.d/rc.local
[root@93bok-IDC ~]# ls /etc/rc.d
[root@93bok-IDC ~]# ls /etc/rc3.d
10)检查系统服务
1
2
[root@93bok-IDC ~]# chkconfig —list
[root@93bok-IDC ~]# rpcinfo -p(查看RPC服务)
11)检查rootkit
1
2
[root@93bok-IDC ~]# rkhunter -c
[root@93bok-IDC ~]# chkrootkit -q

三、怎样确保linux系统安全

1)从以往碰到的实例来分析,密码太简单是一个错

用户名默认,密码太简单是最容易被入侵的对象,所以切忌不要使用太过于简单的密码,先前碰到的那位客户就是使用了太简单的且规则的密码 1q2w3e4r5t,这种密码在扫描的软件里是通用的,所以很容易被别人扫描出来的。

2)不要使用默认的远程端口,避免被扫描到

扫描的人都是根据端口扫描,然后再进行密码扫描,默认的端口往往就是扫描器的对象,他们扫描一个大的IP段,哪些开放22端口且认为是ssh服务的linux系统,所以才会猜这机器的密码。更改远程端口也是安全的一个措施!

3)使用一些安全策略进行保护系统开放的端口

使用iptables或者配置/etc/hosts.deny/etc/hosts.allow进行白名单设置,可以对/etc/passwd/etc/group/etc/sudoers/etc/shadow等用户信息文件进行锁定(chattr +ai)

4)禁ping设置
1
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
博主QQ:1012405802
技术交流QQ群:830339411
版权声明:网站内容有原创和转载,如有侵权,请联系删除,谢谢!!
感谢打赏,93bok因你们而精彩!!(支付宝支持花呗)
0%