入侵排查,还是偏日志分析那一块,大概就是审计日志,然后封IP
入侵排查
首先我们要知道当服务器被入侵后当务之急是应急响应,之后再来排查
登录入侵排查流程
当服务器被入侵时,除了应急响应之外,第一个就应该查找攻击者如何入侵服务器的。端口是攻击者入侵服务器的入口。 以ssh受到暴力破解登录为例 首先便是查看开放端口 netstat -antpl l代表listen 我们需要关注的当然是listen状态的监听端口,每一个服务背后对应的都是一个listen端口。PID处通常会标明对应的服务。
下一步是看日志,/var/log ssh登录暴力破解的日志通常会在auth.log(认证日志)里apache日志通常在/var/log的apache安装目录下 日志分析看注入是很好看出来的,比如sqlmap等都有明显的get请求特征。还能根据get请求判断有没有通过注入写文件留后门
修复: 比如ftp服务被爆破成功,在/etc/passwd中我们可以看到各个账号的权限 * /bin/bash :可以看到root所拥有的权限也是/bin/bash,进入账号就分配shell
/sbin/nologin :进入账号无法登录系统,即使有密码也不行。比如ftp对于本地非虚拟账户,只有用户有有效的shell才能使用FTP服务,这时就能使用nologin使用户不能登录系统但是能使用服务。/bin/false :返回一个错误状态,然后立即退出。用户无法登录,并且不会有任何提示
所以发现利用FTP爆破执行命令的需要将/bin/bash修改为/bin/nologin
入侵排查常用命令
- 查看账号信息
- 查看/etc/passwd文件和/etc/shadow文件中发现除了root账户可以使用bash外还有什么其他账户也能使用bash
- 查看端口信息
- 如查看端口机器开启了ssh,ftp,mysql,web服务,我们需要去查看每个服务产生的日志信息
系统入侵排查
- 检查系统日志
lastlog 查看系统登录日志,统计ip登录次数 - 检查passwd文件最后修改的时间
ls -l /etc/passwd - 检查特权用户
awk -F:'$2==0&$3==0{print $1}' /etc/passwd
这里要介绍linux权限分配,在/etc/passwd中 如第一行的root账号,分别是 账号名:密码:uid:gid 如果是root权限,那uid和gid同时为0,添加root用户就是利用uid和gid添加的
- awk -F 就是指定某一符号为分隔符,$就是分隔后的内容
-
查看异常进程 ps -ef 可用来查看挖矿进程 -
查看网站开启端口 ss -antlp 比如6379开启,就是开启了redis服务的 -
查看本账户执行命令历史 history
- 如果
history -c 清除了历史记录,可以cat /root/.bash_history - 如果新建账户留了后门,可以
su 进新账户history 查看攻击者在此账户执行的操作
扩展:linux计划任务
crond是linux下用来周期性的执行某种任务或等待处理某些事件的守护进程。而且crond会自启动。 比如进程被管理员kill了,crond就能定时自启动
crontab file用来定义定时任务条目的文件,linux中,文件存在updatadb,whatis,/etc/cron.d/*
如crontab -u root -l 列出root下详细的计划任务
|