伺服器遭受攻擊之後的常見思路

来源:https://www.cnblogs.com/edisonfish/archive/2023/04/23/17346968.html
-Advertisement-
Play Games

哈嘍大家好,我是鹹魚 不知道大家有沒有看過這麼一部電影: 這部電影講述了男主是一個電腦極客,在電腦方面有著不可思議的天賦,男主所在的黑客組織憑藉著超高的黑客技術去入侵各種國家機構的系統,並引起了德國秘密警察組織、歐洲刑警組織的重視 剛開始看的時候以為是一部講述黑客的電影,到後面才發現其實是講“社會 ...


哈嘍大家好,我是鹹魚

 

不知道大家有沒有看過這麼一部電影:

 

這部電影講述了男主是一個電腦極客,在電腦方面有著不可思議的天賦,男主所在的黑客組織憑藉著超高的黑客技術去入侵各種國家機構的系統,並引起了德國秘密警察組織、歐洲刑警組織的重視

 

剛開始看的時候以為是一部講述黑客的電影,到後面才發現其實是講“社會工程學”

 

好了開始今天的正題——跟大家聊聊伺服器安全相關的問題

 

我們需要知道,安全總是相對的,再安全的伺服器也有可能遭受到攻擊,所以我們需要儘量地做好系統安全防護、及時修複一些已知的漏洞;當伺服器收到攻擊的時候能夠迅速有效地處理攻擊行為,最大限度地降低攻擊對系統產生的影響

 

伺服器遭受攻擊不是最可怕的,最可怕的是面對攻擊時自己束手無策無從下手,今天鹹魚就來介紹一下伺服器遭受攻擊之後我們需要做些什麼,讓大家在遇到這種情況的時候能有個大概參考

 

常見思路

  • 切斷網路

常見的攻擊來自網路

 

對於一些對外提供服務的伺服器,在得知系統遭受到黑客的攻擊之後,首先要做的就是斷開伺服器的網路連接,這樣除了能切斷攻擊源之外,也能夠保護伺服器所在網路的其他主機不受攻擊

 

  • 查找攻擊源

首先我們可以分析系統日誌或者登錄日誌文件,去查看可疑信息

 

其次查看系統開啟了哪些埠,運行了哪些進程(服務),在這個過程中去分析一下哪些是可疑的進程(系統平時運行什麼進程心裡多多少少都會有個大概)

 

  • 分析入侵途徑和原因

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

 

所以我們需要查清楚是哪個原因導致的,並且還要查清楚攻擊的途徑,找到攻擊源

 

  • 備份重要數據

在系統遭受攻擊之後,需要立即備份伺服器上的重要數據(例如用戶數據),同時也要查看這些數據中是否隱藏著攻擊源

 

如果攻擊源在數據中,一定要徹底刪除然後將數據備份到一個安全的地方

 

  • 重裝系統

不要抱有自己能夠徹底清除攻擊源的幻想,因為沒有人能比黑客更瞭解攻擊程式

 

在伺服器遭受到攻擊後,最安全也最簡單的方法就是重裝系統,因為大部分攻擊程式都會依附在系統文件或者內核中

 

處理過程

下麵鹹魚將跟大家分享一些關於伺服器遭受攻擊後的常見處理流程

 

  • 檢查可疑用戶

在發現伺服器遭受到攻擊之後,首先要切斷網路連接,但是有些情況下(無法馬上切斷網路連接),就必須上系統查看是否有可疑用戶在登錄

 

如果發現有可疑用戶登錄了系統,首先要將這個用戶鎖定,然後中斷可疑用戶的遠程連接

 

首先查看可疑用戶,執行 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 工具來進行檢測


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在B站自學Python 站主:Python_子木 授課:楊淑娟 平臺: 馬士兵教育 python: 3.9.9 #python打包exe文件 #安裝PyInstaller pip install PyInstaller #-F打包exe文件,stusystem\stusystem.py到py的路徑, ...
  • 1.更改代理(方便步驟3) 方法一: go env -w GOPROXY="https://goproxy.cn" 方法二:(非永久性,該方法對我有效) $env:GOPROXY="https://goproxy.cn" 註: http://mirrors.aliyun.com/goproxy/ 阿 ...
  • 圖像梯度圖像梯度計算的是圖像變化的速度 對於圖像的邊緣部分,其灰度值變化較大,梯度值也較大相反,對於圖像中比較平滑的部分,其灰度值變化較小,相應的梯度值也較小。圖像梯度計算需要求導數,但是圖像梯度一般通過計算像素值的差來得到梯度的近似值(近似導數值)。(差分,離散) Sobel運算元 1 #Sobel ...
  • 模式匹配 模式 模式是Rust中的一種特殊語法,用於匹配複雜和簡單類型的結構 將模式與匹配表達式和其他構造結合使用,可以更好地控製程序的控制流 模式由以下元素(的一些組合)組成: 字面值 解構的數組、enum、struct 和 tuple 變數 通配符 占位符 想要使用模式,需要將其與某個值進行比較 ...
  • 頂級語句 將類和類裡面Main函數省略,只留下核心的邏輯代碼就是頂級語句! 1.頂級語句1 await System.Threading.Tasks.Task.Delay(1000); System.Console.WriteLine("Hi!"); return 0; static class $ ...
  • Fast Framework 作者 Mr-zhong 代碼改變世界.... 一、前言 Fast Framework 基於NET6.0 封裝的輕量級 ORM 框架 支持多種資料庫 SqlServer Oracle MySql PostgreSql Sqlite 優點: 體積小、可動態切換不同實現類庫、 ...
  • 飛騰愛好者技術交流群碼公眾號“烏拉大喵喵” 本文已錄製講解視頻發佈到B站,可以搜索UP主“烏拉大喵喵” 或者掃二維碼進入B站專輯進行查看: 一、啥是自主可控 國產CPU現在廠家細算起來其實有很多,現在華為、小米也在做自己的CPU,瑞芯微、全志等的SoC現在也是廣泛應用。但是真正能叫做自主可控的CPU ...
  • 一款輕量級、高性能、功能強大的內網穿透代理伺服器。支持tcp、udp、socks5、http等幾乎所有流量轉發,並帶有功能強大的web管理端。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...