安全运维 - Linux系统攻击回溯
入侵排查思路 (1)- 日志分析
日志分析 默认日志路径: /var/log 查看日志配置情况: more /etc/rsyslog.conf 重要日志: 登录失败记录: /var/log/btmp 最后一次登录: /var/log/lastlog 登录成功记录: /var/log/wtmp 登录日志记录: /var/log/secure 日志分析常用命令: grep -rn "hello,world!" cat input_file | tail -n + 1000 | head -n 2000(显示1000-2999行) find /etc -name init #在目录/etc中查找文件init sed -i '153,$d' .bash_history #删除历史操作记录,只保留前153行 grep -C 5 foo file #显示file文件里匹配foo那行以及上下5行 定位有多少IP在爆破主机的root账号 grep "Failed password for root" /var/log/secure | awk '{print $11}'| sort | uniq -c | sort -nr | more 爆破用户名字典 grep "Failed password" /var/log/secure|perl -e 'while($_=<>){/for(.*?) from/;print "$1\n";}'|uniq -c | sort --nr 登录成功IP 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}' 软件安装升级卸载日志: more /var/log/yum.log
入侵排查思路(2)- 账号安全
用户信息文件: /etc/passwd 影子文件: /etc/shadow who #查看当前登录用户(tty本地登录,pts远程登录) w #查看系统信息,想知道某一时刻用户的行为
入侵排查:
查询特权用户(uid为0): awk -F: '$3==0{print $1}' /etc/passwd
查询可以远程登录的账号信息: awk '/\$1|\$6/{print $1}' /etc/passwd
禁用或删除多余可疑的账号:
usermod -L user #禁用账号,账号无法登录
userdel -r user #将删除user用户,并且将/home目录下的user目录一并删除
入侵排查思路(3)- 历史命令
root的历史命令: history 其他账号的历史命令: /home各账号目录下的 .bash_history 历史操作命令的清除: history -c 入侵排查: 进入用户目录: cat .bash_history >> history.txt
入侵排查思路(4)- 端口&进程&开机启动项
检查异常端口: 使用netstat网络连接命令,分析可疑端口、IP、PID netstat -antlp|more检查异常进程: 使用ps命令,分析进程 ps aux | grep pid 使用 netset 和 ps 等命令时,可以灵活配合 grep命令获取信息 netstat -anp | grep -i listen lsof -i:port #进程和端口对应关系 ps -aux查看进程信息(ps -ef 对于反弹shell,更便于发现)检查开机启动项: 系统默认运行级别: vi /etc/inittab 开机启动配置文件: /etc/rc.local 入侵排查: 启动项文件: more /etc/rc.local /etc/rc.d/rc[0~6].d ls -l /etc/rc.d/rc3.d/定时任务 crontab -l 列出某个用户cron服务的详细内容 crontab -r 删除某个用户 cront任务(删除所有的计划任务) crontab -e 使用编辑器编辑当前的crontab文件 重点关注以下目录是否存在恶意脚本: /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/* more /etc/cron.daily/* #查看目录下所有文件系统服务 服务自启动: 修改 /etc/re.d/rc.local 文件,加入 /etc/init.d/httpd start 查询RPM包安装的服务: chkconfig --list #查询服务自启动状态,可以看到所有的RPM包安装的服务 ps aux | grep crond #查看当前服务 系统在3和5级别下的启动项 中文环境 chkconfig --list | grep "3:启动\|5:启动" 英文环境 chkconfig --list | grep "3:on\|5:on" 查询源码包安装的服务: 查看服务安装位置,一般在 /user/local/ 搜索 /etc/rc.d/init.d/ 查看是否存在检查异常文件 查看敏感目录,如 /tmp目录下的文件,同时注意隐藏文件夹,以“..”为名称的文件夹具有隐藏属性 得到发现WEBSHELL、远控木马的创建时间,找出同一时间创建的文件 find /opt -iname "*" -atime 1 -type f #找出 /opt 下一天前访问过的文件 针对可疑文件可以使用 stat进行创建修改时间
转载于:https://www.cnblogs.com/AtesetEnginner/p/11391226.html
安全运维 - Linux系统攻击回溯相关推荐
- linux环境变量管理器,运维 - linux(ubuntu) 环境变量管理 (持续更新)
运维 - linux(ubuntu) 环境变量管理 (持续更新) 注: 本教程以 Ubuntu16.04 操作, 请细看. 如果看完还不明白, 联系我, 我给你发红包. 一, 查看环境变量: 方法 1 ...
- linux cpu不足处理运维,Linux运维知识之Linux服务器CPU占用率较高问题排查思路
本文主要向大家介绍了Linux运维知识之Linux服务器CPU占用率较高问题排查思路,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 注意:本文相关配置及说明已在 CentOS ...
- 新开班全栈Linux运维-Linux云计算运维与高级架构班课程 全新自动化运维必学课程
新开班全栈Linux运维-Linux云计算运维与高级架构班课程 全新自动化运维必学课程 全栈Linux运维的课程意义,在于让同学们从Liunx基础课程开始,一路直通Liunx运维高级架构师的级别.全新 ...
- 全栈Linux运维-Linux云计算运维与高级架构班课程 全新自动化运维必学课程
全栈Linux运维-Linux云计算运维与高级架构班课程 全新自动化运维必学课程 全栈Linux运维的课程意义,在于让同学们从Liunx基础课程开始,一路直通Liunx运维高级架构师的级别.全新的Li ...
- 2020-06-19 云运维linux centos7.2 文件管理基础知识总结
2020-06-19 云运维linux文件管理基础知识总结 linux=Linux: 命令(基础使用)+文件系统(目录)+服务(配置) 1.路径的分类 绝对路径:由根目录(/)开始写起的文件名或目录名 ...
- 游戏运维linux,Linux运维知识之Linux的10个游戏
本文主要向大家介绍了Linux运维知识之Linux的10个游戏,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. Linux最强大的一个特征就是它有大量的各种小命令工具,这也可以称 ...
- 云服务器运维 - Linux 操作系统安全加固/防范黑客攻击
文章目录 云服务器运维 - Linux 操作系统安全加固/防范黑客攻击 1.帐号 1.1 禁用或删除无用账号 1.2 检查特殊账号 1.3 添加口令策略 1.4 限制用户su 1.5 禁止root用户 ...
- 0基础linux运维,Linux运维基础
字符匹配: . 匹配任意单个字符 [] 匹配指定范围内的任意单个字符 [^] 匹配指定范围外的任意单个字符 [:alnum:] 字母和数字 [:alpha:] 代表任何英文大小写字符,亦即 A-Z, ...
- alpine linux图形界面_跟光磊学Linux运维-Linux入门与基本使用
认识Linux用户 在安装CentOS8.2时,设置过root用户的密码,同时也创建了用户guanglei. 其中root用户是系统自带的管理员账户,也被称为超级用户,root用户接近系统完整的控制能 ...
- 什么公司需要Linux运维,为什么企业会需要Linux运维?Linux入门!
提及Linux,很多人或许都会疑惑Linux是什么?为什么企业需要Linux运维岗位?关于大家的疑问小编一一为大家解答. 什么是Linux? 在我们的日常生活当中,接触到最多的就是Windows操作系 ...
最新文章
- Lesson 8.1Lesson 8.2 决策树的核心思想与建模流程CART分类树的建模流程与sklearn评估器参数详解
- 如何安装mysql5.6.16_centos安装mysql5.6.16
- 阿里云openapi接口使用,PHP,视频直播
- comparator接口与Comparable接口的区别
- error_reporting()的用法
- LeetCode 6061. 买钢笔和铅笔的方案数
- 2017 4月25日下午
- java安全级别_java语言的线程安全级别--转
- 程序员只能吃“青春饭”?C 认证带你破局!
- 用python画玫瑰花-python绘制玫瑰的实现代码
- 关于css中列表(ul ol)存在默认间距的问题
- 《树莓派渗透测试实战》——1.7 树莓派渗透测试场景
- adb 连接手机 cannot connect to xxx.xxx.x.xx:5555: 由于目标计算机积极拒绝,无法连接。 (10061)
- 孙玄:一文完全理解定时器实现技术
- java算法:复合数据结构
- 你还不了解QQ聊天是如何实现的吗?手把手教你实现网络聊天室
- phpmywind 手机站多语言版本
- 登陆失败:用户账户限制。可能的原因包括不允许空密码.........解决方案
- 人工智能的春天来了!Tesra超算网络,助力AI开发!
- You're a brave boy!