高雄市實作規定不能用套裝的Appserv與Xampp這種整合架站包來當架站軟體,因為有安全性的漏洞問題,所以必須分開來一套一套的架,不然就必須要做適當的修補。
(不過,一套一套的架絕對不是想像中的1+1+1...啊!複雜的程度差太多了...)
網站管理者不可不知:AppServ套件成為駭客入侵後門
使用AppServ可以在Windows作業系統中輕鬆安裝與架設網站伺服器,AppServ包含Apache、PHP、Mysql與phpMyAdmin等網站環境元件,深受一般人的歡迎。因為AppServ已經5年未更新,駭客利用其phpMyAdmin的漏洞植入木馬後門程式,因而觸發多起資安事件。本中心特此深入分析AppServ套件漏洞與木馬後門的運作原理,以提供網站管理者有效解決方案。
AppServ漏洞與Sdbot運作原理
在隨機分析3台被通報為異常主機的網路封包後,我們發現這些異常主機的phpMyAdmin頁面存在著被外部主機存取的紀錄,初步得知這些異常主機的問題與phpMyAdmin有關。而phpMyAdmin可讓管理者透過Web介面管理後端Mysql資料庫,提供資料庫之匯出、匯入、刪除與修改等功能,使用該套件可增加管理後台資料庫的便利性。至於為何以及如何被惡意程式操控,則需要更進一步的分析。
經過向被通報的異常主機管理者查詢後確認這些主機都有一個共通性,均安裝了AppServ 2.5.10套件。AppServ套件在安裝時自動幫使用者將Apache、PHP、Mysql與PhpMyAdmin四個套件安裝並設定好,就因為這樣的方便性,許多學生架設網站時喜好採用這個整合套件。
我們分析本校異常主機的封包後逐步還原整個資安事件的運作原理。首先,攻擊者利用phpMyAdmin中"setup.php"的漏洞,將惡意的PHP code(程式碼)植入受害主機,並透過setup.php頁面上的管理選項參數(如圖二顯示之按鈕選項),偽造與Server端溝通的Token,將惡意程式碼寫入主機,如圖三所示。同時利用此頁面將PHP設定檔重置(reload),在重置的過程中執行被植入的惡意程式碼。導致受害主機自動連線至外部主機下載並執行Sdbot木馬程式。受害主機遭受感染後,隨即透過IRC(Internet Relay Chat)聊天室向Bot C&C Server(Control & Command Server)報到並等候攻擊指令,成為Botnet(殭屍網路)的一員。通常Bot的活動包含,從Internet下載惡意軟體,從受害主機竊取機敏資料,入侵其他系統,或者發動DDoS (Distributed Denial-of-Service)攻擊其他系統等。
從本校被通報的異常主機之網路封包分析中發現,異常主機接收到攻擊指令後,開始對攻擊目標IP發出大量的UDP Flood攻擊,如圖四所示。攻擊命令包含UDP洪水攻擊開始(UDPFlood Started)、攻擊目標主機IP位址、攻擊封包數量及攻擊結束(UDPFlood Finished)等。大量的UDP Flood攻擊不僅影響異常主機之區域網路傳輸速度,本機提供之服務也無法正常運作。
建議措施
由於Sdbot的特性,主機感染後僅會將Sdbot暫存於記憶體中,因此透過重新開機便可將Sdbot自主機中清除。除此之外,還需刪除有漏洞的setup.php,以免漏洞再次被利用。因此我們提供兩種建議,一種是緊急措施,施作後可以在短時間內讓網站恢復正常運作,另一種則是長治久安的措施。因為AppServ套件長達五年未提供更新程式,或許還有其它漏洞,未來仍有漏洞被利用的風險,重新安裝最新版本的網站應用程式才是最佳解決方案。
緊急建議措施:
刪除C:\AppServ\www\phpMyAdmin\scripts\setup.php(此為預設路徑,需確認主機setup.php的路徑)
重新啟動主機(務必清空主機記憶體中的攻擊程式)
有效建議措施:
建議網站管理者將重要資料備份後,移除AppServ套件,並且重新安裝最新版的Apache、PHP、Mysql、PhpMyAdmin。
https://geek0001.wordpress.com/2014/04/14/%E4%BF%AE%E8%A3%9Cheartbleed%E6%BC%8F%E6%B4%9E/
修補Heartbleed漏洞
Heartbleed有人說是網路有史以來最嚴重的漏洞,嚴重性就不用贅述了,上週就趕緊清查所有伺服器,使用Xampp的朋友們,如果你的Openssl版本在1.0.1到1.0.1f之間的還沒修補,趕快參考這個網頁說明進行修補,將Openssl升級到1.0.1g:https://www.apachefriends.org/blog/heartbleed-bug.html
注意:使用Xampp-Linux,下載更新檔後,它的patch.sh應該有錯,啟動跟停止Xampp的指令(舊版??)應該為 /opt/lampp/lampp stopapache 以及 /opt/lampp/lampp startapache ,請自行修改patch.sh第51和76行
另外,這是台南市吳弘凱老師針對xampp安全性所寫的一篇文章,提供參考:
http://www.tad0616.net/modules/tadnews/index.php?nsn=192
加強XAMPP安全性
最近陸續有幾間學校中了鏢,流量異常的大,檢查之下才知道是有些吃飽沒事幹的人利用XAMPP中的webdav來搞怪,裡面被擺了兩隻檔案,一隻用來觀察系統狀態及上傳檔案,另一隻則是用來攻擊別人。這是因為XAMPP剛裝好的狀態如下:
1.MySQL 的系統管理者 (root) 預設沒有密碼。
2.可以透過任何網路來存取 MySQL。
3.可以透過任何網路來存取 PhpMyAdmin
4.可以透過任何網路來存取所有範例。
5.Mercury 、WebDAV 和 FileZIlla的使用者都是已知的(正大光明寫在文件中及往佔上)。
換言之,若是您沒有做好一些措施,那麼,您的主機可以說是門戶大開的狀態。
底下是手動加強安全性的方法:
一、設定MySQL 的root 密碼
1.執行http://127.0.0.1/security/xamppsecurity.php來設定之
2.phpMyAdmin 認證建議設定「http」
3.「Safe plain password in text file? 」勿勾選。
二、移除 /htdocs/ 目錄內不必要的目錄及檔案
底下這些都可以移除(紅色的地方必刪啊!)
•C:\xampp\cgi-bin
•C:\xampp\security\htdocs
•C:\xampp\webdav
•C:\xampp\htdocs\下的所有檔案目錄
•C:\xampp\apache\conf\extra\httpd-dav.conf(移完請開啟 C:\xampp\apache\conf\httpd.conf,在 491 行之前需加入一個 # 註解符號,讓它不去執行"conf/extra/httpd-dav.conf" 即可,如:「# Include "conf/extra/httpd-dav.conf"」)
三、移除FTP預設帳號密碼
檢查FTP Server是否啟動,若有可從XAMPP控制台FTP的Admin去做以下兩者的設定:
•變更FTP伺服器管理員密碼
•變更FTP預設使用者密碼
本文於 2015/07/01 16:19 修改第 4 次