linux服务器应急响应,Linux应急响应手册

一个企业的信息安全建设,最基本的无非是要做好三件事:第一件是事前的安全基线,从源头尽可能保证新上线系统的安全性;第二件是建立事中的监控能力,各种多维度的入侵检测和防御,做到有针对性、及时的救火;第三件是做好事后的应急响应能力,让应急的时间成本更短,溯源和根因分析的能力更强。可见在企业信息安全建设中,应急响应是很关键的一个环节。基本上每个安全从业者都经历过安全应急响应,有些没有专职安全人员的企业,应急响应一般落在运维或研发的身上。本文从实战出发,归纳总结在Linux环境下,当服务器遭受入侵时的常用的应急响应流程和方法。业界有个应急响应参考模型,叫做PDCERF方法,它把应急响应体系分为六个阶段来处理,这六个阶段分别是准备(Perparation)、检测(Detection)、遏制(Containment)、根除(Eradication)、恢复(Recovery)、跟踪(Follow-up)。方法论的东西,看看就好,其实我们做的,也基本都是根据这几个步骤来的。应急响应讲求的是快、准、稳。在最短的时间内定位安全问题,排查安全问题,保障业务系统的稳定性和安全性。

0x00 安全审计命令last:查看系统的成功登录、关机、重启等情况;这个命令就是将/var/log/wtmp文件格式化输出。

lastb:查看登录失败的情况;这个命令就是将/var/log/btmp文件格式化输出。

lastlog:查看用户上一次的登录情况;这个命令就是将/var/log/lastlog文件格式化输出。

who:查看当前登录系统的情况;这个命令就是将/var/log/utmp文件格式化输出。

w:与who命令一致。

grep 'Accepted' /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr    查看登录成功信息

grep 'Failed' /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr  查看登录失败信息

0x01 日志和history查看cat /var/log/secure

cat /var/log/messages

cat /var/log/maillog

默认的history输出格式不便于查看,可以做一下输出格式的定制化,以下给出一个很简单的格式参考:

编辑 /etc/bashrcHISTFILESIZE=10000     //定义保存命令的记录总数HISTSIZE=5000              //定义history命令输出的记录总数HISTTIMEFORMAT='%F %T' //定义时间显示格式export HISTTIMEFORMAT    //作为history的时间变量

0x02 用户查看less /etc/passwd:查看是否有新增用户

grep :0 /etc/passwd:查看是否有特权用户

ll  -l /etc/passwd:查看敏感文件最后修改时间

awk -F: '$3==0 {print $5}' /etc/passwd:查看是否存在特权用户

awk -F: 'length($2)==0 {print $1}' /etc/shadow:查看是否存在空口令用户

0x03 进程查看ps aux:查看进程

lsof -p pid:检查可疑进程

检查隐藏进程

ps -ef|awk ‘{print }’|sort -n|uniq >1

ls /porc |sort -n|uniq >2

diff 1 2

0x04.  检查网络netstat -antlp | grep ESTABLISHED 查看已建立的网络连接账中是否存在异常

netstat -antlp | grep LISTEN           查看已监听端口中是否存在异常

ip link | grep PROMISC          正常网卡不该在promisc模式,可能存在sniffer

lsof –i

arp –a 查看arp记录是否正常

0x05 检查文件md5sum 文件名        md5校验

find / -uid 0 -perm -4000 -o -perm -2000 -print      查找具有setUID(-perm -4000)或者具有setGID(-perm -2000)权限的命令

rpm -qf /bin/ls:检查文件的完整性(还有其它/bin目录下的文件)

find ./ -mtime 0 -name "*.jsp"            //查找24h内被修改的jsp文件

find ./ -mtime -7 -name "*.jsp"           //查找7天内被修改的jsp文件

重点关注一下 /tmp、/var/tmp、/dev/shm目录,这些目录下所有用户具备可读可写可执行权限.

0x06 检查后门&rootkitcrontab  -l

cat /etc/crontab

ls /etc/cron.*

ls /var/spool/cron/

注:一般用户级别的crontab,位于/var/spool/cron下;系统级别的crontab,位于/etc/crontab;另外还有:/etc/cron.hourly、 /etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly、/etc/anacrontab 等周期性执行脚本的目录。

cat /etc/rc.d/rc.local

ls /etc/rc.d

ls /etc/rc3.d

cat /etc/inittab

vim $HOME/.ssh/authorized_keys  查看ssh链接文件

lsmod     检查内核模块

chkconfig --list 检查自启服务

0x07 webshell&rookit检测webshell检测:shellpub    http://www.shellpub.com/

rookit检测:rkhunter         http://rkhunter.sourceforge.net/

rookit检测:chkrootkit       http://www.chkrootkit.org/

0x08. otheriptraf      观察UDP包是否大量发包,如果是,可能被安装后门

查看ssh后门

①对比ssh版本信息  ssh -V②查看ssh配置文件是否被篡改以及/usr/sbin/sshd时间:stat /usr/sbin/sshd③strings查看/usr/sbin/sshd 看是否有可疑的邮箱信息④利用strace找出sshd后门,以下给个示例:有些做的比较好的sshd后门会将账户密码记录到文件中,可以通过strace进行跟踪判断。首先确认sshd服务的pid, ps aux|grep sshd用strace跟踪pid为83815的sshd进行: strace -o aa -ff -p 83815

会生成以下strace输出文件

grep这些strace输出文件,过滤错误信息和/dev/null信息,以及denied信息,查找以读写模式(WR)打开的信息,如果有异常,会很容易辨别出异常文件.grep open aa* | grep -v -e No -e null -e denied| grep WR

1e58356a5fe2d8e64eb1623447cc942b.png

扫 码 关 注 |

||

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值