十種機制保護三大網絡基礎協議

除了DNS,還有其他網絡基礎協議也會變成攻擊者的武器,該如何保護呢?

十种机制保护三大网络基础协议

涉及基礎互聯網協議的攻擊見諸報端時,人們的視線往往集中在Web上,HTTP或DNS是絕對的主角。但歷史告訴我們,其他協議也會被當做攻擊脆弱公司企業的武器和入口

比如BGP(邊界網關協議)、NTP(網絡時間協議)和FTP(文件傳輸協議),就是攻擊者用以破壞運營或盜取數據資產的利器。最近頻發的加密貨幣錢包劫持事件,充分展現出了BGP劫持作為攻擊鏈一部分的有效性。從大多數用戶的角度來看,BGP的神秘源於其複雜性,而大多數公司企業僅在其網絡變得非常巨大之時才考慮應用BGP,更是增添了公司的風險。

NTP常被看做是僅提供對時便利性的協議,讓用戶免去自行對時並手動錄入系統的麻煩。但實際上,從數據加密到文件傳輸等一應事務,都依賴NTP協議從標準服務器獲取權威時間。因此,NTP協議無處不在,對攻擊者非常有價值。

另外,雖然用戶更喜歡用HTTP在系統間傳輸文件,但很多應用程序和系統仍將FTP作為基本的文件傳輸機制。因為常被用於傳輸大文件,只要能夠對目標使用,FTP就是網絡罪犯的有力武器。

對大多數公司而言,“停止使用這些協議”並不現實;有太多應用程序和用戶都依賴這些協議,很長時間內都無法放棄其中哪一個。而且BGP和NTP這兩個協議甚至都沒有替代方案可用。所以,公司企業有必要找到保護這些協議的方法,讓它們作為工具為公司所用,而不是作為武器為攻擊者所用。

保護網絡基礎協議的方法當然有很多,其中有一些是可以激發思維,推動防禦策略向前發展的。下面我們就為讀者呈上幾種保護網絡基礎協議的有效方法。

1. BGP:保護髮言人

BGP是路由器間相互告知所處位置的協議,還可供路由器組用以建立數據包發送的最佳路徑。其實現過程中需要確定路由器仍然接在互聯網上:通過發言人(Speaker)每隔60秒在179端口發送一條TCP消息來保持與其相鄰節點的連接。如果發言人被拿下,不僅僅是路由器掉線,還會打開非法路由器頂替上位的大門。

很明顯,在已知端口上定期通信的關鍵網絡鏈路是脆弱的,網絡擁有者需採取特別的預防措施來保護它。互聯網工程任務組(IETF)的專家們建議,可以採用訪問控制列表(ACL)來屏蔽掉來自非鄰居路由器節點的通信。

另外,網絡管理員還應在控制層和數據層上施加速率限制,預防數據包洪水把發言人擠掉線。不僅僅是攻擊洪水,過量的合法流量也會將網絡從互聯網上擠掉。所以,預設速率限制是個不錯的預防方法。

2. BGP:TTL保安全

ACL是保護BGP的首要方法,其次就是利用網絡防護中一個更廣泛的機制:生存時間(TTL)

TTL安全在 IETF RFC 5082 的“通用TTL安全機制”(GTSM)中有所描述。其大意是,花費太長時間到達的數據包不可能來自鄰居節點,而不是來自鄰居節點的數據包是可以丟棄的。

TTL安全的基本操作是:將TTL設置成255(最大值),也就是要求數據包來自直接連接。因為第3層設備每碰一次數據包,都會導致TTL的衰減,所以繞來繞去的數據包是達不到TTL要求的。

3. BGP:前綴過濾器

想要保護BGP及其在網絡中的職能,須得確保通告特定路由的路由器具備通告該路由的權限。比如說,如果有路由器通告稱,“訪問AWS要經過一家小電鋸修理廠的路由器”,那這臺路由器就肯定是惡意路由器,應被禁止其路由通告行為。可以預防惡意路由通告的方法之一,是前綴過濾——有點複雜,還有些現實世界的侷限性,但是非常有效的方法。

。其基本方法是基於互聯網路由註冊表(IRR)中包含的信息來過濾前綴。但因為IRR未必能及時更新,所以該方法在實際應用上情況有點複雜。

前綴過濾應僅允許路由器接受合法鄰居節點的路由,僅傳送合法路由到下游鄰居節點。雖然非常有效,但網絡管理員卻必須時常維護更新合法節點列表。當網絡(或客戶網絡)有很多冗餘內部和外部路由時,管理員的工作就會變得相當複雜。不過,在安全非常重要的場合,還是值得為此付出努力的。

4. BGP:保護會話

因為BGP使用TCP進行傳輸,所以保護BGP會話也就意味著保護TCP會話,用於保護通用TCP的很多機制同樣能用在保護BGP會話上。可以採用 RFC 2827 和 RFC 3704 中的建議,在網絡邊界處封鎖明顯的欺騙數據包。

有了數據包封鎖,MD-5或TCP身份驗證選項(TCP-AO)就可以提供有效防護了。

這些會話保護措施都會增加部署和維護上的開銷。個人網絡擁有者需衡量其安全收益與所花開銷的性價比。不過,這四步走下來,就能讓BGP更加安全而健壯。

5. NTP: NTPsec

保護NTP很重要,但這裡面明顯應該先用NTPsec替換掉“經典”的NTP。作為更安全的NTP,NTPsec直接兼容經典代碼,且用戶不應感覺到有什麼變化。NTPsec僅僅是讓該基礎服務更難以被黑客利用而已。換成NTPsec,黑客就難以利用NTP來執行DDoS放大攻擊了。另外,大家普遍認為,NTPsec還能清潔代碼,並添加基本的管理和報告功能。

必須指出的是,NTP和NTPsec都是開源項目,吸引了很多志願者和支持者。網上支持和反對NTPsec的人都不難找到,但權衡下來,該協議的基本功能還是值得企業認真考慮的。

6. NTP:更新很重要

作為攻擊武器,NTP的主要價值在於:特定查詢所返回的數據可以比從原始攻擊系統發出的數據多上很多倍。NTP協議的一個問題是,該協議往往部署到系統上後再不更新了,讓很多老版本的服務器面臨攻擊風險。

NTP服務器軟件ntpd的每個版本,只要是4.2.7之前的,都可被黑客用於發起攻擊。更新的版本也可能存在漏洞,但只要不是更改了默認配置,一般還是比較健壯的。為增強安全性,最好保證ntpd是最新版本。

7. NTP:注意Monlist指令

Monlist指令是ntpd可被利用成強力放大攻擊武器的根源,該指令能返回最近連接NTP服務器的600個客戶端的詳細信息。

想要防止NTP被黑客武器化,必須限制monlist指令的執行。4.2.7之後的ntpd版本默認是限制monlist指令執行的;如果必須使用之前的版本,可以將該限制顯式添加到其配置文件ntp.conf裡。

8. FTP:別用標準版

FTP有用,但其基本形太過古舊僵化。該協議最根本的問題在於,從身份驗證到文件傳輸,所有操作都沒加密。如果應用程序或工作流需要文件傳輸功能,其替代版可以提供更加安全的功能執行。

最常見的兩個替代版是FTPS和SFTP。這兩個版本完成相同的功能:通過加密隧道傳輸文件(以及傳輸前的憑證)。不過,二者的實現方法並不相同。

SFTP是SSH中的FTP。FTPS是加了SSL的FTP。二者在安全上並無優劣之分,具體要實現哪一個,就看FTP在文件呈現和傳輸上的安全性需求了。或者,可以像很多團隊選擇的那樣,兩個都實現。

9. FTP:架在正確的網關後

很多情況下,FTP實現需允許合作伙伴、供應商或客戶與公司之間互傳文件。這意味著FTP服務器必須面對互聯網,通常是架在網絡中的非軍事區(DMZ)。

直面互聯網的服務器往往比隔離網絡中的服務器更脆弱。所以,如果必須保留FTP功能,就得設置FTP網關來保護FTP服務器。大多數情況下,該網關就是另一種形式的反向代理:外部客戶端先與網關發起會話,然後網關建立起從服務器到該外部客戶端的安全隧道。

FTP網關可選範圍很廣:AWS、IBM、Barracuda、Ipswitch都是能提供多種實現方式的公司,還有其他很多公司也能提供該功能。

10. FTP:目錄和文件安全

在網絡時代早期,人們還很單純的時候,公司企業有時候會通過FTP設置專用於發送和接收文件的子目錄。匿名FTP也可以在該子目錄中發送和接收文件,而且享有全部讀寫權限,文件保存時間還可以很長。

應採取一系列措施保護FTP服務器及其收發的文件:限制子目錄讀寫權限,限制子目錄中文件的讀寫權限,限制該子目錄呈現的內容僅為剛剛上傳或需要馬上下載的文件。

公網上的任何活動都可能有風險。但運用恰當的技術和策略,公司企業可以讓很多網絡活動變得更安全。


分享到:


相關文章: