網(wǎng)絡(luò)服務(wù)器安全問題初探 很多網(wǎng)管都碰到過這樣一些難堪的事,因為服務(wù)器的安全漏洞問題,導(dǎo)致其中數(shù)據(jù)的丟失、權(quán)限被非法取得、或者被那些剛剛懂得一點點網(wǎng)絡(luò)安全知識的菜鳥們指出服務(wù)器有這樣那樣的缺點,被搞得很沒面子。其實我也遇到過這樣的問題。后來,隨著工作中的研究和探討,逐漸發(fā)現(xiàn)這些安全隱患的存在原因以及解決辦法。在這里拿出來跟大家探討一二。
網(wǎng)絡(luò)服務(wù)器主要是指那些存放網(wǎng)站數(shù)據(jù)的WEB服務(wù)器、DATA服務(wù)器、DNS服務(wù)器和MAIL服務(wù)器而言。WEB服務(wù)器的問題已經(jīng)說過不少了,在這里就主要談?wù)凞ATA服務(wù)器、DNS服務(wù)器和MAIL服務(wù)器的問題。
一、DATA服務(wù)器 先來看看DATA服務(wù)器。它主要是存放數(shù)據(jù)庫的服務(wù)器(廢話)。以SQL數(shù)據(jù)庫為例,從安全角度考慮,SQL服務(wù)器與BACKOFFICE組件中的所有程序一樣,都是以Windows NT Server為基礎(chǔ),利用了Windows NT Server 自身擁有的安全性能。而且,當(dāng)你將SQL服務(wù)器與Internet 相連時,為保證你數(shù)據(jù)的安全性和完整性,有些事情你需要特別考慮。
1. 支持SQL服務(wù)器的Internet Database Connector(簡稱IDC)的安全性 在通常情況下,數(shù)據(jù)庫的開發(fā)者在使用IDC來處理SQL服務(wù)器數(shù)據(jù)時,就應(yīng)該考慮對你的數(shù)據(jù)庫實施必要的保護措施。有哪些是必須要做到的呢!根據(jù)我的一些經(jīng)驗,以下幾點是需要考慮的:
1) 使用NTFS分區(qū)。
2) 給予用戶執(zhí)行日常任務(wù)所必需的最低等級的訪問許可權(quán)。
3) 強制執(zhí)行口令和登錄策略。
4) TCP/IP過濾。
5) 防火墻及代理服務(wù)器。 通過以上幾步措施,你的SQL服務(wù)器已經(jīng)具備初級的安全防范的功能。
但是這些是遠遠不夠的,因為高級的網(wǎng)絡(luò)入侵者往往能夠繞過這些防御。那么我們就需要進一步提高服務(wù)器的安全性能。用戶必須得到訪問.IDC和.HTX文件的許可權(quán)才能處理數(shù)據(jù),如果你賦予匿名訪問權(quán),那么IUSR_計算機為匿名訪問設(shè)定的賬戶必須擁有訪問這些文件的許可權(quán)。這里必須提出的是,Windows NT用戶名必須嚴格符合SQL服務(wù)器綜合性安全命名原則。
下劃線、美元符號和英鎊符號都不允許使用(這意味著不能使用缺省的賬戶IUSR_計算機名進行SQL服務(wù)器訪問 )。
另外IDC文件對于SQL數(shù)據(jù)庫有效用戶口令的保護等措施也是很必要的。
2. IIS本身的安全性問題 這個話題相信很多朋友看了都會感到很熟悉。在這里,我只想討論一下IIS的SQL Web Assistant的問題。通過使用 SQL Web Assistant 也可以多少地保證你的 Microsoft Exchange 服務(wù)器、Internet信息服務(wù)器和SQL的安全。一般來講,只要您正確使用配置好SQL Web Assistant,都能夠比較理想地達到SQL數(shù)據(jù)庫的安全保障。
二、DNS服務(wù)器 DNS服務(wù)器是Internet上其它服務(wù)的基礎(chǔ),它處理DNS客戶機的請求:將名字與IP地址進行互換,并提供特定主機的其它已公布信息(如MX記錄等)。
一般而言,網(wǎng)管們碰到的大多會有以下幾種情況。
1.名字欺騙。當(dāng)主機B訪問主機A(同時也作為DNS服務(wù)器)如執(zhí)行rlogin時,A接收到這個連接并獲得發(fā)起本次連接主機B的IP地址。為驗證本次連接的合法性,主機A就向本地DNS服務(wù)器逆向查詢對應(yīng)于這個IP地址的主機名字。當(dāng)返回查詢結(jié)果??主機名B為本機所信任的主機時,就允許來自B的遠程命令rlogin。下面我們再來看看主機D是如何利用驗證漏洞來欺騙主機A的。當(dāng)主機D也執(zhí)行rlogin時,主機A同樣要驗證本次連接的合法性。如果A不能根據(jù)D的IP在本地DNS服務(wù)器中查詢到對應(yīng)的主機名時,就會向其它DNS服務(wù)器發(fā)出請求,最后終會找到DNS服務(wù)器C。如果入侵者修改DNS服務(wù)器C中對應(yīng)于自己IP地址的主機名為主機B時,主機A就會獲得對應(yīng)于D的IP地址的主機名是B的逆向查詢結(jié)果,因此主機A認可本次連接。于是欺騙A成功。
2.信息隱藏。當(dāng)某個企業(yè)由于保密等原因的需要,給某些特定主機以特定的內(nèi)部主機名,而這些主機密碼又被入侵者獲取時,存放保密數(shù)據(jù)的服務(wù)器主機就會完全暴露。
解決以上兩個問題的辦法主要有兩種:
1.直接利用DNS軟件本身具備的安全特性來實現(xiàn);
2.以防火墻/NAT為基礎(chǔ),并運用私有地址和注冊地址的概念。
簡而言之就是將內(nèi)部DNS服務(wù)器和外部DNS服務(wù)器進行物理分開,內(nèi)部DNS服務(wù)器解析私有的IP,而外部DNS則解析公開的IP。內(nèi)部主機使用私有地址;對Internet服務(wù)的主機用NAT完成注冊地址到其私有地址的靜態(tài)映射;訪問Internet的主機用NAT完成其私有地址到注冊地址的動態(tài)映射。
三、MAIL服務(wù)器 MAIL服務(wù)器一直因其安全性而成為廣大網(wǎng)友抱怨的對象。的確,從理論上講,MAIL服務(wù)是一種不安全的服務(wù),因為它必須接受來自INTERNET的幾乎所有數(shù)據(jù)。
Internet上,服務(wù)器間的郵件交換是通過SMTP協(xié)議來完成的。主機的SMTP服務(wù)器接收郵件(該郵件可能來自外部主機上的SMTP服務(wù)器,也可能來自本機上的用戶代理),然后檢查郵件地址,以便決定在本機發(fā)送還是轉(zhuǎn)發(fā)到其它一些主機。
Unix系統(tǒng)上的SMTP程序通常是Sendmail。有關(guān)Sendmail的安全問題重要的原因在于它是一個異常復(fù)雜的程序,而另一個原因是它需root用戶特權(quán)運行。
解決的方法大致有三種:
1. 使用Unix系統(tǒng)自帶的安全特性;
2. 使用代理;
3. 直接修改源碼。
以上是對網(wǎng)絡(luò)服務(wù)器安全問題及其解決辦法的一些初步探討。其實,關(guān)鍵的問題還是在于網(wǎng)絡(luò)管理員對網(wǎng)絡(luò)安全意識的建立和實施。因為多數(shù)網(wǎng)絡(luò)安全事件的發(fā)生,都是因為網(wǎng)絡(luò)管理員安全意識的缺乏和防范措施實施的不到位。