保護(hù)企業(yè)FTP安全的最佳實(shí)踐
雖然各種威脅在持續(xù)發(fā)展演變,但是文件傳輸協(xié)議(通常稱(chēng)為FTP)基本上還是跟幾年前一樣,而且還在大范圍的使用。
FTP主要用來(lái)傳輸大文件,它就是為了這個(gè)目的設(shè)計(jì)的。FTP是一種客戶(hù)端服務(wù)器(主從模式)協(xié)議,它使用控制和數(shù)據(jù)兩條通道進(jìn)行文件傳輸。控制通道用來(lái)進(jìn)行身份認(rèn)證,并給服務(wù)器發(fā)送命令。該協(xié)議本身不支持加密,因此,在控制通道中發(fā)送的所有流量都是直接發(fā)送的,或者說(shuō)是未加密的,這是該協(xié)議的弱點(diǎn)之一。在企業(yè)中,F(xiàn)TP服務(wù)通常被用來(lái)處理那些不敏感的內(nèi)容,而且跟其他敏感信息系統(tǒng)都是完全隔離的。人們還得保證FTP服務(wù)能夠及時(shí)更新。配置錯(cuò)誤的以及結(jié)構(gòu)不合理的FTP服務(wù)可能會(huì)成為企業(yè)中重要的安全漏洞。
企業(yè)確保關(guān)鍵FTP安全的最佳做法是什么?FTP安全狀況達(dá)到可以傳輸敏感數(shù)據(jù)的地步了嗎,或者說(shuō)有什么好的方法可以讓FTP更安全?如果FTP還不夠安全,不足以用來(lái)傳輸敏感數(shù)據(jù),那么有哪些協(xié)議可以替代它呢?我們會(huì)在本文中回答這些問(wèn)題。
FTP無(wú)處不在,這一點(diǎn)不可否認(rèn)。就像其他廣泛使用的技術(shù)一樣,F(xiàn)TP也開(kāi)始成為攻擊者易于攻擊的目標(biāo)。這么多年來(lái),攻擊者已經(jīng)有了許多使用FTP以及利用FTP漏洞的經(jīng)驗(yàn)。有關(guān)FTP服務(wù)安全性的討論很激烈,一般來(lái)說(shuō),人們沒(méi)有就哪種方法能最好地保護(hù)FTP安全達(dá)成共識(shí)。主要是由于商業(yè)需要,才讓這項(xiàng)服務(wù)繼續(xù)存在,而沒(méi)有使用其他更加安全的替代產(chǎn)品。對(duì)我來(lái)說(shuō),任何使用或者考慮使用FTP的企業(yè)都應(yīng)該先問(wèn)自己以下三個(gè)問(wèn)題:
a.我們真的需要FTP嗎?
b.我們?cè)鯓硬拍馨踩卦O(shè)置FTP(我將會(huì)解釋這個(gè)自相矛盾的情況)?
c.有沒(méi)有既安全又容易使用的FTP替代產(chǎn)品?
第一問(wèn)題很有趣。從技術(shù)上講,答案是否定的。其實(shí)市面上有許多更加安全的其他技術(shù),我們將在后面討論。然而,實(shí)際的答案卻是肯定的,因?yàn)镕TP應(yīng)用非常廣泛,而且具有跨平臺(tái)的支持性,大多數(shù)企業(yè)都被迫選擇支持FTP。
我花了相當(dāng)多的時(shí)間對(duì)過(guò)濾設(shè)備(即防火墻)上的FTP連接進(jìn)行故障排除,了解到FTP的控制和數(shù)據(jù)通道設(shè)計(jì)不是很適合在數(shù)據(jù)包穿越多個(gè)不同的網(wǎng)絡(luò)設(shè)備環(huán)境中使用。給你們舉個(gè)例子,初始化一個(gè)網(wǎng)絡(luò)代理后面的公司網(wǎng)絡(luò)以及負(fù)載均衡環(huán)境中服務(wù)器之間的FTP會(huì)話(huà),并不是那么簡(jiǎn)單的故障排除工作。
正如我先前提到的,F(xiàn)TP是一個(gè)客戶(hù)端服務(wù)器協(xié)議,使用單獨(dú)的控制和數(shù)據(jù)通道進(jìn)行文件傳輸。控制通道用來(lái)進(jìn)行身份認(rèn)證,并給服務(wù)器發(fā)送命令。這種身份認(rèn)證機(jī)制比較脆弱,因?yàn)檎J(rèn)證信息沒(méi)有經(jīng)過(guò)加密就直接發(fā)送到服務(wù)器,使得這種網(wǎng)絡(luò)傳輸很容易被竊聽(tīng)。在一般的FTP實(shí)施過(guò)程中,一些典型的安全漏洞讓這個(gè)問(wèn)題更加復(fù)雜化。
盡管FTP存在安全弊端,但是許多企業(yè)還是選擇它進(jìn)行大容量的數(shù)據(jù)傳輸。大多數(shù)工作站、應(yīng)用程序,甚至網(wǎng)絡(luò)過(guò)濾設(shè)備都內(nèi)置了對(duì)FTP的支持。其他產(chǎn)品可能會(huì)更加安全,但是它們還是無(wú)法與FTP的便利性和低成本相抗衡。
讓我們暫且假設(shè)FTP是唯一的選擇。那么,我們可以來(lái)仔細(xì)研究幾種能夠讓這項(xiàng)服務(wù)達(dá)到一定安全性的方法。我先從網(wǎng)絡(luò)設(shè)計(jì)階段開(kāi)始,我們可以把FTP服務(wù)限制在專(zhuān)用虛擬局域網(wǎng)網(wǎng)段上。這一般需要從你的交換機(jī)、路由器或者防火墻設(shè)備中分出一個(gè)單獨(dú)的專(zhuān)用網(wǎng)段來(lái)管理FTP服務(wù)。這種做法有多方面的目的。不僅能使你專(zhuān)門(mén)使用防火墻的一部分來(lái)防護(hù)這個(gè)網(wǎng)段,并進(jìn)行漸進(jìn)政策(控制源IP)控制和簡(jiǎn)化故障排除(主動(dòng)/被動(dòng)連接);而且會(huì)給你提供一個(gè)阻塞點(diǎn)(choke point),從而監(jiān)視和使用網(wǎng)絡(luò)安全設(shè)備,比如IDS或者IPS。在這種情況下,阻塞點(diǎn)方法可以非常方便的進(jìn)行監(jiān)測(cè)和預(yù)防,你能夠監(jiān)視利用FTP服務(wù)(比如IDS)相關(guān)漏洞而發(fā)起的攻擊,或者主動(dòng)攔截利用IPS對(duì)FTP服務(wù)的攻擊等。
下一步,我們需要側(cè)重于讓管理FTP的服務(wù)器本身變得更為強(qiáng)大(盡管我在上文中提到首先要進(jìn)行網(wǎng)絡(luò)設(shè)計(jì),但是我不建議在所有的安全強(qiáng)化步驟完成之后才對(duì)服務(wù)器進(jìn)行處理)。我建議大家不僅僅要考慮應(yīng)用最新補(bǔ)丁,按照因特網(wǎng)安全中心(CIS)的標(biāo)準(zhǔn)來(lái)設(shè)置服務(wù)器,還要考慮更多的東西。當(dāng)受到攻擊的時(shí)候,F(xiàn)TP服務(wù)往往會(huì)引起嚴(yán)重的附加損失。這是因?yàn)椋谠S多情況下,F(xiàn)TP服務(wù)是具有高優(yōu)先級(jí)的過(guò)程(比如,作為根用戶(hù)),如果被攻擊者成功利用的話(huà),攻擊者會(huì)得到系統(tǒng)級(jí)的權(quán)限。
在服務(wù)器上隔離FTP服務(wù),可以很大程度的防止這種漏洞利用攻擊。這與基于網(wǎng)絡(luò)的隔離有所不同,這種隔離是通過(guò)處理服務(wù)的硬件實(shí)現(xiàn)的。FTP隔離可以通過(guò)在虛擬環(huán)境(開(kāi)源Xen系統(tǒng)管理程序)中運(yùn)行FTP服務(wù)或者改變根目錄(chroot)來(lái)實(shí)現(xiàn)。在改變根目錄這種方法中,管理員能夠在處理過(guò)程中改變磁盤(pán)根目錄,這基本上限制了超出自身限制范圍的操作以及訪問(wèn)文件系統(tǒng)敏感區(qū)域的能力。改變根目錄可以用幾種方法實(shí)現(xiàn);有些例子用“/etc/ftpchroot”為特定用戶(hù)確定一個(gè)chroot環(huán)境,有些則使用“ftp-chroot”登錄類(lèi)。這兩種方法都建議FTP后臺(tái)程序在ls支持下重新編譯,所以沒(méi)有特殊的依賴(lài)關(guān)系。
最后,目前有一種易于安全維護(hù)的FTP替代品,叫做Secure Shell(SSH)。與FTP不一樣,SSH以加密的形式發(fā)送所有內(nèi)容。SSH使用加密的傳輸服務(wù),并且把一個(gè)文件傳輸代理放在最高層,避免了FTP服務(wù)普遍的安全缺陷和復(fù)雜性。為了簡(jiǎn)單起見(jiàn),我認(rèn)為SCP(主要是文件傳輸)、SFTP(運(yùn)行在SSH上面的、全新的文件傳輸協(xié)議)和以SSH為通道的FTP會(huì)話(huà),每種服務(wù)都使用了SSH,它們都可以作為FTP可以接受的、更加安全的替代品。在這個(gè)分類(lèi)中比較奇怪的是FTPS(SSL上的FTP)。說(shuō)實(shí)話(huà),我認(rèn)為FTPS作為 FTP替代品不可行,因?yàn)樗c防火墻不兼容。使用更加安全的協(xié)議需要進(jìn)行服務(wù)隔離,并且要采取適當(dāng)?shù)姆?wù)器安全強(qiáng)化步驟。
FTP另外一個(gè)有趣的替代品可能就是數(shù)字內(nèi)容傳輸服務(wù)了,它能夠提供安全的文件傳輸,又能簡(jiǎn)化管理。它往往是基于云的服務(wù),其中包括文件跟蹤、傳輸通知、流程集成工具以及可編寫(xiě)腳本的API等功能。雖然這些服務(wù)原本是為了數(shù)字內(nèi)容的傳輸而設(shè)計(jì)的,但我想它們也可以為企業(yè)提供好的文件傳輸服務(wù)。
FTP是一個(gè)敏感的話(huà)題。有些用戶(hù)喜歡它的便利性,但是總的來(lái)講,網(wǎng)絡(luò)和安全團(tuán)隊(duì)并沒(méi)有被這一點(diǎn)所迷惑。人們能夠指出FTP的多項(xiàng)缺點(diǎn),并且指出可以替代它的解決方法。有許多方法可以與FTP共存,但如果你的企業(yè)更適合使用像SSH這樣更加安全的產(chǎn)品,我強(qiáng)烈建議您用它取代FTP。
【編輯推薦】