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