有效而合理的策略 UNIX網絡安全性之我見
金融系統的業務系統大部分以UNIX/XENIX操作系統為平臺,以TCP/IP為網絡平臺。如何加強UNIX網絡系統的安全性管理,筆者以SCO UNIX 3.2V4.2為例,提幾點看法,與廣大同仁商榷。
這里所說的安全性,主要指通過防止本機或本網被非法侵入、訪問,從而達到保護本系統信息可靠、正常運行,本文只在此范圍內討論,對其他方面不予考慮。
一、抓好網內主機的管理,是網絡安全管理的前提
用戶和密碼管理永遠是系統安全管理最重要的環節之一,對網絡的任何攻擊,都不可能沒有合法的用戶和密碼(后臺網絡應用程序開后門例外)。但目前絕大部分系統管理員只注重對特權用戶的管理,而忽視對普通用戶的管理。主要表現在設置用戶時圖省事方便,胡亂設置用戶的權限(ID),組別(GROUP)和文件權限,為非法用戶竊取信息和破壞系統留下空隙。
金融系統UNIX的用戶都是最終用戶,他們只需在具體應用系統中工作,完成某些固定的任務,一般情況下不需執行系統(SHELL)命令。
用戶正常登錄后,如果按下中斷鍵delete,關掉終端電源,或同時鍵入“Ctrl""\",那么用戶將進入SHELL(命令)狀態。例如,用戶可在自己的目錄下不斷創建子目錄而耗盡系統的Ⅰ節點號,或用yes>aa創建一個巨大無比的垃圾文件而耗盡硬盤空間等都可能導致系統的崩潰、癱瘓;如果文件系統的權限設置不嚴密,就可運行、窺視甚至修改文件系統的權限;還可通過su等命令竊取更高的權限;還可登錄到其它主機上去搗亂……令你防不勝防,危險性可想而知。這一切問題都與用戶設置有關。所以盡量不要把用戶設置成上述形式,如果必須這樣,可根據實際需要,看看能否把用戶的sh變成受限sh,如rsh等,變成如下形式:
dzhd:x:200:50::/usr/dzhd/obj:/bin/rsh
或如下形式:
dzhd:x:200:50::/usr/dzhd:./main
在main(.profile)首部增加如下一行:
tarp''0 1 2 3 5 15
那么上述一切問題都可以避免。
此外,定期檢查/etc/passwd文件,看看是否具有來歷不明的用戶和用戶的權限;定期修改用戶密碼,特別是uucp、bin等不常用的用戶密碼,以防有人在此開個活動的天窗——一個可自由進出的用戶窗口;刪除所有睡眠用戶等。
所以筆者認為,合理設置用戶是主機管理的關鍵。
二、設置好自己的網絡環境,是阻止非法訪問的有效途徑
網上訪問的常用工具有telnet、ftp、rlogin、rcp、rcmd等網絡操作命令,必須加以限制。最簡單的方法是修改/etc/services中相應的服務端口號。但這樣做會使網外的一切訪問都被拒絕,即使合法訪問。筆者不提倡這種閉關自守的做法,因為這樣使本網和網外不兼容,也會給自己帶來不便。通過對UNIX系統的分析,筆者認為有可能做到有條件限制(允許)網上訪問。
1)建立/etc/ftpuser文件:不受歡迎的ftp用戶表。配置如下:
#用戶名
dgxt
dzhd
...
以上都是本機內的一些用戶。入侵者即使通過以上用戶名和ftp訪問本網都會被拒之門外。與之相關的命令是ftp。
2)保密.netre: 遠程注冊數據文件。包含注冊到網絡上由ftp作文件轉移的遠程主機的數據。通常駐留在用戶當前目錄中,文件權限必須為0600。
3)創建匿名ftp:所謂匿名ftp,其他主機的用戶都能以ftp或anyones用戶進行數據收發,而不要任何密碼。
4)限制.rhosts用戶等價文件,又叫受托用戶文件,與之有關命令有rlogin、rcp、rcmd等。
所謂用戶等價,就是用戶不用輸入密碼,以相同的用戶信息登錄到另一臺主機中。用戶等價的文件名為.rhosts,存放在根下或用戶主目錄下。
5)限制hosts.equiv主機等價文件,又叫受托主機文件。有關的命令為rlogin、rcp、rcmd等。主機等價類似于用戶等價,在兩臺計算機除根目錄外的所有區域有效,主機等價文件為hosts.equiv,存放在/etc下。
控制方法如下:
當遠程使用ftp訪問本系統時,UNIX系統首先驗證用戶名和密碼,無誤后查看ftpusers文件,一旦其中包含登錄所有用戶名則自動拒絕連接,從而達到限制作用。因此,只要把本機內除匿名ftp以外的所有用戶列入ftpusers文件中,即使入侵者獲得本機內正確的用戶信息,本機的大門也無法打開。如需對外發布的信息,放到/usr/ftp/pub下,讓遠方通過匿名ftp獲取。使用匿名ftp,不需密碼,不會對本機系統的安全構成威脅,因為它無法改變目錄,也就無法獲得本機內的其他信息。使用.netrc配置,需注意保密,防止泄露其他相關主機的信息。
使用戶等價和主機等價這類訪問由于用戶不用口令而像其他有效用戶一樣登錄到遠程系統,因此具有嚴重的不安全性,必須嚴格控制或在非常可靠的環境下使用。遠程用戶可使用rlogin直接登錄而不需密碼,還可使用rcp命令向或從本地主機復制文件,也可使用rcmd遠程執行本機內的命令等。當用戶需頻繁登錄到另一系統,可有效地增加登錄速度,減少運行在遠程系統的進程數量,防止網上竊聽等。
UNIX系統沒有直接提供對telnet的控制。但/ctc/profile是系統默認SHELL變量文件,所有用戶登錄時必須首先執行它。如果在該文件首部增加幾條SHELL命令,非法用戶即使獲得了合法的用戶名和密碼,也無法遠程使用。系統管理員定時閱讀日記文件,注意控制臺信息,就能獲得被非法訪問的情況,及時采取措施。如果用C語言實現上述過程,把接受密碼變成不可顯示,效果更佳。
三、注意對重要資料的保密
主要包括hosts表、X.25地址、路由、連接Modem的電話號碼及所用的通信軟件的種類、網內的用戶名等,這些資料都應采取一些保密措施,防止隨意擴散。如可向電信部門申請,通信專用的電話號碼不刊登,不供查詢等。由于公共的或普通郵電交換設備的介入,信息通過這些設備后可能被篡改或泄露。
設置合理的路由,可有效防止信息的泄露。
四、注意對重要網絡設備的管理
路由器在網絡安全計劃中是很重要的一環。現在大多數路由器已具備防火墻的一些功能。如禁止telnet的訪問,禁止非法的網段訪問等。來自網絡路由器正確的存取過濾是限制外部訪問簡單而有效的手段。
有條件的地方還可設置網關,將本網和他網隔離,網關上不存放任何業務數據,刪除除了系統正常運行所必須的用戶以外的用戶,也能增強網絡的安全性。
總之,只要從現在做起,培養網絡的安全意識,并注意經驗的積累和學習,完全可能保證信息系統的安全正常運行。
【編輯推薦】