摘要:該文總結UNIX系統常見的安全漏洞,從系統設置的角度,提出了相應的對策和解決方案,使UNIX管理員能更有效的應對攻擊。
關鍵詞:UNIX系統;安全隱患;漏洞;攻擊
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2009)14-3630-02
On the UNIX Security Management
ZHENG Jie
(Changsha Aeronautical Vocational and Technical College, Changsha 410124, China)
Abstract: This paper summarizes the common UNIX system security vulnerabilities, system settings from the perspective of the corresponding countermeasures and solutions to enable UNIX administrator can more effectively respond to attacks.
Key words: UNIX systems; security risks; loopholes; attack
1 引言
UNIX是一個技術成熟、功能強大和結構復雜的商用網絡操作系統。UNIX系統具有規模小、功能通用的特點。在全世界各大企業中都有應用,尤其是在金融業應用較廣泛,因而UNIX的安全問題就顯得重要了。我們看到UNIX系統面臨著許多令人生畏的安全威脅,但有許多方法可用來阻止、檢測這些威脅并對威脅作出反應。UNIX的安全機制不僅局限于存儲器保護, 它還提供了一個完整的安全系統,以此來控制用戶對文件的存取、修改數據庫及使用系統資源的方式。它的這種機制帶給了使用者極大的方便, 但不幸的是, 方便的同時也就意味著被攻擊的危險。當系統被錯誤的設置, 或包含有問題的軟件時, 這些安全機制不能有效地發揮作用, 使系統出現安全問題。
2 UNIX存在的安全隱患
UNIX作為一種我國一些企事業單位計算機系統較普遍使用的操作系統之一,它提供了動態可移植、文件與記錄的鎖定、用戶保密系統、多任務、電子郵件和遠程文件共享等能力。然而,由于UNIX先天不足,給網絡帶來了一些安全隱患。
UNIX是由程序員在編程環境下設計完成的,其設計目標既不是用于處理大量業務,也不是用于管理、存儲機密信息,因此沒有被設計成為一個安全的操作系統。
UNIX是用C語言編寫的,因而很容易在不同主機之間移植,程序是可以動態連接的,包括I/O的驅動程序和系統服務。動態連接也是計算機病毒產生的環境。UNIX支持在網絡上傳輸文件,包括可以執行的文件映像。UNIX可以創建進程,支持遠程進程創建、激活,被創建進程還可繼承創建進程即父進程的權限,這就為埋設“炸彈”軟件提供了方便,甚至把“炸彈”軟件以“打補丁”的方式打在合法用戶上,尤其打在root用戶上,做到系統進程與作業的監視程序看不到它的存在。UNIX一般都提供后臺守護進程,這些系統進程等待一定條件的激活,一旦條件出現,程序就可運行下去,這些也都是非法者常用手段。非法者看中的是這些進程具有與其它操作系統核心層軟件同等的權力。
在UNIX中,root用戶具有至高無上的權限。可以任意讀、寫、執行、刪除、更改文件,非法者對它是格外“垂青”。由于沒有一套完整的身份驗證的保障,無法阻止非法者對root特權的竊取。而且誰也不能擔保,root擁有者不會利用合法的特權做出他不應做的事情,只能以職業的道德約束root用戶。
這不能不說是UNIX的一大弱點。由于以上的先天不足,使UNIX存在著極大的安全隱患,非法者常利用UNIX的這些弱點,采用竊取訪問路徑,竊取密碼,盜取額外特權等手段對UNIX進行進攻。
3 加強UNIX的安全管理
網絡安全管理的總體目標是:“確保受保護目標中信息的完整性、正確性和秘密性。”UNIX安全管理工作,技術手段一直比較缺乏。加強UNIX的訪問控制,阻止非授權的資源存取,從以下幾個方面進行管理:
1) 為提高密碼的質量,減少使用中的漏洞,規定了密碼的最小長度、密碼的有效時間和密碼的生存期,并限制必須變更密碼的最多最少天數,不得重復使用密碼,限制某類字符的最小數目和重復字符的最大數目。
2) 加強了登錄控制,規定用戶什么時候登錄,從哪個終端或以什么方式登錄,以及同時登錄數,用以減少被攻擊的機會。
3) 將用戶和系統中的資源依特性分成不同群組,滿足系統管理的層次需要,并且群組還可定義成多層的關系。例如,我們可以把用戶組分成安全管理、系統管理、硬件外設管理、應用軟件維護、網絡維護、柜臺操作等。然后,對用戶與資源(文件等)建立映射關系。這種基于職責的授權策略,加強了對重要、敏感的請求管理,在職責數據庫中確認用戶角色定義,只有授權的用戶才會把其請求提交系統核心,從而保證資源的安全訪問。提高了系統管理的靈活性及安全性。
4) 對資源如文件的存取權限,除UNIX傳統的讀寫操作外,增加了刪除、生成、改動、搜索等多個等級。對非授權的資源訪問,亦提供允許、忽略、記錄、拒絕、報警等多種處置方式,以符合管理上的需要。另外,在路由器等方面還建立了“軟防火墻”,控制TCP連接(如telnet,ftprlogin等),堵截遠程非法登錄。
5) 安全管理系統的本身也進行安全管理,包括安全管理員的分級、授權、認證。建立有層次的安全管理,既提高效率,又保證了管理系統本身的安全性。
6) 加強對超級用戶登陸的管理,限制root用戶的遠程登錄。root用戶只能在某一個終端(或虛屏)上登錄,可對主控臺進行指定。例如指定root用戶只能在主機第一屏tty01上登錄,可避免從網絡遠程攻擊超級用戶root。設置方法是在/etc/default/login文件中增加一行:CONSOLE=/dev/tty01。除此之外,我們可以改變su命令文件的存取權,指定某個組或某個指定的用戶才能使用su命令。
3 UNIX安全對策
系統的設置、環境的變更、策略的改變都會使安全管理出現漏洞。因此十分需要一種動態的安全監測系統,其特點在于:它是一種“黑客”攻擊模擬程序,歸納了最新攻擊手段,使得你的系統在這些“良性”攻擊下充分暴露缺陷,從而得到迅速的修補,防患于未然;作為動態監測,它能識別攻擊特征和其它包括病毒、偵探行為等的可疑行為,迅速檢測并予以反擊。③具有安全漏洞分析響應能力,自動檢測出規劃管理漏洞,并可自動更正或發出警告。
用下面一些方法來監測機器是否容易受到攻擊。
1) #rpcinfo -p 來檢查你的機器是否運行了一些不必要的進程。
2) #vi /etc/hosts.equiv 文件來檢查,把你不值得信任的主機去掉。
3) 如果沒有屏蔽/etc/inetd.conf中的 tftpd,請在你的/etc/inetd.conf加入tftp dgram udp wait nobody/usr/etc/in.tftpd–s/tftpboot。
4) 建議你備份/etc/rc.conf 文件寫一個shell script 定期比較 cmp rc.conf backup.rc.conf。
5) 檢查你的inetd.conf 和/etc/services文件,確保沒有非法用戶在里面添加一些服務。
6) 把你的系統的/var/log/*下面的日志文件備份到一個安全的地方,以防止入侵者 #rm /var/log/*。
7) 一定要確保匿名FTP服務器的配置正確,在 proftpd.conf 一定要配置正確。
8) 備份好/etc/passwd,然后改變 root 口令。確保此文件不能夠其他人被訪問。
9) 如果你還不能夠防止入侵者的非法闖入,你可以安裝i-dent 后臺守護進程和TCPD后臺守護進程來發現入侵者使用的帳號。
10) 確保你的控制臺終端是安全的,以防止非法用戶能夠遠程登陸你的網絡上來。
11) 檢查hosts.equiv,rhosts,hosts,lpd 都有注釋標識#,如果一個入侵者用它的主機名代替了#,那么就意味著他不需要任何口令就能夠訪問你的機器。
除了以上討論的安全問題之外,還有很多因素都與計算機系統的安全相關,要保證系統安全除了要從思想上重視,做好日常檢查和數據備份外,還要做好職員的教育工作,提高全體職員的素質,將安全隱患降到最低。
參考文獻:
[1] Kate Wrightson.UNIX從入門到精通[M].北京:電子工業出版社,2001.
[2] Steve Burnett.Windows2000與UNIX集成指南[M].北京:清華大學出版社,2001.
[3] Aeleen Frisch.UNIX系統管理(第二版)[M].北京:中國電力出版社,1998.