原標題:網盾運維老司機教你看你的服務器的IP是否遭到攻擊

世界辣麼大,攻擊辣麼多,可是我的IP爲什麼不能多?

攻擊花樣太多了,我感覺我的源站IP扛不住攻擊了,難道只能通過接入網盾高防產品嗎?我能否在攻擊發生前就察覺呢?

對此,我特意向網盾運維“老司機”請教了這個問題。

對於你部署的操作系統,並不能因爲數據中心有Linux服務器,或者託管在雲服務器上(比如網盾雲服務器、谷歌雲),就判定它是百分百安全的。Linux只是相對來說較爲安全,黑客們在不斷學習,更新技術,各大平臺受到的攻擊明顯有所增加,而隨着Linux的日漸普及,攻擊也會愈演愈烈。(畢竟語句更直觀)

我要怎麼做?

只要你懷疑你使用的服務器中,有一臺被攻擊了,不要猶豫,不要等待,馬上去檢查。

服務器是否遭到來自某個IP地址的分佈式拒絕服務(DDoS)攻擊,是你首要檢查的。

這種DDoS攻擊類似於一種協同的活動,一個或者多個IP地址不斷的向你服務器發起請求,企圖破壞網站,致使服務器無法正常訪問。

那到底要怎樣判斷Linux服務器是否被攻擊?

需要準備什麼?

準備好你的Linux實例,和有sudo權限的用戶,文章將以Ubuntu Server 20.04爲例。

查看服務器的IP地址

這裏用到的是netstat工具在Internet RFC標準中,Netstat的定義是: 在內核中訪問網絡連接狀態及其相關信息的程序,它能提供TCP連接,TCP和UDP監聽,進程內存管理的相關報告。

Netstat是控制檯命令,能夠監控網絡中的TCP/IP,能夠顯示路由表、實際的網絡連接以及每一個網絡接口設備的狀態信息。Netstat用於顯示與IP、TCP、UDP和ICMP協議相關的統計數據,一般用於檢驗本機各端口的網絡連接情況。

如果實在Ubuntu上安裝netstat,只需要安裝net-tools,:

sudo apt-get install net-tools -y

當然了,netstat也是可以安裝在CentOS或者Red Hat上的。

檢查服務器負載

安裝完成後,再來檢查服務器負載。

一般來說,我們需要檢查邏輯處理器的數量,使用的命令是:

grep processor /proc/cpuinfo | wc -l

在服務器上,這個數值應該是很低的,當然這是由運行的負載決定。要保證服務器上這個數據的基準值(基準值是充當測量值的一個一致認可的基準,在電力系統中,統一全系統相對值的基準,而選定符合電路基本關係和實際同單位的有名值,通常用下標表示。電力系統採用的基準值一般選定爲基準功率和基準電壓。),確保一切可以正常運行。如果覺得情況不對,可以再次運行線程檢查比較。

倘若測試得到的數字高於基準值,很有可能存在問題。

比如在Pop!_OS桌面上,有16個線程,但是在託管Nextcloud的Ubuntu服務器上,只有兩個線程。如果這些數字中的任何一個翻倍,很有可能正在遭受DDoS攻擊。

檢查網絡負載

有很多工具都可以執行此操作。這裏我們以nload爲例。

可以用以下命令來安裝nload:

sudo apt-get install nload -y

CentOS上使用的命令是:

sudo dnf install nload -y

想要運行,只需要輸入以下命令:

nload

在運行的過程中,會看到一個現實正常的入站和出站網絡負載:

如果該負載超過預期,可能就是攻擊。

查明連接服務器的IP地址

需要使用到netstat:

netstat -ntu|awk '{print $5}'|cut -d: -f1 -s|sort|uniq -c|sort -nk1 -r

上述命令將輸出連接到服務器的每個IP地址以及每個IP地址的實例數。如您所見,有兩個IP地址連接到我的服務器。

需要仔細檢查該列表。倘若看到一個IP地址含有大量實例(超過100個),很有可能就是這個地址發起的攻擊。一旦確定,就可以以下命令禁止這個IP地址:

sudo route add ADDRESS reject

其中ADDRESS是可疑對象的IP地址。

這時,最好返回並重新檢查線程、連接的IP地址和網絡負載,查看是否已經緩解了DDoS攻擊。如果成功緩解,就要解決這個IP地址,有必要的話禁止訪問您的網絡。

相關文章