碼云地址
sshdTwoVerification
介紹
ssh登錄二次驗證
問題:現在很多人的Linux服務器可能會被攻擊,只校驗一次后臺用戶名密碼登錄變得不再保險,
當然大家首先要做的是修改ssh服務埠,不要用默認22,這樣會增加攻擊難度,但還是不保險,
方案1:使用ssh密鑰檔案登錄,好處就是拿不到密鑰檔案休想登錄成功,而且還能對密鑰檔案再次添加密碼,
這樣的方案確實比較保險,但也有弊端,就是需要將密鑰檔案存到網盤或別的地方,不然找不到密鑰檔案就GG了,
方案2:隆重推出本專案的方案,替換登錄時使用的bash,讓替換后的程式再次以自定義的方案驗證一次,
這樣就做到了登錄的二次驗證,無疑增加了安全性,注意此時服務器已經不能使用scp等一些工具,安全性極大的提高,
安裝教程,janbar.sh
- echo ‘/bin/janbar’ >> /etc/shells ,確保/etc/shells里面有一行/bin/janbar即可
- cp janbar.sh /bin/janbar && chmod 777 /bin/janbar
- echo ‘admin:passwd’ > /etc/janbar
- vim /etc/passwd , 將[root?0:0:root:/root:/bin/bash]改為[root?0:0:root:/root:/bin/janbar]
- 重新登錄后臺,需要輸入/etc/janbar這個檔案中的用戶名和密碼
- 執行ps auxf,可以看到成功進入后臺相關行程樹
安裝教程,janbar.c
- echo ‘/bin/janbar’ >> /etc/shells ,確保/etc/shells里面有一行/bin/janbar即可
- gcc -s janbar.c -o /bin/janbar && chmod 777 /bin/janbar
- echo ‘admin:passwd’ > /etc/janbar
- vim /etc/passwd , 將[root?0:0:root:/root:/bin/bash]改為[root?0:0:root:/root:/bin/janbar]
- 重新登錄后臺,需要輸入/etc/janbar這個檔案中的用戶名和密碼,登錄圖片和janbar.sh的類似,
- 執行ps auxf,可以看到成功進入后臺相關行程樹
結語
- 我的兩種方案都有對輸入做超時檢測,如果超過時間沒有輸入后臺也會自動退出,同樣輸入錯誤3次也會自動退出,
- 有些小伙伴后臺不是root登錄,可以找/etc/passwd里面對應用戶名那行做同樣的修改即可,
- 之所以我要做2中方案,是因為janbar.sh方便修改,而janbar.c逼格滿滿,
- 有興趣可自定義驗證方式,我就看到過用手機掃描控制臺二維碼,輸入二維碼內容的完成驗證,逼格更加滿滿,
- 需要注意的一點,這樣的后臺是無法使用scp、sftp等直接連接,除非這些工具也能完成二次驗證,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/174375.html
標籤:C
