|
|
51CTO旗下网站
|
|
移动端

判断Linux系统是否被非法进入,你需要几步?9个小技巧分享!

对于在线运行的业务系统,安全性是一个至关重要的问题。服务器被非法进入最常见的表现有:由内向外发送大量数据包(被DDOS肉鸡)、服务器资源被耗尽(被挖矿)、不正常的端口连接(反向shell)、服务器日志被恶意删除等..排除Linux系统管理员操作不当的情况,如何检测自己的系统是否被非法进入呢?下面跟大家简单分享实用的几个小技巧~

作者:老王谈运维 来源:今日头条|2019-04-28 09:16

【线上直播】11月21日晚8点贝壳技术总监侯圣文《数据安全之数据库安全黄金法则》

对于在线运行的业务系统,安全性是一个至关重要的问题。服务器被非法进入最常见的表现有:由内向外发送大量数据包(被DDOS肉鸡)、服务器资源被耗尽(被挖矿)、不正常的端口连接(反向shell)、服务器日志被恶意删除等..排除Linux系统管理员操作不当的情况,如何检测自己的系统是否被非法进入呢?下面跟大家简单分享实用的几个小技巧~

一、检查系统日志

1.1 检查系统登陆日志,统计IP重试登陆的次数。

对于恶意登陆的系统行为,在日志中会留下蛛丝马迹,通过检查系统登陆日志,统计重试登陆的次数,能看到哪些IP及哪些用户在恶意登陆系统。

  1. # lastb root | awk '{print $3}' | sort | uniq -c | sort -nr| more 

说明:

lastb命令,该命令需要root权限,可以显示所有登陆信息,也可以显示指定用户的信息,后面直接跟相关的用户即可。

二、检查系统用户

​对于非法进入行为,往往通过检查系统用户,可以发现一些蛛丝马迹,比如有没有异常新增用户及提权用户。通过对系统用户的检查,是检测的重要方面。

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

  1. cat /etc/passwd 

2.2 检查是否有新用户尤其是UID和GID为0的用户

  1. awk -F":" '{if($3 == 0){print $1}}' /etc/passwd 


2.3 检查是否存在空口令账户

  1. awk -F: '{if(length($2)==0) {print $1}}' /etc/passwd 

三、检查系统异常进程

​对于被非法进入的系统,可以通过查看进程,确认有哪些异常非系统及非业务的进程在运行,通过对这些异样进程的检查,查找恶意程序的来源。

3.1 使用ps -ef命令查看进程

  1. ps -ef 


尤其注意UID为root的进程

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

  1. lsof -p pid 

3.3 检查隐藏进程

  1. ps -ef | awk '{print $2}'| sort -n | uniq >1; ls /proc |sort -n|uniq >2;diff -y -W 40 1 2 
说明:

lunux所有的进程在/proc均有记录,需要注意,这里的信息是最详细。

四、检查系统异常文件

​对于被非法进入的系统,通过检查系统异常文件,可以追踪非法进入的信息,比如检查一下SUID的文件,一些空格文件等。

4.1 检查一下 SUID的文件

  1. # find / -uid 0 -perm 4000 -print 

4.2 检查大于10M的文件

  1. # find / -size +10000k –print 

4.3 检查空格文件

  1. # find / -name “…” –print 
  2. # find / -name “.. ” –print 
  3. # find / -name “. ” –print 
  4. # find / -name ” ” –print 

4.4 检查系统中的core文件

  1. # find / -name core -exec ls -l {} () 

五、检查系统文件的完整性

​系统文件的完整性是非法进入检测的重要方面,尤其通过对一些常用系统命令的md5值的检查,可以判断系统是否被非法进入,比如ls,ping等 这些常用 的命令被恶意程序篡改后,我们在执行这些系统命令的时候,实际上在执行恶意程序。

5.1 检查linux系统文件的完整性

尤其注意以下几个目录 /sbin,/bin,/usr/bin

  1. 例如: 
  2. # whereis ls 
  3. # md5sum /usr/bin/ls 

当然也可以写成脚本的形式,对批量生成系统文件md5值与正常系统做比对,如果md5值与正常系统不一样。那说明你的系统可能被非法进入了。

5.2 利用工具AIDE检查系统文件的完整性

​通过手动检查系统文件的md5方面,效率不是很高,可以通过AIDE软件来辅助检查系统文件的完整性,该软件的具体使用方法详见官方文档

六、检查网络

​网络方面通过检查网卡的是不是处于混杂模式,检查系统中网络监听的端口,对于一些非系统,非业务的端口尤其是要重点关注。

6.1 检查网卡模式

  1. # ip link | grep PROMISC(正常网卡不该在promisc混杂模式,可能存在sniffer) 
  2. 网卡处于混杂模式,这样通过网卡的流量都会被监听 

6.2 检查恶意程序开放的端口及打开的文件

  1. #netstat -ntlup  
  2. #lsof -i: 端口号 

七、检查系统计划任务

​系统的定时任务也是非法进入检测的重要方面,有些恶意的程序通过系统的计划任务,定时调度任务,通过对定时任务的检查,可以发现一些被非法进入的重要信息。

  1. # crontab –u root –l 
  2. # cat /etc/crontab 
  3. # ls /etc/cron.* 

注意:

root和UID是0的schedule

八、检查系统服务

8.1 centos 6版本

查看系统启动的服务

  1. # chkconfig —list 

8.2 centos 7版本

​这个主要检测的是启动服务,目前在centos7以上都采用systemd 来管理相应的服务。Systemd是一个系统管理守护进程、工具和库的集合,用于取代System V初始进程。Systemd的功能是用于集中管理和配置类UNIX系统。

查看所有的可用单元# systemctl list-unit-files

九、检查rootkit

9.1 通过rkhunter检查

通过rkhunter输出的信息提示,是判断系统是否被rootkit的要重要手段,除OK之外的提示是重点关注的对象。

  1. # rkhunter -c 

 

参数说明:

-c:检查本地文件系统

9.2通过chkrootkit 检查

  1. # chkrootkit -q 

9.3 通过Tripwire检查

具体使用方法详见官方文档资料https://www.tripwire.com/,这里就不作详细介绍。

【编辑推荐】

  1. 腾讯重磅开源DCache,分布式NoSQL存储系统
  2. 如何识别Linux上的文件分身
  3. 初级:如何在Linux中zip压缩文件和文件夹
  4. Rancher 推出 k3OS,业界 Kubernetes 操作系统
  5. Linux中面向云的三款加密工具
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

这就是5G

这就是5G

5G那些事儿
共15章 | armmay

114人订阅学习

16招轻松掌握PPT技巧

16招轻松掌握PPT技巧

GET职场加薪技能
共16章 | 晒书包

371人订阅学习

20个局域网建设改造案例

20个局域网建设改造案例

网络搭建技巧
共20章 | 捷哥CCIE

757人订阅学习

读 书 +更多

SQL Server 2005数据库管理与应用高手修炼指南

全书分为基础篇、高级篇和应用篇3个部分,共18章,有重点、分层次地讲解SQL Server 2005的基础知识、高级使用技巧和项目应用方法。第1~10...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微