在公網中每時每刻都有人通過密碼字典暴力破解試圖登陸妳的服務器,不信請看該日誌文件大小du -sh `ls /var/log | grep btmp,該文件存儲了ssh失敗登陸的記錄。文件越大/增長越快,說明妳的服務器處於被別人暴力破解的危險中!為了避免這種危險,必須做好兩點:
1. 修改SSH默認端口,
2. 使用強口令密碼,不想看胡扯的請直接跳到後面。
整個網絡空間中其實存在著很多弱口令服務器,假設弱口令服務器的用戶名都為root、密碼都為123456、SSH登陸端口都為默認的22。我有壹臺服務器在不停的用密碼字典登陸這些弱口令機器,成功登陸的機器作為肉雞(傀儡)繼續登陸別的機器,假設壹臺服務器以2臺/天的速度進行登陸,那麽第壹天我就有三臺機器(包括自己的那臺),第二天就是6+3=3^2=9臺,第三天就是18+9=3^3=27臺,第N天就是3^N臺。
看到沒有,肉雞/傀儡服務器是以指數級別在增加的!
為什麽有人不停登陸別人的機器,獲得肉雞?如果我手上有來自全世界的肉雞,並且數量很多,那玩兒法可就多了:
看不慣哪個網站?操縱這些傀儡機器不停的請求該網站,讓別人沒法用,服務癱瘓,這就是傳說中的DDoS攻擊(分布式拒絕服務攻擊)。
想賺點小錢,偷偷挖礦是妳不二的選擇,這麽多肉雞,雖然每壹臺計算能力不怎麽樣,但是聯合起來也不容小。這種肉雞俗稱挖掘雞(笑
肉雞做代理?這個話題我就不深說了,大陸敏感話題… …
窺探肉雞主人數據… 滿足窺探欲
這麽多肉雞代表妳有這麽多IP,有大量IP能幹什麽?這又是另外壹個龐大的話題了… …
壹、基礎知識
/var/log/wtmp用於記錄登錄成功的用戶的信息,是壹個二進制文件,只能通過 last命令來查看
查看嘗試惡意登陸的前十個IP:
查看惡意IP嘗試登陸次數:
當然,如果妳要清理這個日誌,刪除在創建之
/var/log/btmp用於記錄登錄失敗的用戶的信息,是壹個二進制文件,只能通過 lastb命令來查看
/var/log/lastlog用於記錄用戶的 歷史 登錄情況,是壹個二進制文件,只能通過 lastlog命令來查看
/var/run/utmp用於記錄當前登錄的用戶的信息,是壹個二進制文件,只能通過 who命令來查看
二、修改SSH默認端口
環境:CentOS 7
步驟:新增SSH端口–>>重啟sshd服務–>>添加防火墻規則–>>嘗試新端口登陸–>>關閉原先的22端口
1、新增SSH端口(列:1000)
vi /etc/ssh/sshd_config
# 找到Port 22這行,將前面的註釋去掉,再加壹行Port 1000,如下,這樣做的目的是防止新端口登陸不上,老端口也不能用!
2、重啟sshd服務
如果是CentOS 7使用systemctl restart sshd,查看端口是否生效可以用systemctl status sshd
如果是CentOS 7以前的系統,使用/etc/init.d/sshd restart或者service sshd restart
重啟以後可以本地測試壹下端口通沒通,telnet 127.0.0.1 1000
3、添加防火墻規則
如果是iptables防火墻,執行下面命令添加規則
# iptables配置文件位置/etc/sysconfig/iptables
# 添加1000端口規則
# 保存規則
# 重啟服務
如果防火墻是Firewall,參照下面步驟:
# 首先檢測防火墻是否已經啟用,啟用返回值runing,反之,為not running
#若沒有啟用,需要啟用
# 若已經啟用,則進行下壹步
# 查看防火墻的默認、活躍區域(zones)
#看兩條命令的返回值是否含有public,有則為正確。
# 端口永久開放
# 為了防止出錯,22端口壹同開放
# 與臨時開放的區別在於多了permanent
# 防火墻重載
# 查看已暴露端口
4、嘗試新端口登陸
嘗試用1000端口進行登陸,看是否成功!
5、關閉原先的22端口
參考上面的操作,首先在ssh的配置文件去掉22端口,重啟sshd服務,然後在防火墻配置裏面去除22端口,重啟防火墻!這裏不再贅述。
6、修改弱口令為強口令
# 輸入修改密碼命令
#此時系統提示
# 輸入兩次密碼並回車,註意輸入密碼時不會顯示的
7、推薦:
shell隨機密碼生成函數:
# 生成隨機密碼 ($1 位數)
8、擴展
雖然上面修改端口和口令能夠大大提升安全性,但是在某些情況下不能修改端口或口令,此時可以推薦 DenyHosts或者fail2ban,它可以禁止大量嘗試登陸的IP。或者可以用最簡單的辦法,查看嘗試惡意登陸的前十個IP然後用防火墻禁止它,這裏只提供思路。