目录
通过系统运行状态、安全设备告警,主机非常征象来发现可疑征象通常的可疑征象有:资源占用、非常登录、非常文件、非常连接、非常进程等。
用户排查
如果发现非常用户运动,例如尝试多次登录失败、实行不正常的命令等,应该及时接纳措施,包括禁止用户登录、修改用户密码等。
- 查看 uid 或 gid 为 0 的用户(默认系统只存在root一个特权账户)
- cat /etc/passwd | awk -F: '{print $7}' | sort | uniq
复制代码- cat /etc/passwd | grep bash
复制代码- last # 查看用户最近登录信息
- lastb # 查看错误的用户登录信息
- lastlog # 查看所有用户最后一次登录信息
复制代码- more /etc/sudoers | egrep -v "^#|^$"
复制代码
- 继续查抄 wheel 组包含的用户,wheel组通常用于授权用户拥有使用 sudo
- awk -F: 'length($2)==0 {print $1}' /etc/passwd
复制代码- awk '/\$1|\$6/{print $1}' /etc/shadow
复制代码 历史命令
history 记录位于用户 home 目录下的 .bash_history 文件中,可以直接 cat ~/.bash_history 查看历史记录。
网络排查
查抄系统上正在监听的网络连接和端口情况,以及用户的网络运动,发现存在非常的网络行为。
- netstat -antulp 或 ss -antulp 或 lsof -i
复制代码- netstat -antulp | grep ESTABLISHED
复制代码- netstat -antulp | grep bash
复制代码 进程排查
Linux 默认的进程权限分离,每个进程有差异的权限,以是从进程用户名上能给我们很多信息。好比 webshell 实行反弹连接,会显示 apache 的用户权限。
- 对于一些非常的文件可以用 strings 显示里面的可读字符串进行开端判断
- strings /usr/sbin/sshd | more
复制代码 文件排查
- find /var/www/html/ -mtime -1 -name *.php
复制代码
- 查看系统命令是否存在非常,如大小、修改时间、创建时间等
- ls -altS /usr/sbin | head -30
复制代码 持久化排查
Linux的持久化方式通常有以下这几种方式:定时使命、开机服务、开机启动、驱动加载。
定时使命排查
列出当前用户的定时使命列表:定时使命还应查抄以下文件和文件夹:- /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/*
复制代码 开机启动项排查
查看系统服务
- systemctl list-unit-files --type=service
复制代码- systemctl list-units --type=service --all
复制代码 Linux 开机有多种运行级别,差异级别下加载的启动文件也不相同
查看当前启动级别差异启动级别会加载差异启动文件,需要关注查抄启动脚本目录- /etc/rc.d/*
- /etc/rc.local
- /etc/rc[0-6].d
- /etc/inittab
复制代码 日志分析
Linux 使用 rsyslog 管理日志,包括系统登录日志、服务访问日志、网站日志、数据库日志等。
日志默认存放位置 /var/log/ 目录,查看日志配置情况 vim /etc/rsyslog.conf。
通常关注的系统日志有:
- /var/log/messages:内核及公共消息日志,会记录linux系统的绝大多数重要信息
- /var/log/cron:系统定时使命相干的日志
- /var/log/dmesg:系统引导日志,系统在开机时内核自检的信息,dmesg命令直接查看
- /var/log/boot.log:记录系统在引导过程中发生的,包含系统启动时的日志,包括自启动的服务
- /var/log/secure:用户验证相干的安全性变乱,如SSH登录,su切换用户,sudo授权等
- /var/run/utmp:正在登录系统的用户信息,默认由who和w记录当前登任命户的信息
- /var/log/wtmp:当前登任命户具体信息,二进制文件,使用last命令来查看
- /var/log/btmp:记录错误登录日志,二进制文件,使用lastb命令查看
- /var/log/lastlog:用户末了一次登录时间的日志,二进制文件,使用lastlog命令查看
- /var/log/maillog:邮件系统日志
应用日志:
Nginx日志:
- /var/log/nginx/access.log
Apache日志:
- /var/log/httpd/access.log
- /var/log/apache/ access.log
- /var/log/apache2/ access.log
- /var/log/httpd-access.log
Mysql日志:
Linux 可以使用 sed、awk、grep 文件三剑客从日志中快速提取信息。
- grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
复制代码- 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
复制代码- 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}'
复制代码 若有错误,欢迎指正!o( ̄▽ ̄)ブ
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |