服务器遭受攻击之后的常见思路

哈喽大家好,我是咸鱼

不知道大家有没有看过这么一部电影:

这部电影讲述了男主是一个电脑极客,在计算机方面有着不可思议的天赋,男主所在的黑客组织凭借着超高的黑客技术去入侵各种国家机构的系统,并引起了德国秘密警察组织、欧洲刑警组织的重视

刚开始看的时候以为是一部讲述黑客的电影,到后面才发现其实是讲“社会工程学”

好了开始今天的正题——跟大家聊聊服务器安全相关的问题

我们需要知道,安全总是相对的,再安全的服务器也有可能遭受到攻击,所以我们需要尽量地做好系统安全防护、及时修复一些已知的漏洞;当服务器收到攻击的时候能够迅速有效地处理攻击行为,最大限度地降低攻击对系统产生的影响

服务器遭受攻击不是最可怕的,最可怕的是面对攻击时自己束手无策无从下手,今天咸鱼就来介绍一下服务器遭受攻击之后我们需要做些什么,让大家在遇到这种情况的时候能有个大概参考

常见思路

  • 切断网络

常见的攻击来自网络

对于一些对外提供服务的服务器,在得知系统遭受到黑客的攻击之后,首先要做的就是断开服务器的网络连接,这样除了能切断攻击源之外,也能够保护服务器所在网络的其他主机不受攻击

  • 查找攻击源

首先我们可以分析系统日志或者登录日志文件,去查看可疑信息

其次查看系统开启了哪些端口,运行了哪些进程(服务),在这个过程中去分析一下哪些是可疑的进程(系统平时运行什么进程心里多多少少都会有个大概)

  • 分析入侵途径和原因

系统受到入侵,肯定是有多方原因的(可能是系统漏洞、可能是程序漏洞)

所以我们需要查清楚是哪个原因导致的,并且还要查清楚攻击的途径,找到攻击源

  • 备份重要数据

在系统遭受攻击之后,需要立即备份服务器上的重要数据(例如用户数据),同时也要查看这些数据中是否隐藏着攻击源

如果攻击源在数据中,一定要彻底删除然后将数据备份到一个安全的地方

  • 重装系统

不要抱有自己能够彻底清除攻击源的幻想,因为没有人能比黑客更了解攻击程序

在服务器遭受到攻击后,最安全也最简单的方法就是重装系统,因为大部分攻击程序都会依附在系统文件或者内核中

处理过程

下面咸鱼将跟大家分享一些关于服务器遭受攻击后的常见处理流程

  • 检查可疑用户

在发现服务器遭受到攻击之后,首先要切断网络连接,但是有些情况下(无法马上切断网络连接),就必须上系统查看是否有可疑用户在登录

如果发现有可疑用户登录了系统,首先要将这个用户锁定,然后中断可疑用户的远程连接

首先查看可疑用户,执行 w 命令列出所有登陆过系统的用户

通过输出的内容可以检查出是否有可疑或者不熟悉的用户登录,同时还可以根据用户名(USER 字段)以及用户登录的源地址(FROM 字段)又或者它们正在运行的进程、执行的命令(WHAT 字段)来判断

  • 锁定可疑用户

一旦发现可疑用户,就要马上将其锁定

例如通过上面的输出发现 nobody 用户应该是可疑用户(因为 nobody 用户默认情况下是没有登录权限的,不可能说执行 bash)

 锁定之后,这个用户有可能还处于登录状态,我们需要把它踢下线,根据上面 w 的输出,即可获得该用户登录进行的 pid 值

  • 查看用户登录日志

last 命令记录了所有用户登录系统的命令,可以通过 last 命令来查找非法用户的登录事件

last 命令的输出结果来源于 /var/log/wtmp 文件中,稍微有点经验的黑客都会删掉这个文件以便清除自己的行踪

  • 查看系统日志

查看系统日志是查找攻击源最好的办法

可以查看的系统日志有 /var/log/messages 和 /var//log/secure ,这两个日志文件可以记录系统的运行状态以及远程用户的登录状态

还可以查看每个用户目录下的 .bash_history 文件,尤其是 /root 目录下的,这个文件记录着用户执行的所有历史命令

  • 检查并关闭系统可疑进程

检查可疑进程可以通过 topps 命令

但是在有些情况下我们只知道进程的名称不知道执行路径,可以通过 pidof 命令找到对应的 PID 号,知道了 PID 号我们再去对应路径去查看进程完整的执行路径

 除此之外,我们还可以通过指定端口来找到进程的 PID,从而找到相关进程

  • 检查文件系统的完整性

检查文件属性是否发生变化是验证文件系统完好性完整性最简单最直接方法

例如可以比较被攻击服务器上 /bin/ls 文件的大小与正常服务器大小是否相同(或者比较 MD5 值)

,以此来验证文件是否被动过

但是这种方法比较耗时耗力,我们可以借助 Linux 上 RPM 工具来完成验证

  • S 表示文件长度发生了变化

  • M 表示文件的访问权限或文件类型发生了变化

  • 5 表示文件的 MD5 校验值发生了变化

  • D 表示设备节点属性发生了变化

  • L 表示文件的符号链接发生了变化

  • U 表示文件子目录下的设备节点的 owner 发生了变化

  • G 表示文件子目录下的设备节点 group 发生了变化

  • T 表示文件最后一次的修改时间发生了变化

一般来讲,如果输出结果中有 'M' 标记出现,那么对应文件可能已经遭受到篡改或替换(注意!不一定是遭受攻击,只是说要你侧重在这些文件上排查) 

不过这个命令有局限性,那就是只能检查通过 RPM 包方式安装的文件;而且如果 RPM 工具遭受攻击,那就不能用这种方法了,这时候你可以从正常的系统上去复制一个 RPM 工具来进行检测

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/39313.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mac如何打开隐藏文件中Redis的配置文件redis.conf

Redis下载(通过⬇️博客下载的Redis默认路径为:/usr/local/etc) Redis下载 1.打开终端进入/usr文件夹 cd /usr 2.打开/local/文件夹 open local 3.找到redis.conf并打开,即可修改配置信息

讯飞星火认知大模型全新升级,全新版本、多模交互—测评结果超预期

写在前面 版本新功能 1 体验介绍 登录注册 申请体验 2 具体使用 2.1 多模态能力 2.1.1 多模理解 2.1.2 视觉问答 2.1.3 多模生成 2.2 代码能力 2.2.1 代码生成 2.2.2 代码解释 2.2.3 代码纠错 2.2.4 单元测试 2.3 插件功能 2.3.1 PPT生成 2.3.2 简历生成 2.3.4 文档问答 3 其他…

Android学习之路(3) 布局

线性布局LinearLayout 前几个小节的例程中,XML文件用到了LinearLayout布局,它的学名为线性布局。顾名思义,线性布局 像是用一根线把它的内部视图串起来,故而内部视图之间的排列顺序是固定的,要么从左到右排列&#xf…

Android之版本号、版本别名、API等级对应关系(全)(一百六十二)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

HTML详解连载(4)

HTML详解连载(4) 专栏链接 [link](http://t.csdn.cn/xF0H3)下面进行专栏介绍 开始喽CSS定义书写位置示例注意 CSS引入方式内部样式表:学习使用 外部演示表:开发使用代码示例行内样式代码示例 选择器作用基础选择器标签选择器举例特…

RISC-V公测平台发布 · 7-zip 测试

简介 7-Zip 是一个开源的压缩和解压缩工具,具有高压缩比和快速解压缩的特点。除了普通的文件压缩和解压缩功能之外,7-Zip 还提供了基准测试功能,通过压缩和解压缩大型文件来评估系统的处理能力和性能。 7-Zip 提供了一种在不同压缩级别和多…

BUUCTF [MRCTF2020]Ezpop解题思路

题目代码 Welcome to index.php <?php //flag is in flag.php //WTF IS THIS? //Learn From https://ctf.ieki.xyz/library/php.html#%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96%E9%AD%94%E6%9C%AF%E6%96%B9%E6%B3%95 //And Crack It! class Modifier {protected $var;publi…

运维监控学习笔记7

Zabbix的安装&#xff1a; 1、基础环境准备&#xff1a; 安装zabbix的yum源&#xff0c;阿里的yum源提供了zabbix3.0。 rpm -ivh http://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm 这个文件就是生成了一个zabbix.repo 2、安…

流程挖掘in汽车丨宝马的流程效能提升实例

汽车行业在未来10年里&#xff0c;可能会面临比过去50年更多的变化。电动化、智能化、共享化和自动驾驶等方面的趋势可能给企业流程带来以下挑战&#xff1a; 供应链管理-电动化和智能化的发展可能导致供应链中的零部件和系统结构发生变化&#xff0c;企业需要重新评估和优化供…

zookeeperAPI操作与写数据原理

要执行API操作需要在idea中创建maven项目 &#xff08;改成自己的阿里仓库&#xff09;导入特定依赖 添加日志文件 上边操作做成后就可以进行一些API的实现了 目录 导入maven依赖&#xff1a; 创建日志文件&#xff1a; 创建API客户端&#xff1a; &#xff08;1&#xff09…

Springboot 实践(5)springboot添加资源访问目录及目录测试

前文讲解了swagger测试服务控制器&#xff0c;实现了数据库数据访问&#xff0c;这些功能都是运行在后台服务器上&#xff0c;实际用户并不能直接调用接口获取数据&#xff0c;即使用户能够利用接口获取到数据&#xff0c;数据也是结构化数据&#xff0c;不能争取转化成用户使用…

基于OFDM+64QAM系统的载波同步matlab仿真,输出误码率,星座图,鉴相器,锁相环频率响应以及NCO等

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 2.1 OFDM原理 2.2 64QAM调制 2.3 载波同步 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.部分核心程序 ............................................…

NestJs 中使用 mongoose

在 NestJS 中链接 MongoDB 有两种方法。一种方法就是使用TypeORM来进行连接&#xff0c;另外一种方法就是使用Mongoose。 此笔记主要是记录使用Mongoose的。所以我们先安装所需的依赖&#xff1a; npm i nestjs/mongoose mongoose安装完成后&#xff0c;需要在AppModule中引入…

SpringBoot后端服务开启Https协议提供访问(使用阿里云资源)

目录 概述 申请/下载证书 部署证书 本地测试访问 服务器部署访问 最后/扩展 总结 概述 本篇博客说明如何将SpringBoot项目开启Https协议提供访问。 博文以步骤【申请/下载证书】&#xff0c;【部署证书】&#xff0c;【本地测试访问】&#xff0c;【服务器部署访问】 &a…

LORA开发板采集温湿度数据,连接PC上位机显示和液晶屏显示

一、准备材料 准备以下板子和器件 Lora开发板x2 USB数据线x2 OLED 屏幕x2 StLink下载器x1 母对母杜邦线x3 DHT11 x2 二、设备连接 如图所示先将OLED 屏幕插入到开发板中 接着按照图中所示的&#xff0c;将串口一以及lora的拨码开关拨到指定方向 接着将USB数据线一端插入到…

(七)Unity VR项目升级至Vision Pro需要做的工作

Vision Pro 概述 定位为混合现实眼镜&#xff0c;对AR支持更友好 无手柄&#xff0c;支持手&#xff08;手势&#xff09;、眼&#xff08;注视&#xff09;、语音交互 支持空间音频&#xff0c;相比立体声、环绕声更有沉浸感和空间感 支持VR/AR应用&#xff0c;支持多种应用模…

FPGA应用学习笔记-----复位电路(二)和小结

不可复位触发器若和可复位触发器混合写的话&#xff0c;不可复位触发器是由可复位触发器馈电的。 不应该出现的复位&#xff0c;因为延时导致了冒险&#xff0c;异步复位存在静态冒险 附加素隐含项&#xff0c;利用数电方法&#xff0c;消除静态冒险 这样多时钟区域还是算异步的…

深度学习实战基础案例——卷积神经网络(CNN)基于SqueezeNet的眼疾识别|第1例

文章目录 前言一、数据准备1.1 数据集介绍1.2 数据集文件结构 二、项目实战2.1 数据标签划分2.2 数据预处理2.3 构建模型2.4 开始训练2.5 结果可视化 三、数据集个体预测 前言 SqueezeNet是一种轻量且高效的CNN模型&#xff0c;它参数比AlexNet少50倍&#xff0c;但模型性能&a…

Linkedin为什么要退出中国市场?

在迅速发展的时代,职场也在不断变换,只有不断地提升专业技能和进行培训,才能在职场中获得成功。Linkedin作为一家专注于职业发展的平台,专业的学习体验以及热门技能赢得了人们青睐。然而遗憾的是这个曾经让人备受青睐的平台,如今却在中国市场中黯然落幕,究竟是何种原因让曾经风…

大数据Flink(六十一):Flink流处理程序流程和项目准备

文章目录 Flink流处理程序流程和项目准备 一、Flink流处理程序的一般流程