Linux应急响应

识别现象

通过系统运行状态、安全设备告警,主机异常现象来发现可疑现象

通常的可疑现象有

  • 资源占用
  • 异常登录
  • 异常文件
  • 异常连接
  • 异常进程

进程排查

Linux因为其默认的进程权限分离,每个进程有不同的权限,所以从进程用户名上能给我们很多信息

  • 比如从mysql)用户启动了一些非mysql的进程
  • 类似还有webshell执行反弹连接,会显示apache的用户权限

查看资源占用

top

查看所有进程

ps -ef

根据进程PID查看进程详细信息

lsof -p PID

查看启动时间

ps -p PID -o lstart

对于一些异常的文件,初步判断,可以用strings显示里面的可读字符串,并进行grep

查看进程可执行文件

ls -la /proc/PID/exe

查看进程树

pstree

文件排查

查找指定时间的文件
查找根目录下,修改时间小于1天的文件

find / -mtime -1

mtime也可以对应为mmin指修改分钟,m意为modify相应也可改为ctime,atime,分别意为create,access

也可结合文件名进一步查找

find /var/www/html/ -mtime -1 -name *.php
find /etc/ /usr/bin/ /usr/sbin/ /bin/ /usr/local/bin/ /var/spool/cron/-type f -mtime -3 | xargs ls -al

入侵者通常会替换系统的内置命令达到隐藏的目的
查看系统命令是否存在异常,如大小、修改时间、创建时间等

ls -altS /usr/sbin | head -30

网络排查

查看当前已建立的TCP连接

netstat -antulp | grep ESTABLISHED

查看反弹连接

netstat -antulp | grep bash

查看本机开放端口

netstat -antulp

查看某一端口的具体应用

lsof -i:22

用户排查

查看uid或gid为0的用户

grep : /etc/passwd

查看passwd文件最后的修改记录

stat /etc/passwd

统计所有用户的shell相关信息

cat /etc/passwd | awk -F:'{print $7}' | sort | uniq -c

重点检查所有登录权限的用户

cat /etc/passwd | grep bash

查看用户登录时间 

last

lastlog

查看允许sudo的用户

more /etc/sudoers | egrep -v "^#|^$"

继续检查wheel组包含用户

grep wheel /etc/group

历史命令

  • linux因为其命令行的特殊性,可以通过history命令来查看用户之前的操作
  • history记录位于用户home目录下的.bash_history文件中。
  • 可以直接cat~/.bash_history查看历史记录

持久化查询

Linux的持久化方式不如windows复杂,通常有以下四种方式

  • 定时任务
  • 开机服务
  • 开机启动
  • 驱动加载

定时任务排查

crontab -l

定时任务还应检查以下文件和文件夹

/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/*

开机启动项排查

Linux开机有多种运行级别,不同级别下加载的启动文件也不同

查看当前启动级别,当前为5,即图形式模式

runlevel

 不同启动级别会加载不同启动文件

检查下述文件或目录

/etc/rc.d/*
/etc/rc.local
/etc/rc[0-6].d
/etc/inittab

开机服务检查

chkconfig --list

0-6依然是系统启动级别

Linux日志分析

Linux使用rsyslog管理日志
通常关注的日志有

/var/log/messages:内核及公共消息日志
/var/log/cron:计划任务日志
/var/log/dmesg:系统引导日志
/var/log/maillog:邮件系统日志
/var/log/lastlog:用户登录日志
/var/log/boot.log:记录系统在引导过程中发生的时间
/var/log/secure:用户验证相关的安全性事件
/var/log/wtmp:当前登录用户详细信息
/var/log/btmp:记录失败的的记录
/var/run/utmp:用户登录、注销及系统开、关等事件;

Linux因为有强大的文本处理工具,如sed、awk等,所以从日志中提取信息相对容易,但前提是熟悉sed,awk,正则表达式等应用,下面列出一些常用举例

定位有多少IP在爆破主机的root账号

grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more

定位有哪些IP在爆破

grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c

爆破用户名字典是什么?

grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr

登录成功的IP有哪些

grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more

登录成功的日期、用户名、IP

grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}' 
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux安全应急响应是指在发生安全事件或遭受攻击时,对Linux系统进行紧急处置和响应的过程。以下是一些常见的Linux安全应急响应步骤: 1. 确认安全事件:首先要确定是否发生了安全事件,包括检查系统日志、网络流量分析和异常行为检测等。 2. 隔离受影响的系统:如发现受到攻击的系统,应立即将其隔离,以防止攻击扩散或进一步损害其他系统。 3. 收集证据:在处理安全事件之前,应收集相关证据,包括攻击日志、恶意文件和异常配置等。这些证据对于后续调查和分析非常重要。 4. 分析攻击:对收集到的证据进行深入分析以确定攻击类型、攻击者的目的和方法。这有助于加强安全防御和预防类似攻击再次发生。 5. 恢复系统:在确保已经理解并清除了安全威胁之后,可以开始恢复受损系统的正常运行。这可能包括修复被攻击的漏洞、移除恶意软件和重新配置受损的系统。 6. 安全加固:在响应安全事件后,应加强系统的安全防御机制,包括更新补丁、加强访问控制、安装防火墙以及加强账户和密码管理等措施。 7. 审查和改进:对安全事件的响应过程进行审查和改进,以提高安全性和应急响应的效率。这包括分析事件的原因和教训,制定更好的安全策略和流程。 请注意,这只是一个基本的安全应急响应框架,实际情况可能因事件类型和具体环境而有所不同。在面临安全事件时,建议寻求专业的安全团队或专家的帮助来进行处理和恢复。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值