Linux服务器安全基础 - 查看入侵痕迹

1. 常见系统日志

/var/log/cron 记录了系统定时任务相关的日志

/var/log/dmesg 记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息

/var/log/secure:记录登录系统存取数据的文件;例如:pop3,ssh,telnet,ftp等都会记录在此.

/var/log/btmp:记录登录这的信息记录,被编码过,所以必须以last解析;

例如:lastb | awk '{ print $3}' | sort | uniq -c | sort -nr

/var/log/message:几乎所有的开机系统发生的错误都会在此记录;

/var/log/boot.log:记录一些开机或者关机启动的

/var/log/lastlog 记录每一个用户最后的登陆信息

2. 常用脚本

  1. 查询特权用户特权用户(uid 为0)

    awk -F: '3==0{print 1}' /etc/passwd

如果发现除了 root 外还有别的账号,就要小心了。

  1. 查询可以远程登录的帐号信息

    awk '/$1|$6/{print $1}' /etc/shadow

  2. 除root帐号外,其他帐号是否存在sudo权限。

    more /etc/sudoers | grep -v "#|$" | grep "ALL=(ALL)"

  3. 查询登录账号的历史命令

    cat ~用户名/.bash_history | more

此命令可看到操作命令和操作时间

  1. 检查异常端口和unix sockets

    netstat -ln

  1. 使用 ps 命令,分析进程

    ps aux

  1. 检查开机启动配置文件

    cat /etc/rc.local

重点关注以下目录中是否存在恶意脚本

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

  1. 列出某个用户cron服务的详细内容

    crontab -l

  2. 禁用或删除多余及可疑的帐号

usermod -L user # 禁用帐号,帐号无法登录,/etc/shadow 第二栏为 ! 开头

userdel user # 删除 user 用户

userdel -r user # 将删除 user 用户,并且将 /home 目录下的 user 目录一并删除

  1. 查看可疑IP登录记录

    last -f /var/log/wtmp

该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件。因此随着系统正常运行时间的增加,该文件的大小也会越来越大,

增加的速度取决于系统用户登录的次数。该日志文件可以用来查看用户的登录记录,last命令就通过访问这个文件获得这些信息,并以反序从后向前显示用户的登录记录,last也能根据用户、终端tty或时间显示相应的记录。

  1. 查看连接失败次数并按次数排序,显示前20行

    cat /var/log/secure | awk '/Failed/{print (NF-3)}' | sort | uniq -c | sort -nr | awk '{print 2" = "$1;}' | more

  1. 定位有多少IP在爆破主机的root帐号

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

  2. 爆破用户名字典

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

  3. 登录成功的IP有哪些

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

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

    grep "Accepted " /var/log/secure | awk '{print 1,2,3,9,$11}'

相关推荐
爱打代码的小林5 分钟前
用 OpenAI API 自动化分类智能手表用户问题示例
运维·自动化·大模型·api·智能手表
九河云8 分钟前
教育行业上云实践:从在线课堂到智慧校园的架构升级
大数据·运维·人工智能·安全·架构·数字化转型
如若12312 分钟前
WSL2安装Ubuntu完整教程:自定义安装目录到D盘(--location一键搞定)
linux·运维·服务器·pytorch·python·ubuntu·计算机视觉
九成宫1 小时前
第一次连接腾讯云服务器的记录与经验
服务器·云计算·腾讯云
senijusene1 小时前
用C语言制作一个简易HTTP服务器:实现手机商城用户认证与搜索
服务器·c语言·http
IOT-Power2 小时前
自动化设备控制系统 / Qt + 嵌入式设备软件
运维·qt·自动化
papaofdoudou2 小时前
QEMU和KVMTOOL在GPA(IOVA)和HVA映射方面的异同
linux·运维·服务器
Xzq2105092 小时前
部分重要协议或技术(DNS,ICMP,NAT,代理服务器)
运维·服务器·网络
艾莉丝努力练剑3 小时前
文件描述符fd:跨进程共享机制
java·linux·运维·服务器·开发语言·c++
工藤新一¹3 小时前
《操作系统》第一章(1)
java·服务器·前端