最近在使用騰訊雲服務器的過程中,被比特幣黑客黑了一次服務器(如下圖所示)。

圖1 比特幣勒索信息
繼而認識到網絡安全的重要性。在重新安裝系統之后,發現仍然有不明IP通過22端口嘗試以ssh用戶名密碼的方式登錄服務器(圖2),並且有不明IP通過3306端口嘗試訪問mysql(圖3)。

圖2 通過ssh登錄后的提示信息

圖3 mysql日志記錄
經過查找資料,發現這是一種常見的網絡攻擊,基本思路為:
1.通過ssh的默認端口22以root賬戶登錄,不斷地嘗試密碼直至登錄成功;
2.mysql也是一樣。
目前采取的措施為:
1.配置騰訊雲安全組:只允許我需要的IP入站22端口和3306端口
2.配置防火牆:(后續補充,記錄在另一篇博客中)
在網上看到的資料中,有如下方法:
1.修改ssh默認登錄端口22和mysql默認端口3306為其他不常用端口,如34392等;
2.編寫腳本監測/var/log/secure文件(該文件是linux系統的登錄日志),如果有登錄失敗的IP,則將該IP添加至/etc/hosts.deny文件(該文件是tcpd服務器的配置文件,tcpd服務器可以控制外部IP對本機服務的訪問。tcpd的配置文件有兩個:hosts.allow和hosts.deny,通過它們可以允許或者拒絕某個ip或者ip段的客戶訪問linux的某項服務。具體可參考:http://purpen.iteye.com/blog/1135342)
(參考:http://www.cnblogs.com/lizhaoxian/p/4860913.html)
3.使用fail2ban(fail2ban是 Linux 上的一個著名的入侵保護的開源框架,它會監控多個系統的日志文件(例如:/var/log/auth.log 或者 /var/log/secure)並根據檢測到的任何可疑的行為自動觸發不同的防御動作。)(參考:https://linux.cn/article-5067-1.html)
暫時安全組和防火牆策略已經滿足了我的需求,保證服務器不被其他IP暴力訪問。以后有時間會嘗試使用fail2ban。
