網絡上的計算機很容易被黑客利用工具或其它手段進行掃描,以尋找系統中的漏洞,然後再針對漏洞進行攻擊。
通過偽裝Linux系統,給黑客設置系統假象,可以加大黑客對系統的分析難度,引誘他們步入歧途,從而進一步提高計算機系統的安全性。下面以Red Hat Linux為例,針對幾種黑客常用的途徑介紹一些常用的Linux系統偽裝的方法。
針對HTTP服務
通過分析Web服務器的類型,大致可以推測出操作系統的類型,比如,Windows使用IIS來提供HTTP服務,而Linux中最常見的是Apache。
默認的Apache配置裡沒有任何信息保護機制,並且允許目錄浏覽。通過目錄浏覽,通常可以獲得類似“Apache/1.3.27 Server at apache.linuxforum.net Port 80”或“Apache/2.0.49 (Unix) PHP/4.3.8”的信息。
通過修改配置文件中的ServerTokens參數,可以將Apache的相關信息隱藏起來。但是,Red Hat Linux運行的Apache是編譯好的程序,提示信息被編譯在程序裡,要隱藏這些信息需要修改Apache的源代碼,然後,重新編譯安裝程序,以實現替換裡面的提示內容。
以Apache 2.0.50為例,編輯ap_release.h文件,修改“#define AP_SERVER_BASEPRODUCT \\"Apache\\"”為“#define AP_SERVER_BASEPRODUCT \\"Microsoft-IIS/5.0\\"”。編輯os/unix/os.h文件,修改“#define PLATFORM \\"Unix\\"”為“#define PLATFORM \\"Win32\\"”。修改完畢後,重新編譯、安裝Apache。
Apache安裝完成後,修改httpd.conf配置文件,將“ServerTokens Full”改為“ServerTokens Prod”;將“ServerSignature On”改為“ServerSignature Off”,然後存盤退出。重新啟動Apache後,用工具進行掃描,發現提示信息中已經顯示操作系統為Windows。
針對FTP服務
通過FTP服務,也可以推測操作系統的類型,比如,Windows下的FTP服務多是Serv-U,而Linux下常用vsftpd、proftpd和pureftpd等軟件。
以proftpd為例,修改配置文件proftpd.conf,添加如下內容:
ServerIdent on \\"Serv-U FTP Server v5.0 for WinSock ready...\\"
存盤退出後,重新啟動proftpd服務,登錄到修改了提示信息的FTP服務器進行測試:
C:\\>ftp 192.168.0.1
Connected to 192.168.0.1.
220 Serv-U FTP Server v5.0 for WinSock ready...
User (192.168.0.1:(none)):
331 Password required for (none).
Password:
530 Login incorrect.
Login failed.
ftp > quit
221 Goodbye.
這樣從表面上看,服務器就是一個運行著Serv-U的Windows了。
針對TTL返回值
可以用ping命令去探測一個主機,根據TTL基數可以推測操作系統的類型。對於一個沒有經過任何網關和路由的網絡,直接ping對方系統得到的TTL值,被叫做“TTL基數”。網絡中,數據包每經過一個路由器,TTL就會減1,當TTL為0時,這個數據包就會被丟棄