https://www.informationsecurity.com.tw/seminar/2021twcert/
https://www.informationsecurity.com.tw/seminar/2021twcert/

觀點

給初學者進入雲端的第一個臺階

2010 / 12 / 27
翁浩正
給初學者進入雲端的第一個臺階

雲端技術對初學者來說,真是又懼又怕。想快速體驗雲端威力,該從什麼地方下手呢?盲目的將現有系統強制改為雲端架構,但卻不了解雲端,很可能因而事倍功半。讀者可參考本期「雲的另一端,世界的真實」一文,有更深入的介紹。

Amazon Elastic Compute Cloud(簡稱Amazon EC2)是一個技術門檻最低,但卻能夠快速體驗雲端威力的平台。自2006年就開始提供服務,相較其他IaaS服務來說成熟許多。它提供即時作業系統建置服務,只需要在AWS Management Console網頁上點選就可以使用,另外也有提供Elasticfox Firefox擴充元件或其他API Tools的管理工具,十分簡易。

Amazon EC2使用Xen虛擬化技術,使用者僅需選擇伺服器等級,等待系統開設完畢之後即可使用。伺服器在EC2稱為Instance,等級分為Small、Large、Extra Large,另外有特別需求的High-Memory、High-CPU等,皆以小時計費,直到終止伺服器時便停止計費。另外也有提供長時間租用的Reserved Instances,此種方案提供1年或3年長期保留使用,並提供較低廉的價格。Spot Instances使用競標方式租用系統,根據主機上Instance的剩餘資源,以競標的方式給予使用者使用。此種方式適合不急於馬上使用的用戶,等待價格到了自己所定義的範圍,就會通知並開啟服務。

Amazon EC2目前提供不少常用的伺服器作業系統(註1)。除了作業系統外,Amazon也有提供相當多服務取向的系統(註2)。只要選擇這些系統,一啟動便可以直接使用這些服務。如果有特殊需求,可以自行建立系統AMI (Amazon Machine Images)檔,日後也可重覆使用。接下來,本文會從初學者的角度,一步一步來介紹怎麼使用 AmazonEC2。

雲端的第一步

先至Amazon EC2首頁申請帳號,如果已有Amazon帳號之後便會進入EC2申請程序,一開始它會要求輸入信用卡資訊,以便之後付費的驗證。接著系統會要求輸入電話號碼進行驗證,選擇國碼以及電話號碼後,便會接到來電確認。不須擔心英文問題,只要聽取Amazon語音電話,輸入電腦螢幕上要您輸入的檢查碼,就可以馬上通過驗證。接著就Amazon EC2不僅是較為成熟的雲端服務以外,更由於它成本低廉、技術門檻低的特性,也使得它可以是駭客進行攻擊時的一個絕佳工具,為求知己知彼,本篇特此介紹使用EC2的簡單操作以及可能運用的攻擊手法。

完成申請程序,完成時會發信到所設定的信箱。申請完畢之後,首先必須要做的事情是申請憑證(Security Credentials)。憑證在日後使用Amazon Web Services API、存取Instances、使用各種控制工具都會用到。此外建立X.509憑證時,必須要妥善保存Private Key以及Certificate,避免讓外人直接存取。各種資訊完備之後即可等待Amazon開通服務,並可至Account Activity查看目前的進度。

開始使用

當服務可以使用時,進入主控台(圖1)可看到目前服務的狀態、使用狀態等。左方功能表可進行各種設定,其中要注意的最上面Region地區設定。不同地區主機、設定都是獨立的,價格也有差異。


▲ 圖1:Amazon EC 2主控台

開始建置主機,我們可以直接點選中間的Launch Instance,只要5個步驟就可以設定完畢。一開始必須要選擇Amazon Machine Image (AMI),不同的AMI就代表著不同的系統。


▲ 圖2:主機建置精靈Quick Start

如圖2所示,第1個分頁是Amazon提供的Quick Start Instance,提供了基本的作業系統及服務,例如Fedora 8 基本伺服器,或者Microsoft Windows Server 2008等。第2個分頁是My AMIs,可建立自己專屬的AMI。第3個分頁是Community AMIs提供所有社群製作的AMIs,例如各種版本的Linux、Windows等。在這邊可以找到各式各樣的系統,但同時我們也必須注意系統是否符合我們的需求,以及這個系統是否安全。

選擇好我們所需要的AMI ,接著就是選擇要建立的Instance數量、類型以及主機可用區域(Availability Zone)。接下來是進階設定,可以選擇Kernel ID以及RAM Disk ID,使用Amazon EC2 APITools命令可以查看目前所有可選擇的Kernel ID。另外也有監控選項,可以使用CloudWatch來監控我們所開啟的Instance,要注意的是,此項服務是另外計費。最下方的User Data可以選擇在系統開機時預先執行我們所定義的設定,對於需要預先佈置系統的使用者來說相當有用,例如在開機時直接開啟服務以及抓取所需要的資料、工具等。如需更進階的用法,可參考官方文件。(註3)

在做好Instance設定之後,接著我們必須要建立Key Pair(圖3),新建立Key Pair提供連線至我們所建立的主機,建立好之後會將Private Key下載保存,請一定要妥善保存,如果遺失就無法使用。也可以選擇最下面的Proceed without a Key Pair,但是我們就無法直接登入系統,除非知道主機預設的密碼。此後便是設定防火牆及群組。同一群組的Instance防火牆設定是一樣的,新建立一個群組,預設開放HTTP、MS SQL Server,管理介面開啟RDP遠端桌面連線,若有安全需求,可以根據需要修改或者將來源IP限制成自己的主機。


▲ 圖3:建立 Key Pair

最後檢查所有設定是否正確,在此例我們建立一台Microsoft Windows Server 2008系統,其他設定一律使用預設值,並使用最小規模的Instance。若需要修改可直接點選Edit,確定沒問題之後,點選Launch就會開啟主機。回到主控台,我們可以看到剛剛所建立的主機狀態是Pending,其中Root Device Type 這邊顯示ebs,代表使用Elastic Block Store,系統會預先幫我們建立一組儲存空間,可以點選左方的Volumes查看,在EBS上使用的資料都會幫我們保留,而一般EC2非EBS的磁碟資料關機之後就會消失。如果有需要備份我們磁碟的資料,可以使用左方的 Snapshot功能進行備份(圖4)。


▲ 圖4:主機主控台

等待主機配置好之後,就會在狀態顯示Running,在主機上按右鍵會出現控制選單,按下連線之後它會出現簡易連線教學,可下載RDP捷徑檔使用,或者直接輸入Instance的public domain name進行連線。在進行連線之前,必須先在控制選單選擇Get Windows Password取得主機帳號密碼,如圖5。其中要注意的是,有的時候主機尚未初始化完成,點選時會出現尚未建立完畢,通常Windows主機要等待15至20分鐘才會建立完畢。在取得密碼的視窗中,必須輸入Key Pair中的Private Key。


▲ 圖5:取得主機密碼

取得密碼之後就能直接透過RDP遠端桌面連線至主機,如圖6。同時也能直接在主機中開啟所需要的服務,例如說IIS服務。直接輸入Instance的public domain name 即可連線。當使用完畢,在Instance主控台直接按右鍵選擇Terminate,即會停止計費。 


▲ 圖6:遠端桌面連線

Amazon EC2 黑帽駭客新寵

Amazon EC2為什麼會被很多使用者推崇?與資安的關係何在?一般人僅知道雲端技術很熱門、可以做很多事,但卻不知道到底它可以做什麼。就目前所知,由於EC2快速建置、大量佈署的特性,目前被不少黑帽駭客利用進行惡意攻擊。如建置Botnet、當做跳板攻擊、破解密碼或設立釣魚網站等。

雲端殭屍網路

使用Amazon EC2 API Tools可以快速的大量佈署系統環境,對於需要大量主機的使用者來說非常方便。目前在EC2之中發現Botnet的存在,便是雲端技術的應用。使用自己設立的主機群來建立Botnet,或者是入侵未妥善管理的主機進行大量佈署。因為雲端技術剛萌芽不久,安全性問題被重視的程度還須加強,只要管理者的主機或者作業系統被入侵,整個EC2上所擁有的主機也將遭受風險。

雲端跳板

雲端對攻擊者來說就像是一個個雲端跳板,只要佈署好所需要的工具,就能直接利用它來攻擊其他主機。在筆者自己的伺服器就曾發現來自EC2的大量分散式暴力攻擊,這就很可能是駭客發動的攻擊。使用雲端攻擊的好處是,除非將整個AmazonEC2的IP區段全部封鎖,否則你無法預測攻擊者是從什麼主機來的。攻擊者也不用另外尋找跳板使用,只要自行建立即可。

密碼破解

在網路上,破解密碼一直是非常重要的議題,因此EC2提供了一個優良的方案。先在EC2佈署時放置分散式破解密碼工具,當需要使用時,一次建置大量主機一起進行運算。因其使用時間短(僅至密碼破解完畢),因此對攻擊者來說,其花費相對低廉。例如使用Elcom Soft Distributed Password Recovery破解密碼,本身具有分散式破解密碼的Agent,只要在每個Cloud自動安裝設定好,就可以直接進行破解。

不少網站管理者因不堪其擾,乾脆將EC2的來源連線直接封鎖。因此雲端安全也是今年一大重點。不管是雲端服務使用者,或是一般網站管理者。雲端攻擊與以往傳統攻擊的不同點在於,雲端可以快速建立分散式攻擊,因此傳統的各種分散式攻擊都可以很輕易轉移至雲端。雲端只是一種新的思維,身為防護者的我們,並不需要什麼特別的雲端資安防護。老生常談的密碼原則:密碼強度必須足夠、密碼不共用、密碼常更換,並建立防火牆以及防護機制阻擋分散式暴力法攻擊等。最後,如有發現惡意使用的EC2主機,可以回報(註4)。

未來雲端技術服務一定會大量增加,使用者更應謹慎選擇自己所需要的服務,清楚自己的需求,並瞭解其風險及限制,才能真正「漫步在雲端」。

註1. 例如Windows Server 2003、Server 2008、Red Hat Enterprise Linux、Gentoo Linux、Debian、openSUSE Linux、Fedora、Ubuntu、CentOS、OpenSolaris等。
註2. 例如資料庫服務提供IBM DB2、Informix、Microsoft SQL Server、MySQL Enterprise、Orcale Database,Web服務提供 Apache HTTP Server、Microsoft IIS、IBM Lotus WebSphere Portal Server等。
註3. http://developer.amazonwebservices.com/connect/entry. jspa?externalID=1085
註4. http://aws.amazon.com/contact-us/report-abuse/

本文作者為資安服務廠商技術顧問

目前Amazon EC2 IP Range
US East (Northern Virginia):

216.182.224.0/20 (216.182.224.0 - 216.182.239.255)
72.44.32.0/19 (72.44.32.0 - 72.44.63.255)
67.202.0.0/18 (67.202.0.0 - 67.202.63.255)
75.101.128.0/17 (75.101.128.0 - 75.101.255.255)
174.129.0.0/16 (174.129.0.0 - 174.129.255.255)
204.236.192.0/18 (204.236.192.0 - 204.236.255.255)
184.73.0.0/16 (184.73.0.0 – 184.73.255.255)

US West (Northern California):
204.236.128.0/18 (216.236.128.0 - 216.236.191.255)
184.72.0.0/18 (184.72.0.0 – 184.72.63.255)

EU (Ireland):
79.125.0.0/17 (79.125.0.0 - 79.125.127.255)