一個網絡系統的安全程度,在很大程度上取決於管理者的素質,以及管理者所采取的安全措施的力度。在對系統進行配置的同時,要把安全性問題放在重要的位置。
SCO UNIX,作為一個技術成熟的商用網絡操作系統,廣泛地應用在金融、保險、郵電等行業,其自身內建了豐富的網絡功能,具有良好的穩定性和安全性。但是,如果用戶沒有對UNIX系統進行正確的設置,就會給入侵者以可乘之機。因此在網絡安全管理上,不僅要采用必要的網絡安全設備,如:防火牆等,還要在操作系統的層面上進行合理規劃、配置,避免因管理上的漏洞而給應用系統造成風險。
下面以SCO UNIX Openserver V5.0.5為例,對操作系統級的網絡安全設置提幾點看法,供大家參考。
合理設置系統安全級別
SCO UNIX提供了四個安全級別,分別是Low、Traditional、Improved和High級,系統缺省為Traditional級;Improved級達到美國國防部的C2級安全標准;High級則高於C2級。用戶可以根據自己系統的重要性及客戶數的多少,設置適合自己需要的系統安全級別,具體設置步驟是:scoadmin→system→security→security profile manager。
合理設置用戶
建立用戶時,一定要考慮該用戶屬於哪一組,不能隨便選用系統缺省的group組。如果需要,可以新增一個用戶組並確定同組成員,在該用戶的主目錄下,新建文件的存取權限是由該用戶的配置文件.profile中的umask的值決定。umask的值取決於系統安全級, Tradition安全級的umask的值為022,它的權限類型如下:
文件權限: - r w - r - - r - -
目錄權限: d r w x r - x r - x
此外,還要限制用戶不成功登錄的次數,避免入侵者用猜測用戶口令的方法嘗試登錄。為賬戶設置登錄限制的步驟是:Scoadmin--〉Account Manager--〉選賬戶--〉User--〉Login Controls--〉添入新的不成功登錄的次數。
指定主控台及終端登錄的限制
如果你希望root用戶只能在某一個終端(或虛屏)上登錄,那麼就要對主控台進行指定,例如:指定root用戶只能在主機第一屏tty01上登錄,這樣可避免從網絡遠程攻擊超級用戶root。設置方法是在/etc/default/login文件增加一行:CONSOLE=/dev/tty01。
注意:設置主控台時,在主機運行中設置後就生效,不需要重啟主機。
如果你的終端是通過Modem異步撥號或長線驅動器異步串口接入UNIX主機,你就要考慮設置某終端不成功登錄的次數,超過該次數後,鎖定此終端。設置方法為:scoadmin→Sysrem→Terminal Manager→Examine→選終端,再設置某終端不成功登錄的次數。如果某終端被鎖定後,可用ttyunlock〈終端號〉進行解鎖。也可用ttylock〈終端號〉直接加鎖。
文件及目錄的權限管理
有時我們為了方便使用而將許多目錄和文件權限設為777或666,但是這樣卻為黑客攻擊提供了方便。因此,必須仔細分配應用程序、數據和相應目錄的權限。發現目錄和文件的權限不適當,應及時用chmod命令修正。
口令保護的設置
口令一般不要少於8個字符,口令的組成應以無規則的大小寫字母、數字和符號相結合,絕對避免用英語單詞或詞組等設置口令,而且應該養成定期更換各用戶口令的習慣。通過編輯/etc/default/passwd文件,可以強制設定最小口令長度、兩次口令修改之間的最短、最長時間。另外,口令的保護還涉及到對/etc/passwd和/etc/shadow文件的保護,必須做到只有系統管理員才能訪問這兩個文件。
合理設置等價主機
設置等價主機可以方便用戶操作,但要嚴防未經授權非法進入系統。所以必須要管理/etc/hosts.equiv、.rhosts和.netrc這3個文件。其中,/etc /hosts.equiv列出了允許執行rsh、rcp等遠程命令的主機名字;.rhosts在用戶目錄內指定了遠程用戶的名字,其遠程用戶使用本地用戶賬戶執行rcp、rlogin和rsh等命令時不必提供口令;.netrc提供了ftp和rexec命令所需的信息,可自動連接主機而不必提供口令,該文件也放在用戶本地目錄中。由於這3個文件的設置都允許一些命令不必提供口令便可訪問主機,因此必須嚴格限制這3個文件的設置。在.rhosts中盡量不用“+ +”,因為它可以使任何主機的用戶不必提供口令而直接執行rcp、rlogin和rsh等命令。
合理配置/etc/inetd.conf文件
UNIX系統啟動時運行inetd進程,對大部分網絡連接進行監聽,並且根據不同的申請啟動相應進程。其中ftp、telnet、rcmd、rlogin和finger等都由inetd來啟動對應的服務進程。因此,從系統安全角度出發,我們應該合理地設置/etc/inetd.conf文件,將不必要的服務關閉。關閉的方法是在文件相應行首插入“#”字符,並執行下列命令以使配置後的命令立即生效。
#ps-ef | grep inetd | grep -v grep
#kill -HUP 〈 inetd-PID 〉
合理設置/etc/ftpusers文件
在/etc/ftpuser文件裡列出了可用FTP協議進行文件傳輸的用戶,為了防止不信任用戶傳輸敏感文件,必須合理規劃該文件。在對安全要求較高的系統中,不允許ftp訪問root和UUCP,可將root和UUCP列入/etc/ftpusers中。
合理設置網段及路由
在主機中設置TCP/IP協議的IP地址時,應該合理設置子網掩碼(netmask),把禁止訪問的IP地址隔離開來。嚴格禁止設置缺省路由(即:default route)。建議為每一個子網或網段設置一個路由,否則其他機器就可能通過一定方式訪問該主機。
不設置UUCP
UUCP為采用撥號用戶實現網絡連接提供了簡單、經濟的方案,但是同時也為黑客提供了入侵手段,所以必須避免利用這種模式進行網絡互聯。
刪除不用的軟件包及協議
在進行系統規劃時,總的原則是將不需要的功能一律去掉。如通過scoadmin--〉Soft Manager去掉X Window;通過修改/etc/services文件去掉UUCP、SNMP、POP、POP2、POP3等協議。
正確配置.profile文件
.profile文件提供了用戶登錄程序和環境變量,為了防止一般用戶采用中斷的方法進入$符號狀態,系統管理者必須屏蔽掉鍵盤中斷功能。具體方法是在.porfile首部增加如下一行:
trap ' ' 0 1 2 3 5 15
創建匿名ftp
如果你需要對外發布信息而又擔心數據安全,你可以創建匿名ftp,允許任何用戶使用匿名ftp,不需密碼訪問指定目錄下的文件或子目錄,不會對本機系統的安全構成威脅,因為它無法改變目錄,也就無法獲得本機內的其他信息。注意不要復制/etc/passwd、/etc/proup到匿名ftp的etc下,這樣對安全具有潛在的威脅。
應用用戶和維護用戶分開
金融系統UNIX的用戶都是最終用戶,他們只需在具體的應用系統中完成某些固定的任務,一般情況下不需執行系統命令(shell),其應用程序由.profile調用,應用程序結束後就退到login狀態。維護時又要用root級別的su命令進入應用用戶,很不方便。可以通過修改.profile 文件,再創建一個相同id用戶的方法解決。例:應用用戶work有一個相同id相同主目錄的用戶worksh, 用戶work的.profile文件最後為:
set -- `who am i`
case $1 in
work ) exec workmain;exit;;
worksh ) break;;
esac
這樣當用work登錄時,執行workmain程序;而用worksh登錄時,則進入work的$狀態。