經過適當設置后,通過SSH服務,你可以安全地從遠程訪問服務器,你也許并不喜歡總是在自己的機器上運行著SSH服務器。保衛后門(SBD)這種技術能夠建立通向系統的加密連接,這樣你就可以遠程執行任何操作系統的命令,比如啟動SSH或者Web服務器或者重啟服務器。
SBD可以監聽任何你想監聽的端口。如果你不特別指定某個窗口,那么它就會默認地監聽31415端口。該應用的傳輸協議是SBD,該協議是基于一次一密的亂數本密鑰以及按鍵哈什表信息校驗碼(HMAC)技術的。
客戶端和服務器端應當擁有相同的密鑰,用戶才可以接受遠程命令。這些密鑰就是兩份帶有隨機生成的字符的身份識別文件,該密鑰只能在首次連接的時候創建的,人們必需要謹慎使用并保持它的神秘氣息。
安裝和使用
SBD最新的穩定版本是0.5版,是在2005年2月發布的全功能版。下載源代碼包,將其解壓縮到/usr/local,并編譯如下的二進制文件:
|
你得用C++編譯器以及上述的開發庫才能順利編譯這些二進制代碼。你可以參考壓縮文件夾中的Readme文件來了解更多關于如何編譯SBD和使用方法的說明。
為了讓客戶能夠成功在服務器上執行遠程命令,你需要創建兩個身份文件——即客戶用的enckey.bits,和服務器用的deckey.bits。你可以在空白文件中輸入隨機選擇的字符,并把它保存成enckey.bits。把該文件復制到deckey.bits就行了。該文件沒有字數限制,你用越多字符越好。
目錄中還有另一個服務器用的隨機字符文件叫做athkey.bits,它是用來識別最基本的客戶端IP偽裝的。文件中的字符只是測試用的,你需要用自己隨機生稱得字符來創建自己的文件,跟創建enckey.bits和deckey.bits一樣。
一旦服務器都設定好了,接著就應該把SBD客戶端的二進制文件和enckey.bits文件安裝或者復制到客戶機上。你可以在客戶機上運行早已編譯過的SBD二進制文件,或者如果這樣做行不通的話,你還可以在客戶端上建立二進制文件。
你現在可以測試SBD服務器。為了在12345端口啟動SBD服務器,可以運行./sbdd 12345。
要想從遠程客戶端啟動SSH服務器,就運行如下命令行:
|
用服務器的真實地址替代server.IP.address項。如果每項都沒有問題的話,那么客戶機就會顯示如下信息:
|
這條秘密信息就是你能從SBD得到的唯一的成功標志,如果你要確定SSH服務已經在服務器上啟動了,可以檢查/var/log/syslog。
如果你的客戶端和服務器上沒有身份安全密碼,你就會看到如下的錯誤提示:
|
如果你的SBD服務器并沒有運行或者你正在從錯誤的端口訪問,你就會收到如下的錯誤提示:
|
使用SBD,你可以遠程執行任何命令,就像你真正登陸到SBD服務器上一樣。例如,比起SSH,使用SBD的話,你就不會總是有易受攻擊的服務暴露到網上。最好的操作方法就是只有在真正需要的時候才運行那些你很少用的服務。SBD讓你少為系統安全操心。
=============================================
參考文章:Anže Vidmar《A keyhole for your system's back door》