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

哈喽大家好,我是咸鱼

 

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

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

 

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

 

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

 

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

 

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

 

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

 

常见思路

  • 切断网络

常见的攻击来自网络

 

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

 

  • 查找攻击源

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

 

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

 

  • 分析入侵途径和原因

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

 

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

 

  • 备份重要数据

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

 

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

 

  • 重装系统

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

 

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

 

处理过程

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

 

  • 检查可疑用户

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

 

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

 

首先查看可疑用户,执行 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 工具来进行检测

原文链接:https://www.cnblogs.com/edisonfish/p/17346968.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:服务器遭受攻击之后的常见思路 - Python技术站

(0)
上一篇 2023年4月22日
下一篇 2023年4月23日

相关文章

  • Linux系统扩容根目录磁盘空间的操作方法

    下面我将给您详细讲解Linux系统扩容根目录磁盘空间的操作方法的完整攻略,该攻略包含如下几个步骤: 查看磁盘使用情况 检查并卸载磁盘分区 扩展磁盘分区 重新挂载磁盘分区 验证扩容是否成功 接下来我将详细讲解每个步骤所需执行的命令及示例。 1. 查看磁盘使用情况 首先需要了解当前磁盘使用情况,执行以下命令: df -h 该命令将会列出当前磁盘使用情况的详细信息…

    Linux 2023年5月24日
    00
  • Linux下MySQL多实例部署及安装指南

    下面就让我详细讲解“Linux下MySQL多实例部署及安装指南”。 一、前言 如果您需要在一台Linux服务器上同时运行多个MySQL实例,您可以通过以下步骤实现多实例部署。多实例可以提高服务器的利用率,降低运维成本。 二、安装MySQL 在开始之前,您需要先安装MySQL。可通过以下命令在CentOS 7上安装MySQL5.7版本的二进制rpm包: $ w…

    Linux 2023年5月14日
    00
  • linux服务器系统CentOS、uBuntu、Gentoo、FreeBSD、Debian的比较

    比较五种linux服务器系统 CentOS CentOS(Community Enterprise Operating System),是由Red Hat公司出品的RHEL(Red Hat Enterprise Linux)源代码所编译而成,是一种自由社区企业操作系统。CentOS有很多特征,例如: 稳定性、可靠性、安全性以及广泛的软件支持。 uBuntu …

    Linux 2023年5月14日
    00
  • Linux mpstat命令

    Linux mpstat命令的作用与使用方法 Linux mpstat命令用于监控系统的 CPU 使用情况,可以实时显示每个 CPU 的使用率、上下文切换次数、中断次数等信息。它可以帮助了解系统中 CPU 的使用情况,及时发现问题并进行优化。 Linux mpstat命令的使用方法 mpstat命令的基本语法如下: mpstat [选项] [时间间隔] [次…

    Linux 2023年5月10日
    00
  • Linux lp命令

    Linux lp命令 lp命令是Linux中常用的打印命令,可以通过该命令将文本或者图片等文件发送给打印机进行打印操作。 命令语法格式 lp [options] [filename] 常用参数 -d: 指定打印机名称。 -n: 指定打印的份数。 -o: 设置打印机选项,如双面打印、纸张大小等。 -q: 将文件添加到打印队列,可以指定队列优先级。 -u: 指定…

    Linux 2023年3月28日
    00
  • [Linux系列] 在线客服系统代码脚本-getconf LONG_BIT获取当前系统的位数

    当开发客服系统安装脚本的时候,需要在shell脚本里面判断当前系统是多少位 32位的系统不支持 可以使用这个命令 getconf LONG_BIT   32位系统下     64位系统下  

    Linux 2023年4月13日
    00
  • 部署prometheus、grafana、alertmanager

    简介:由于资源有限,本实验用了两台机器 监控端:部署prometheus、grafana、alertmanager 被监控端:node_exporter、mysqld_exporter 一. 部署promethus 1. 下载 https://prometheus.io/download/ 2. 解压 ​ mkdir -p /data/prometheus …

    Linux 2023年4月19日
    00
  • linux crontab 简述

    os: ubuntu 16.04 linux crontab 在实际工作中大量使用,这里简单记录下。 cron 在安装os都是默认安装的,如果发现没有安装,可以 apt 安装,对于 redhat 分支可以使用 yum 安装。 # ps -ef|grep cron root 929 1 0 10:15 ? 00:00:00 /usr/sbin/cron -f …

    Linux 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部