只有針對UNIX網絡系統存在的漏洞采取相應的安全保護措施,才能遏制金融計算機犯罪率。但在客觀上要完全消除UNIX網絡系統的安全隱患非常困難,一是因為UNIX系統本身是一種非常復雜的系統,二是因為UNIX系統數年來在各領域的廣泛使用,使得它成為被研究得最透徹的系統之一。
一.UNIX系統的基本安全機制
1.用戶帳號
用戶帳號就是用戶在UNIX系統上的合法身份標志,其最簡單的形式是用戶名/口令。在UNIX系統內部,與用戶名/口令有關的信息存儲在/etc/passwd文件中,一旦當非法用戶獲得passwd文件時,雖然口令是被加密的密文,但如果口令的安全強度不高,非法用戶即可采用“字典攻擊”的方法枚舉到用戶口令,特別是當網絡系統有某一入口時,獲取passwd文件就非常容易。
2.文件系統權限
UNIX文件系統的安全主要是通過設置文件的權限來實現的。每一個UNIX文件和目錄都有18種不同的權限,這些權限大體可分為3類,即此文件的所有者、組和其他人的使用權限如只讀、可寫、可執行、允許SUID和SGID等。需注意的是權限為允許SUID、SGID和可執行文件在程序運行中,會給進程賦予所有者的權限,若被入侵者利用,就會留下隱患,給入侵者的成功入侵提供了方便。
3.日志文件
日志文件是用來記錄系統使用狀況的。UNIX中比較重要的日志文件有3種:
(1)/usr/adm/lastlog文件。此文件用於記錄每個用戶最後登錄的時間(包括成功和未成功的),這樣用戶每次登錄後,只要查看一下所有帳號的最後登錄時間就可以確定本用戶是否曾經被盜用。
(2)/etc/utmp和/etc/wtmp文件。utmp文件用來記錄當前登錄到系統的用戶,Wtmp文件則同時記錄用戶的登錄和注銷。
(3)/usr/adm/acct文件。此文件用於記錄每個用戶運行的每條命令,通常我們稱之為系統記帳。
二.UNIX系統和安全防范
金融系統應用的UNIX網絡系統一般均采用客戶/服務器方式。系統前台客戶機運行並向後台系統發出請求,後台服務器為前台系統提供服務,系統功能由前後台協同完成,典型的應用如:前台運行銀行界面輸入輸出、數據校驗等功能,後台實現數據庫查詢等操作。由於UNIX系統設計基於一種開放式體系結構,系統中緊密集成了通信服務,但存在一定程度的安全漏洞,容易受到非法攻擊,通過多年的實踐證明,加強安全防范,特別是針對一些可能的網絡攻擊采取一定的安全防范措施,UNIX網絡系統的安全性就可以大大提高。
1.網絡攻擊類型
(1)猛烈攻擊(Brute-forceAttack)。
此攻擊的目標是為破譯口令和加密的信息資源,當試圖入侵者使用一個高速處理器時,便可試用各種口令組合(或加密密鑰),直到最終找到正確的口令進入網絡,此法通常稱之為“字典攻擊”。
(2)社會工程攻擊(Social-engineeringAttack)。
此攻擊也是最難防備的一種攻擊方式。網上黑客通常扮成技術支持人員呼叫用戶,並向用戶索要口令,而後以用戶的身份進入系統。這是一種最簡單同時也是最有效的攻擊方式。
(3)被動攻擊(PassiveAttack)。
非法用戶通過探測網絡布線等方法,收集敏感數據或認證信息,以備日後訪問其他資源。
(4)拒絕服務(Denial-of-Service)。
此攻擊的目的通常是指試圖入侵網絡者采用具有破壞性的方法阻塞目標網絡系統的資源,使網絡系統暫時或永久癱瘓。如入侵者使用偽造的源地址發出TCP/IP請求,阻塞目標網絡系統的資源從而使系統癱瘓。
2.網絡安全防范策略
網絡系統的攻擊者可能是非法用戶,也可能是合法用戶,因此,加強內部管理、防范與外部同樣重要。可實施以下策略進行防范。
(1)加強用戶權限管理。
為了保護UNIX系統資源安全,即使是對合法用戶也必須采用最小權限法,即給每個用戶只授予完成特定任務所必需的系統訪問權限。通常可以采用給每一個用戶建立請求文件和資源訪問許可權的程序,給定每個用戶要處理的任務權限及任務的持續時間等。
(2)加強用戶口令管理和更新。
口令通常是較容易出現問題的地方,即使口令被加密,也容易在非法入侵者的“猛烈攻擊”下被攻破。金融系統通常是一個群體工作環境,工作中經常存在各種授權,銀行的櫃台活動也處在電視監控之下,口令洩露機會較多。因此,一方面要強制使用安全口令(使用非字母字符、大小寫字母混用、規定口令最小長度不得少於6位數,最好8位數、使用強加密算法等);另一方面系統管理員要主動定期使用口令檢查程序(如:Crack)對口令文件進行檢查,若口令不合乎安全規范,則需及時更換口令。還可以采用一定的技術手段,增加“字典攻擊”的難度,如改變口令加密算法中的加密參數,然後加密口令,這樣除非攻擊者同樣改變了此參數,否則就得不到正確的口令。加強監控室及監控錄象帶的管理,對各類授權活動最好采用刷卡方式進行。
(3)設置防火牆。
將網絡系統內部分為多個子網,分級進行管理,這樣可以有效地阻止或延緩入侵者的侵入。通常防火牆設置在內部網絡與外部網絡的接口處,防火牆從功能和實現機制上分為數據包過濾、代理服務器兩大類,兩者在安全防護上各有特點,因此,一個比較完善的防護隔離體系就是將兩種防火牆結合起來,形成屏蔽子網體系結構,此舉可大大提高內部網絡的安全系數。但是,防火牆只能防護外部網絡對內
部網絡的攻擊,無法防護由內部網絡發起的攻擊或者擁有合法訪問權限的內部人員從外部發起的攻擊,並且防火牆無法防護內外網絡之間有其它不通過防火牆的通路。總之,防火牆需要與其它機制配合才能適應新的威協。
(4)建立實時監視系統。
使用ISS的RealSecure實時監控系統對網絡系統的運行過程進行實時監視和審計,對內部或外部黑客的侵入及一些異常的網絡活動能夠實時地進行識別、審計、告警、攔截。RealSecure還能和防火牆產品配合,及時切斷“黑客”與信息系統的連接,形成一個動態的安全防護體系。ISS軟件信息可訪問http://www.iss.net。
(5)定期對網絡進行安全漏洞檢測。
網絡安全是千變萬化的,所以保護措施也應該是動態的,沒有固定的模式可循,作為UNIX系統的管理人員,也要嘗試定期對網絡服務器進行攻擊測試,這樣既可以分析和探索試圖入侵者的攻擊思路,同時又可以及時發現系統安全保護機制中的潛在問題,及時進行有效防范。
(6)制定相應的災難恢復計劃。
沒有一種安全策略是十全十美的,因此根據可能發生的情況制定相應的災難恢復計劃是非常有必要的。一是定時對網絡系統上各個計算機的系統文件、數據庫文件進行備份。二是對網絡系統和通訊系統備份,在系統萬一遇到惡意攻擊、軟件故障、硬件故障、用戶錯誤、系統管理員錯誤等災難後,可以及時采取相應的對策,恢復系統的正常運行,盡可能將損失減少到最小程度。
3.加強網絡系統服務的安全手段和工具
(1)直接配置檢查。
使用COPS(Computer Oracle Password andSeuritySystem)從系統內部檢查常見的UNIX安全配置錯誤與漏洞,如關鍵文件權限設置、ftp權限與路徑設置、root路徑設置、口令等等,指出存在的失誤,減少系統可能被本地和遠程入侵者利用的漏洞。COPS軟件信息可訪問http://[email protected]。
(2)使用記錄工具記錄所有對UNIX系統的訪問。
大多數現成的UNIX應用系統可以通過Syslog來記錄事件,這是UNIX系統提供的集中記錄工具。通過每天掃描記錄文件/var/adm/messaged,並可通過配置Syslog,把高優先級的事件及時傳送給系統安全員處理。另一個有用工具是TCPWrappers,應用此軟件可以解決UNIX網絡系統安全監視和過濾問題,本軟件將所有TCP連接試圖(無論成功與否),都記錄到一個文本文件裡,文本文件具體內容包括請求的源地址、目的地址、TCP端口和請求時間等。通過監視TCPWrappers記錄,查看所有未遂連接試圖,並可以通過配置,由TCPWrappers來根據某些因素,如源或目的TCP端口、IP地址等接受或者拒絕TCP連接。TCPWrappers軟件下載地址為ftp://ftp.win.tue.nl/pub/security。
(3)遠程網絡登錄服務。
此服務是我們使用最頻繁的,UNIX系統提供了telnet和ftp遠程登錄,當使用telnet或ftp登錄時,用戶名和口令是明文傳輸的,這就可能被網上其他用戶截獲。入侵者也經常使用telnet或ftp對網絡系統發動“猛烈攻擊”。入侵者可較容易地編寫一個腳本,通過破譯不同的口令來試圖和遠程服務器建立連接,而telnet精靈進程在多次連接試圖失敗之後會產生一定的延遲,延遲時間和未遂的注冊次數成正比,從而防止入侵。還有一種加強telnet或ftp服務口令安全的方法,就是每次使用不同的密碼,這可通過S/KEY工具實現。S/KEY系統建立在一次性用戶口令的基礎上,生成一系列口令,用戶可以使用這些口令與UNIX服務器進行遠程訪問,且不需要特殊的客戶機軟件。S/KEY的認證算法使得入侵者無法預測用戶下一個口令的內容。由於ftp功能與telnet類似,為此可以修改/etc/ftpusers文件,指定不允許通過ftp進行遠程登錄的用戶。使用匿名ftp服務,任何人都可以隨意注冊下載或上載文件,如果不需要匿名ftp服務,可以把usernameftp從/etc/passwd文件裡刪除掉;如果必須提供匿名ftp服務,可以把它安裝在本網絡之外被稱為停火區(DMZ)的服務器中。同時,我們建議使用安全的遠程訪問工具SSH,其安全性強於telent和ftp。SSH具有強力遠程主機認證機制,可以有效降低入侵者通過DNS或者IP地址欺騙手段模仿客戶機的可能性,同時SSH還支持多種端到端的加密協議,如DES、Triple-DES、IDEA和Blowfish等,從而更有利於保證整個通訊系統的安全。使用SSH時應禁止使用telnet、ftp和rlogin服務。S/KEY信息可訪問http://yak.net/skey。
(4)NFS(NetworkFileSystem)服務。
此服務允許工作站通過網絡系統共享一個或多個服務器輸出的文件系統。早期的NFS協議使用RPC(RemoteProcedureCall)進行客戶機與服務器數據交換,由於用戶不經登錄就可以閱讀或更改存儲在NFS服務器上的文件,使得NFS服務器很容易受到攻擊。為了確保基於UNIX系統的所有NFS服務器均支持SecureRPC,SecureRPC使用DES加密算法和指數密鑰交換技術驗證每個NFSRPC請求的身份。當用戶登錄到某台工作站時,login程序從NIS(NetworkInformationSystem)數據庫中獲得一個包含用戶名、用戶公鑰以及用於用戶口令加密的用戶私鑰三項內容的記錄(在SecureRPC4.1以上版本中,私鑰被保存在內存中的Keyserver進程中),而工作站和服務器用自已的私鑰和對方的公鑰產生一個SessionKey。隨後工作站產生一個56位隨機ConversationKey,用SessionKey加密後傳給服務器,登錄時均使用ConversationKey進行加密。在數據傳輸過程中,服務器通過以下推理確認用戶身份是否合法,首先用戶傳送的包是用ConversationKey加密的;其次只有知道用戶的私鑰才能產生ConversationKey;最後必須知道口令才能解開加密的私鑰。使用NFS還應注意以下幾點:盡可能以只讀方式輸出文件系統;只將必須輸出的文件系統輸出給需要訪問的客戶,不要輸出本機的可執行文件,或僅以只讀方式
輸出;不要輸出所有人都可以寫的目錄;不要輸出用戶的home目錄;將所有需要保護的文件的owner設為root,權限均設為755(或644),這樣即使工作站上的root帳號被攻破,NFS服務器上的文件仍能受到保護;可使用fsirand程序,增加制造文件句柄的難度。
(5)NIS (NetworkInformationSystem)服務。
這是一個分布式數據系統,計算機用它能夠通過網絡共享passwd文件、group文件、主機表和一些類似的資源。通過NIS和NFS,整個網絡系統中所有工作站的操作就好象在使用單個計算機系統,而且其中的過程對用戶是透明的。但在NIS系統中,用戶可以編寫程序模仿ypserv來響應ypbind的請求,從而獲取用戶的口令。因此,NIS客戶最好使用ypbind的secure選項,不接受非特權端口(即端口號小於1024)的ypserv響應。
(6)finger服務。
通常使用finger命令是為了查看本地或遠程網絡系統中當前登錄用戶的詳細信息,但同時也為入侵者提供了成功入侵系統的機會。所以,最好禁止使用finger。
3.結束語
只有針對UNIX網絡系統存在的漏洞采取相應的安全保護措施,才能遏制金融計算機犯罪率。但在客觀上要完全消除UNIX網絡系統的安全隱患非常困難,一是因為UNIX系統本身是一種非常復雜的系統,二是因為UNIX系統數年來在各領域的廣泛使用,使得它成為被研究得最透徹的系統之一。通常入侵者發動的攻擊形式是極其復雜的,保護UNIX系統安全的關鍵是針對入侵者可能發動的攻擊制定出一系列切實可行的安全防范策略,使各種攻擊在多樣化的安全防范措施面前不能輕易得逞。在對IP級安全實施加固之後(如設立安全IP包、過濾防火牆等),還必須對傳輸層和應用層的安全進行加固,同時要在金融系統內部建立一整套網絡系統安全管理規章和防范措施,經常進行監督檢查,使安全管理規章和防范措施落到實處。要使每一位員工都有防范金融計算機犯罪的概念,了解其作案的手法及產生的危害,提高全員主動防范意識,這樣才能真正有效地預防金融計算機案件的發生。