保護Hadoop集群免受惡意軟件攻擊的三種方法

自今年以來,新的惡意軟件——XBash和DemonBot發動了多起針對Apache Hadoop集群服務器進行的比特幣挖掘和DDoS攻擊。這種惡意軟件可以掃描互聯網上的所有Hadoop集群,不安全的集群一被放置在互聯網上,幾分鐘內就可能被感染。


保護Hadoop集群免受惡意軟件攻擊的三種方法


保護Hadoop集群免受惡意軟件攻擊的方法:

1、不要將集群直接暴露給互聯網

將集群直接暴露給互聯網相當於為惡意軟件的攻擊提供了便利,DemonBot只需輕易掃描便可鎖定目標集群,並利用漏洞發起攻擊。

2、使用Kerberos進行強身份驗證

Hadoop集群本身提供簡單的安全防禦手段,但這對於企業而言遠遠不夠,Kerberos成為了不少研發人員的選擇。

其實,大部分攻擊都利用了系統已有漏洞,並不是攻擊手段有多高明,這就好比小偷從大開的家門進入一樣簡單。

如果沒有Kerberos,任何與集群交互的用戶都可以偽裝成其他用戶,甚至不需要特定密鑰,任何用戶都可以執行任何操作,類似於一個所有人都知道root密碼的Linux系統。

在一個正確配置且使用Kerberos進行身份驗證的Hadoop集群中, 用戶與集群進行任何交互都必須輸入憑據(如用戶名和密碼)以證明自己的身份和權限,此驗證提供了用戶和管理員期望的安全性:用戶在系統中的功能無法被他人訪問,只有管理員可以訪問管理帳戶。

如果沒有Kerberos,任何人都可以訪問Hadoop集群並執行各種操作。安全研究人員在Hack.lu會議上演示的攻擊案例就是提交一個簡單的YARN作業,並在集群的所有機器上執行代碼,這可用於在該集群的每臺機器上獲取shell。

XBash發起的攻擊之一就是使用Metasploit模塊向YARN提交比特幣挖掘工作。DemonBot使用相同的技術對受感染的Hadoop服務器運行DDoS攻擊。這種攻擊並不複雜,目標Hadoop服務器連接到開放式互聯網,並且未啟用Kerberos身份驗證。


保護Hadoop集群免受惡意軟件攻擊的三種方法


3、勾選安全服務

Cloudera的工程師使用Cloudera Altus創建了一個Hadoop集群。Altus是一個雲服務平臺,其能夠使用CDH在公有云基礎架構內大規模分析和處理數據。雖然使用Altus創建不受這些攻擊影響的安全集群很簡單,但也可以設置易受攻擊的集群。

在Altus中,製作易受攻擊的集群意味著不要選中Secure Clusters,也不要使用允許互聯網上任何位置傳入流量的AWS安全組。在創建對世界開放的不安全集群的幾分鐘內,我們就可以觀察到攻擊行動。YARN Web UI會顯示許多正在提交和運行的作業:DemonBot大約每隔一分鐘就會對集群發起攻擊。

要想設置一個更加安全的集群,我們需要滿足兩大目標:

一是僅允許從一組有限的計算機對集群進行SSH訪問;

二是通過Kerberos啟用強身份驗證,這在一些工具中很容易實現,比如Cloudera Altus。在Cloudera Altus中,集群是在環境中創建的,環境描述瞭如何訪問用戶的程序帳戶及其包含的資源,指定了創建集群的基礎知識。


保護Hadoop集群免受惡意軟件攻擊的三種方法


因此,我們需要重點注意的是Altus環境配置。創建環境有兩種方法:一是通過簡單的快速入門或設置嚮導,快速入門教程當然最簡單。創建環境時,選擇“Environment Quickstart”,然後選擇“Secure Clusters”的“Enable”即可。

啟用安全集群后,將啟用Kerberos。Quickstart還將創建一個外部世界無法訪問的安全組 ,我們在此環境中創建的集群,基本不會被現有惡意軟件攻擊。如果需要使用環境創建嚮導,可以單擊“ Quickstart”中的“Secure Clusters”。

不同的是,在第二種方式中,用戶必須自己提供安全組。創建安全組時,請確保它僅允許從Altus IP地址進行SSH訪問。當然,無論你選擇什麼工具和平臺,都需要保證勾選了安全服務,國內各大廠商在設計時應該都將其考慮在內了。


分享到:


相關文章: