Linux入侵排查
⛰️

Linux入侵排查

Published
March 27, 2023
Category
应急响应与取证
Subcategory
事件响应流程与策略
Tags
Linux
排查
Author
KK
Notes
本文介绍了 Linux 服务器入侵排查的思路,包括账号安全、历史命令、端口、进程、开机启动项、定时任务、服务和系统日志等方面。通过分析这些方面,可以更好地发现和解决安全问题。
💡
当企业发生黑客入侵、系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解决方案与防范措施,为企业挽回或减少经济损失。
针对常见的攻击事件,结合工作中应急响应事件分析和解决的方法,总结了一些 Linux 服务器入侵排查的思路。

一、账号安全:

  • 用户信息文件 /etc/passwd
  • 用户密码文件 /etc/shadow
  • 几个常用命令
    • who //查看当前登录用户(tty 本地登陆 pts 远程登录)
    • w //查看系统信息,想知道某一时刻用户的行为
    • uptime //查看登陆多久、多少用户,负载
入侵排查:
  • 查询特权用户(特权用户uid 为 0)
  • 查询可以远程登录的帐号信息
  • 除 root 帐号外,其他帐号是否存在 sudo 权限 /etc/sudoers
  • 禁用或删除多余及可疑的帐号

二、历史命令

历史操作命令的清除: history -c
入侵排查:但此命令并不会清除保存在文件中的记录,因此需要手动删除 /用户名/.bash_profile 文件中的记录。

三、端口

使用 netstat 网络连接命令,分析可疑端口、IP、PID
netstat -antlp | more

四、进程

使用 ps 命令,分析进程
ps aux | grep pid //输入想查看的pid数字
入侵排查:也可以使用top查看高使用率的进程进行分析。

五、开机启动项

查看运行级别命令: runlevel
系统默认允许级别: vi /etc/inittab
开机启动配置文件: /etc/rc.local /etc/rc.d/rc[0~6].d

六、定时任务

  • crontab -l 列出某个用户 cron 服务的详细内容
  • crontab -r 删除每个用户 cront 任务
  • crontab -e 使用编辑器编辑当前的 crontab 文件
入侵排查:
重点关注以下目录中是否存在恶意脚本
  • /var/spool/cron/*
  • /etc/crontab
  • /etc/cron.d/*
  • /etc/cron.daily/*
  • /etc/cron.hourly/*
  • /etc/cron.monthly/*
  • /etc/cron.weekly/*
  • /etc/anacrontab
  • /var/spool/anacron/*
小技巧:
more + 路径目录 //查看目录下所有文件

七、服务

服务自启动
第一种修改方法:
  • chkconfig [--level 运行级别][独立服务名][on|off]
  • chkconfig –level 2345 httpd on 开启自启动
  • chkconfig httpd on (默认 level 是 2345)
第二种修改方法:
  • 修改 /etc/re.d/rc.local 文件 加入 /etc/init.d/httpd start
入侵排查:
查询已安装的服务:
  • chkconfig --list 查看服务自启动状态,可以看到所有的RPM包安装的服务
  • systemctl list-unit-files
  • 查看源码包安装的服务安装位置 ,一般是在 /user/local/

八、系统日志

  • 日志默认存放位置:/var/log/
  • 查看日志配置情况:more /etc/rsyslog.conf
主要日志文件介绍:
  • /var/log/messages 内核及公共消息日志
  • /var/log/cron 计划任务日志
  • /var/log/dmesg 系统引导开机自检日志
  • /var/log/maillog 邮件系统日志
  • /var/log/boot.log 记录系统在引导过程中发生的时间
  • /var/log/lastlog 记录系统中所有用户最后一次登录时间的日志,用lastlog命令查看
  • /var/log/wtmp 永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件,用last命令来查看
  • /var/run/utmp 当前用户登录、注销及系统开、关等事件,用w,who,users命令查看
  • /var/log/secure 记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH多录, su切换用户, sudo授权,甚至添加用户和修改用户密码都会记录
  • /var/log/btmp 记录错误登录日志,用lastb命令查看