前言
一台運作了好久的伺服器CPU使用率達到100%,腦海中第一個想法就是中病毒了,于是開始了我的殺毒之旅。
解決方案
登入伺服器查異常程序
top -c
1
可以發現有個名為xmrig的程序CPU使用率98.7%
kill掉異常程序
經過top指令發現異常程序的pid,通過kill指令殺掉程序
kill -9 15866
1
删除危險檔案或目錄
經過top指令發現異常程序的執行目錄,删除危險目錄
rm -rf c3pool/
1
檢測
可以使用top指令檢視,我這裡使用了shell腳本檢測CPU、磁盤、記憶體使用率
#!/bin/bash
##############################################
#Filename: jiankong.sh
#Description: 監控cpu、磁盤、記憶體使用率
##############################################
logFile=/tmp/jiankong.log
#擷取報警時間
now_time=
date '+%F %T'
#擷取cpu使用率
cpuUsage=
top -b -n5 | fgrep "Cpu(s)" | tail -1 | awk -F'id,' '{split($1, vs, ","); v=vs[length(vs)]; sub(/\s+/, "", v);sub(/\s+/, "", v); printf "%d", 100-v;}'
#統計記憶體使用率
mem_used_persent=
free -m | awk -F '[ :]+' 'NR==2{printf "%d", ($3)/$2*100}'
#擷取磁盤使用率
data_name="/dev/vda1"
diskUsage=
df -h | grep $data_name | awk -F '[ %]+' '{print $5}'
function check(){
echo -e "CPU使用率:${cpuUsage}%\n磁盤使用率:${diskUsage}%\n記憶體使用率:${mem_used_persent}%"
複制
if [[ "$cpuUsage" > 80 ]] || [[ "$diskUsage" > 80 ]] || [[ "$mem_used_persent" > 80 ]];then
複制
echo "報警時間:${now_time}" > $logFile
複制
echo -e "CPU使用率:${cpuUsage}% --> 磁盤使用率:${diskUsage}% --> 記憶體使用率:${mem_used_persent}%" >> $logFile
複制
fi
複制
}
function main(){
check
複制
}
main
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
結果:
root@iZ2zecnyl7dn3k4brxn52uZ ~# sh jiankong.sh
CPU使用率:1%
磁盤使用率:10%
記憶體使用率:49%
1
2
3
4
雲平台監控:
優化建議
現在大部分企業使用者與個人使用者都選擇了雲計算,可以大大降低成本與簡易化。但是雲平台安全防護還是要自己做一些優化的,下面給大家一些建議。
個人使用者的伺服器用密碼登入禁止root使用者登入,設定普通使用者并賦予sudo權限,除了賬号密碼登入之外,還可以選擇密鑰登入。
登入密碼一定要設定複雜一些,推薦一個線上生成密碼工具
企業使用者一般都選擇堡壘機,盡量避免伺服器直接開放公網通路。
安全組政策盡量避免外所有IP開放重要端口,特别是資料庫端口入MySQL:3306、Redis:6379等。