Linux常用应急溯源命令

常用命令

1、账号相关命令

1、查询特权用户特权用户(uid 为0):awk -F: '3==0{print 1}' etc/passwd

2、查询可以远程登录的帐号信息:awk '/\1\|\\6/{print $1}' etc/shadow

2、程序相关命令

1、查看当前开放端口netstat -tnlp

2、查看当前系统上运行的所有进程ps -ef

3、查看进程ps aux | grep pid

4、查看cpu占用率前十的进程ps aux --sort=pcpu | head -10

3、日志相关命令

1、日志默认存放位置:/var/log/

2、查看日志配置:more /etc/rsyslog.conf

|----------------------|---------------------------------------------------------------------------------------|
| 日志文件 | 说明 |
| /var/log/cron | 记录了系统定时任务相关的日志 |
| /var/log/cups | 记录打印信息的日志 |
| /var/log/dmesg | 记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息 |
| /var/log/mailog | 记录邮件信息 |
| /var/log/message | 记录系统重要信息的日志。这个日志文件中会记录Linux系统的绝大多数重要信息,如果系统出现问题时,首先要检查的就应该是这个日志文件 |
| /var/log/btmp | 记录错误登录日志,这个文件是二进制文件,不能直接vi查看,而要使用lastb命令查看 |
| /var/log/lastlog | 记录系统中所有用户最后一次登录时间的日志,这个文件是二进制文件,不能直接vi,而要使用lastlog命令查看 |
| /var/log/wtmp | 永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。同样这个文件也是一个二进制文件,不能直接vi,而需要使用last命令来查看 |
| /var/log/utmp | 记录当前已经登录的用户信息,这个文件会随着用户的登录和注销不断变化,只记录当前登录用户的信息。同样这个文件不能直接vi,而要使用w,who,users等命令来查询 |
| /var/log/secure | 记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中 |

复制代码
查看系统的成功登录、关机、重启等: /var/log/wtmp
查看登陆失败的用户日志: /var/log/btmp
查看所有用户登陆日志: /var/log/lastlog
查看谁在使用某个端口:lsof -i :5001
查看内部对外的网络连接:lsof -nPi
3.1 定位爆破root帐号来源IP
复制代码
#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
3.2 查询登录成功的IP
复制代码
#last命令,它会读取位于/var/log/wtmp的文件,并把该文件记录的登录系统的用户名单。
#grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
3.3 查询增加用户日志
复制代码
登录成功的日期、用户名、IP:
grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}' 
grep "useradd" /var/log/secure 
3.4 查询删除用户日志
复制代码
# grep "userdel" /var/log/secure
3.5 查询su切换用户记录
复制代码
#sudo -l

4、定时任务

1、排查以下文件:

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

2、查看目录下所有文件:more /etc/cron.daily/*

5、文本相关

5.1grep查找前后数据
复制代码
显示1.txt文件里匹配ffuck字串那行以及上下5行:grep -C 5 fuck 1.txt
显示foo及前5行:grep -B 5 fuck 1.txt
显示foo及后5行:grep -A 5 fuck 1.txt
5.2显示文件几行
复制代码
从第100行开始,显示200行,显示100~299行:cat shell.php | tail -n +100 | head -n 200

6、其他相关

6.1查看最近改动的各类脚本文件和其他文件

复制代码
查找24小时内被修改的JSP文件:find ./ -mtime 0 -name "*.jsp"和find ./ -mtime 0 -name "*.php"
查看密码文件上一次修改的时间(最近改动):stat /etc/passwd
查看除无法登录以外的用户,有无新增:cat /etc/passwd | grep -v nologin
查看哪些用户为root权限,有无新增:cat /etc/passwd | grep x:0
查看哪些用户使用shell:cat /etc/passwd | grep /bin/bash

6.2域名hosts

复制代码
vim /etc/hosts
相关推荐
qq_3129201115 分钟前
Nginx限流与防爬虫与安全配置方案
运维·爬虫·nginx·安全
GanGuaGua21 分钟前
Linux系统:线程的互斥和安全
linux·运维·服务器·c语言·c++·安全
lsnm30 分钟前
【LINUX网络】IP——网络层
linux·服务器·网络·c++·网络协议·tcp/ip
全糖去冰吃不了苦31 分钟前
ELK 集群部署实战
运维·jenkins
不掰手腕44 分钟前
在UnionTech OS Server 20 (统信UOS服务器版) 上离线安装PostgreSQL (pgsql) 数据库
linux·数据库·postgresql
Lynnxiaowen1 小时前
今天继续昨天的正则表达式进行学习
linux·运维·学习·正则表达式·云计算·bash
努力学习的小廉1 小时前
深入了解linux系统—— POSIX信号量
linux·运维·服务器
刘一说1 小时前
CentOS部署ELK Stack完整指南
linux·elk·centos
从零开始的ops生活2 小时前
【Day 50 】Linux-nginx反向代理与负载均衡
linux·nginx
IT成长日记2 小时前
【Linux基础】Linux系统配置IP详解:从入门到精通
linux·运维·tcp/ip·ip地址配置