当前位置: 首页 > news >正文

服务器遭受攻击如何处理(记录排查)

本文的重点是介绍如何鉴别安全事件以及保护现场的方法,以确保服务器负责人能够在第一时间对安全攻击做出反应,并在最短时间内抵御攻击或减少攻击所带来的影响。

在服务器遭遇疑似安全事件时,通常可以从账号、进程、网络和日志四个主要方面进行评估和分析,以判断事件的性质。如果需要联系安全部门来解决问题,保护现场就变得至关重要,以确保能够获取到关键信息,而不受其他杂乱情况的干扰。

一、检查是否存在异常账号和异常登录linux

1、cat /etc/passwd和/etc/group可以看到当前系统中的所有用户和所有的用户组信息,通过查看来发现是否被添加了异常账号;

cat /etc/passwd

如果在上一步中获得了一个异常的用户名"tss",可以使用以下方法对该用户进行详细检查:

1. 查看用户的历史登录信息:使用命令"last tss"来查看该用户的登录历史记录。

2. 查看用户的登录失败信息:使用命令"lastb tss"来查看该用户的登录失败记录。

3. 进入用户的家目录并查看家目录下的账号文件夹:使用命令"cd /home"进入家目录,然后使用命令"ll"来列出该目录下的文件夹,以查看哪些文件夹对应着不同的账号。

2、查看当前登录的用户,ip以及正在执行的命令: w

3、有时候,可以使用命令"ps -ef | grep ssh"来发现伪登录方式;

伪登录方式指的是无法通过"last"命令发现的登录方式。

对于Windows系统:
1. 使用服务器管理器界面操作:打开服务器管理器,选择"配置",然后选择"本地用户和组",在用户选项卡下查看用户列表。

2. 使用命令方式(schtasks):注意,由于编码方式不同,直接输入"schtasks"命令可能会报错,提示无法加载列资源。在这种情况下,需要先查看命令提示符(cmd)的编码方式,使用命令"chcp"来调整编码方式。例如,将编码方式从936(中文编码)改为437(美国编码),然后再运行"schtasks"命令。但是,请注意,这样做可能无法打印出非ASCII字符。

二、检查定时任务Linux通过计划任务来查看是否存在定时任务

对于黑客使用定时任务触发相应程序的情况,可以按照以下方法进行检查:

1. Linux系统:

- 查看计划任务文件:检查/etc/crontab以及目录下的/etc/cron.*文件,包括cron.d/ cron.daily/ cron.hourly/ cron.monthly/ cron.weekly/等。
- 检查启动项:使用命令systemctl list-unit-files --type=service来查看系统服务的启动项。

2. Windows系统:

- 界面操作:打开"开始"菜单,运行"msconfig.exe",在"启动"选项卡下查看启动项。
- 命令方式:使用命令"wmic startup list full"来列出启动项。

三、 检查进程:


1. Linux系统:

使用命令"top"查看正在运行的程序所占用的资源,或者使用命令"ps axu"列出当前系统的进程及其资源情况。

2. Windows系统:

界面操作可以打开任务管理器来查看运行中的进程,或者使用命令"tasklist"来列出进程。

四、 检查系统服务:

- Windows系统:界面操作可以运行"services.msc"来查看系统服务,或者使用命令"sc query"来查询系统服务。

五、 检查网络连接:

1. Linux系统:

检查/etc/hosts和/etc/resolv.conf文件是否有异常更改,使用命令"netstat -a"来查看网络连接情况。

2. Windows系统:

使用命令"netstat -a"来查看网络连接情况。

六、 检查历史记录:

- 通过使用"history"命令来查看系统上执行过的命令。

七. 保护现场:


- 如果条件允许,可以先对服务器进行快照以保存当时的情况,防止系统在短时间内崩溃或被篡改。
- 如果可以断网,建议先断开网络连接,以防止黑客进行进一步攻击。
- 使用安全传输方式(如sftp)将日志文件传输到本地或其他安全的服务器,包括/var/log/下的日志文件,如messages、kern.log、secure、cron等,以及用户文件如/etc/passwd、/etc/shadow、/etc/group等可疑文件和后门文件。
- 如果能确定入侵时间,可以使用"find"命令查找最近时间段内变化的文件,并将这些文件进行打包发送,例如查找5月9日15:08变化的所有python文件:

find / -type f -name "*.py" -newermt "2023-05-09 15:08:00" ! -newermt "2023-05-09 15:09:00" -exec tar -cvzf python_files.tar.gz {} +

相关文章:

  • Redis入门02-基础概念
  • 分类预测 | Matlab实现KOA-CNN-BiLSTM-selfAttention多特征分类预测(自注意力机制)
  • 亲测解决Pytorch TypeError: object of type ‘numpy.int64‘ has no len()
  • 微服务框架SpringcloudAlibaba+Nacos集成RabbitMQ
  • C语言assert函数:什么是“assert”函数
  • 【Java 进阶篇】Java中的响应输出字节数据
  • MySQL - 覆盖索引、回表查询
  • Nacos | 使用 Nginx 转发 Nacos2.x 端口的注意事项
  • 多模态 多引擎 超融合 新生态!2023亚信科技AntDB数据库8.0产品发布
  • 【开发新的】apache common BeanUtils忽略null值
  • C# Onnx 用于边缘检测的轻量级密集卷积神经网络LDC
  • Kafka - 监控工具 Kafka Eagle:实时洞察Kafka集群的利器
  • P2107 小Z的AK计划
  • 如何读懂深度学习python项目,以`Multi-label learning from single positive label`为例
  • Fourier分析导论——第2章——Fourier级数的基本属性(E.M. Stein R. Shakarchi)
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • 【附node操作实例】redis简明入门系列—字符串类型
  • CSS 提示工具(Tooltip)
  • Docker: 容器互访的三种方式
  • egg(89)--egg之redis的发布和订阅
  • JDK9: 集成 Jshell 和 Maven 项目.
  • Node项目之评分系统(二)- 数据库设计
  • redis学习笔记(三):列表、集合、有序集合
  • unity如何实现一个固定宽度的orthagraphic相机
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 爱情 北京女病人
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 排序(1):冒泡排序
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 无服务器化是企业 IT 架构的未来吗?
  • #HarmonyOS:软件安装window和mac预览Hello World
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • (13)Hive调优——动态分区导致的小文件问题
  • (42)STM32——LCD显示屏实验笔记
  • (9)STL算法之逆转旋转
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (WSI分类)WSI分类文献小综述 2024
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (利用IDEA+Maven)定制属于自己的jar包
  • (区间dp) (经典例题) 石子合并
  • (全注解开发)学习Spring-MVC的第三天
  • (三)elasticsearch 源码之启动流程分析
  • (转)JAVA中的堆栈
  • (转)Oracle存储过程编写经验和优化措施
  • (转)关于pipe()的详细解析
  • (转)树状数组
  • (转载)Linux 多线程条件变量同步
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法