標籤:linux伺服器淪陷為它人傳送簡訊的工具
linux伺服器淪陷為它人傳送簡訊工具的原因:
今天上班產品經理說:公司的簡訊驗證碼剩餘使用量為0650) this.width=650;" src="http://img.baidu.com/hi/jx2/j_0062.gif" alt="j_0062.gif" />,頭一天我進行檢查的時候還剩1萬多條。震驚!震驚!震驚!
尋找過程:
一:於是查看與我們第三方簡訊電訊廠商進行溝通,查看相應的情況,具體
650) this.width=650;" title="簡訊.png" src="https://s5.51cto.com/wyfs02/M00/93/F4/wKiom1kLIU_ANsKyAAAbergow4o428.png-wh_500x0-wm_3-wmp_4-s_1665552974.png" alt="wKiom1kLIU_ANsKyAAAbergow4o428.png-wh_50" />
當時的簡訊條數已經為0,我們繼續查看下一條:
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/93/F8/wKioL1kLIuPjXftkAACkYkSRlhw889.png-wh_500x0-wm_3-wmp_4-s_2635822920.png" title="發送狀態.png" alt="wKioL1kLIuPjXftkAACkYkSRlhw889.png-wh_50" />
這個已經可以簡單的發現問題了:
1.號碼為空白,發送狀態為空白。可能存在人為的繞過代碼中的驗證
2.發送時間(日期)是接連不斷的發送。代表著代碼中的驗證10s,30s,60s這些驗證被人為的跳過了。
3.簡訊電訊廠商沒有對號碼進行過濾,審查。只要我們進行提交,簡訊電訊廠商就進行發送,發送了就收費。
二:查看2017.05.04 00:00後端日誌的情況,具體
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M02/93/FE/wKiom1kLJPXBTcAKAABKVkbfk88799.png-wh_500x0-wm_3-wmp_4-s_1129271915.png" title="記錄檔.png" alt="wKiom1kLJPXBTcAKAABKVkbfk88799.png-wh_50" />
基本上日誌上的內容都是這樣的情況。遇到此種問題需要與開發進行溝通,協助開發解決此事。
這個日誌是後端的日誌,我們還有前端的一個訪問日誌,大概都是從registerGetPhoneCode當中訪問來的。我們來通過grep和awk查看一下、命令如下:
cat www.log|grep registerGetPhoneCode|awk ‘{print $1}‘ |sort|uniq -c |sort -nr |head -n 40
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/93/FF/wKioL1kLKE3ySmKRAABnYPWgj3g086.png-wh_500x0-wm_3-wmp_4-s_118062282.png" title="nginx日誌.png" alt="wKioL1kLKE3ySmKRAABnYPWgj3g086.png-wh_50" />
命令詳解:查看記錄檔,首先使用grep對registerGetPhoneCode進行過濾,再通過awk倒序排序,去重,只顯示行數之後取檔案的第一列進行輸出(被我馬賽克是IP,想了想還是不暴露為好)。
很顯然,由此可以看見在淩晨時它人對伺服器別有用心。
三:解決辦法:
1.將這些IP全部添加到防火牆中。。。
可使用shell指令碼添加到防火牆中,可以挨個IP進行手動敲入。。。
2. 此處開發傳來訊息,代碼中:前端‘代碼沒有對手機號進行過濾,導致可以隨意拼接參數’。找到後端的發送網址,進行傳送簡訊。
緊急開發代碼,對手機號進行限制。增加相應的圖形驗證碼。
開發也在加班加點的解決此事。。。
總結:
1.事情大概是5.4淩晨發生的,從淩晨到上班這段時間我們都沒有發出警示,及時的通知相關人員,因此我們需要建立監控和警示體系。現在的開源監控架構不少,例如zabbix。
2.代碼品質需要提升,公用方法需要寫入相關說明文檔。
3.建立相關安全性群組,減少暴露公網的連接埠。
本文出自 “程小白” 部落格,謝絕轉載!
linux伺服器淪陷為它人傳送簡訊的工具