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