由於SCO UNIX的缺陷,加上信合營業網點分散等因素,留下了遠程終端,包括DDN專線和MODEM的撥號端口及對外服務終端無法特別監管的隱患,給非法進入者提供了方便之門。因此必須設法加強對UNIX操作系統的端口安全管理,增加端口口令,限制登錄端口的用戶及工作時間。
工作原理
操作系統用戶注冊登錄的過程為:操作系統接收用戶名和口令字後與/etc/passwd和/etc/shadow文件進行合法性檢查,對照注冊名UID碼、GID碼(表示用戶組)、GCOS域(用戶個人信息)、注冊目錄、注冊shell(一般為/bin/sh即Baurne shell),然後讀取終端端口的有關信息,查找 /etc/dialups文件、/etc/d_passwd文件,最後啟動/etc/profile和用戶根目錄下的 .profile文件(若是c_shell,則執行/etc/csh.login和用戶根目錄下的.login和.cshrc;若是korn shell,則會執行環境變量ENV所定義的文件)配置用戶環境變量,查找提示該用戶的mail信息。
通過以上分析,我們可以簡單地在/etc/dialups文件中加入終端端口設備號,在/etc/d_passwd文件中加入口令字,限制非法登錄,這是其一。我們還可以修改/etc/profile文件,從中增加一段程序,使之能與我們預先設定的有關用戶、端口、工作時間等一些信息的文件進行比較,判斷當前注冊用戶的登錄端口、日期和時間是否在我們允許的范圍內,否則不允許注冊登錄。之所以修改文件/etc/profile而沒有使用文件$home/.profile,是因為使用文件/etc/profile更便於大范圍的控制和處理,這是其二。另外,操作系統對合法用戶注冊登錄處理的最後部分是,根據該用戶根目錄下的$home/.profile,設置用戶環境變量、終端信息,我們可以在$home/.profile加入該用戶業務處理程序的起動命令並使之退出注冊登錄狀態,以減少在該用戶根目錄下使用/bin/sh命令的機會,確保用戶根目錄下文件的安全。
基於以上原理,我們得出了三個有效地加強對終端端口限制管理的辦法。
1.增加端口口令,限制遠程登錄
遠程登錄包括通過MODEM撥號、DDN專線訪問服務器和通過終端服務器、集線器等登錄到系統。MODEM和DDN專線訪問服務器的端口號為/dev/tty1A和/dev/ttya?,其中?為0、1、2......等(下同)。通過終端服務器、路由器和集線器訪問服務器的端口號為/dev/ttyp?。此時使用的是偽tty設備文件,通常登錄的端口是不固定的。因此,必須先執行固定通信服務器端口設置程序通過在這些設備端口上增加撥入口令,限制遠程登錄。
2.限定用戶在指定的端口和規定的時間內登錄
當用戶注冊登錄到UNIX操作系統時,必須執行系統文件/etc/profile。我們對這一文件進行修改,讓系統去讀取用戶名、端口名、每周工作日期、每天上班時間、每天下班時間,然後依此文件審查用戶注冊登錄的合法性。端口名不在此文件中不受限制;端口名在此文件中但用戶名不正確不許登錄;用戶名和端口名皆正確但工作時間不在規定范圍內不許登錄。
3.用戶注冊登錄立即運行業務處理程序,退出業務處理程序也退出/bin/sh
用戶注冊登錄時系統訪問了用戶根目錄下面的$home/.profile,為了使用戶合法注冊登錄後即進入運行業務處理程序,或退出業務處理程序同時退出注冊登錄狀態,我們可以對$home/.profile進行修改使用戶退出業務處理程序時,退至login:狀態。(這一點,信合網點的UNIX系統還得加強檢查)
以上三種方法加強了UNIX操作系統端口設備的安全管理,可以分開使用,也可以合並使用,達到對一些遠程登錄端口和公眾場合端口限制管理的目的,有效地阻止了非法用戶的登錄。