Serv-U防溢出提權攻擊解決設置方法
一、大家知道Liunx系統和Unix系統比Windows安全的一個重要原因在于:Linux和Unix的系統服務不使用root權限,而是使用權限比較低的另外一個單獨用戶,比如web服務使用了nobody這個用戶。而Serv-U默認是以system身份運行的,而System這個系統內置賬戶對本機有完全操作的權限;因此如果攻擊者利用Serv-U程序的漏洞而獲得了可執行shell的那,那么他將可以隨意控制操作系統里任何一個目錄了
二、我們根據一的講解知道了為什么Serv-U提權與溢出攻擊可怕的原因了,那么我們該如何防止這一類攻擊的發生呢?答案就是降底Serv-U的運行權限與控制Serv-U的“Acls”可訪問目錄...好,下面就一步一步跟我來吧!
三、Serv-U安全配置
1、首先請保持合用Serv-U的最新版本(目前新版為6.4...)。然后在安裝Serv-U的時候盡量不要選擇默認的安裝目錄,比如俺將Serv-U 安裝在D:/Pro_LeeBolin^_^/Serv-U#$2008$/...(因為這樣復雜的目錄名可防止Hacker的猜解)
2、然后將Serv-U取消MDTM命令的執行,修改Serv-U FTP Banner并開啟好Serv-U的FTP日志保存到非系統盤,日志選擇記錄好Serv-U命名用了那些命令與DLL,并為Serv-U設置一個強壯的本地管理密碼(因提權多是因為Serv-U的默認管理員:LocalAdministrator,默認密碼:#l@$ak#.lk;0@P所造成的,呵呵 $_$),你還可以選擇將Serv-U的FTP賬戶信息保存到注冊表,不要存在Serv-U目錄下的ini文中,這樣更加安全。
3、我們再開啟"計算機管理"新建一個用戶Serv-UAdmin,設置好密碼。將用戶退出Users組,不加入任何組。并在用戶的“終端服務配置文件”選項里取消“允許登錄到終端服務器。并且禁止Serv-UAdmin用戶的本地登陸。進入控制面板 -> 管理工具 -> 本地安全策略 -> 本地策略 -> 用戶權利指派 -> 拒絕本地登陸。(備注:這個用戶我們將它來作為俺們Serv-U的服務運行賬號,嘿嘿)[(AD^_^:游刃在技術鬼神邊緣,打造服務器安全神話!創世紀網絡技術前瞻,成就互聯網革命先驅!服務器安全討論區[S.S.D.A]) ]
4、開始運行"Services.msc"打開win的服務管理器,找開Serv-U Ftp Server的Serv-U服務;打開“登陸”對話框。當前默認的為“本地系統帳戶”。我們將其修改為我們在3中新建的Serv-UAdmin用戶,并輸入密碼。
5、下面的工作就是設置Serv-U的運行與FTP目錄的ACLs權限了:
①C:/Documents and Settings/Serv-UAdmin 目錄加入Serv-UAdmin的權限,允許讀取與寫入..
②D: /Pro_LeeBolin^_^/Serv-U#$2008$/ Serv-U的安裝目錄加入Serv-UAdmin的權限,允許讀取與運行。(如果選擇了賬戶保存在ini文件的話,這里就需要增加修改與刪除權限,因增刪FTP賬戶時需要刪改權才成,否則不能增刪FTP賬戶喲^_^)
③ 如果Serv-U賬戶選擇存在注冊表的話。運行regedt32.exe,打開注冊表編輯器。找到[HKEY_LOCAL_MACHINE/ SOFTWARE/Cat Soft]分支。在上面點右鍵,選擇權限,然后點高級,取消允許父項的繼承權限傳播到該對象和所有子對象,刪除除admins外的所有的賬號。僅添加 Serv-UAdmin賬號到該子鍵的權限列表,并給予完全控制權限。(如果選擇了賬戶信息保存在ini文件中的話可略過此步。)
④ 現在就來設置WEB目錄的ACLs了,比如我的虛擬主機總目錄為E:/Leebolin$(%;那么我們將此WEB目錄加入 Serv-UAdmin賬號的權限即可,這樣FTP就可以訪問我們的WEB目錄進行上傳下載了,呵.(由于Serv-U并沒有以system運行,所以這里只存留admins與serv-uadmin的權限就OK了。)
⑥如果是asp/php/html腳本的話,WEB目錄只需要 admins & serv-uadmin & IUSR_XX即可(這里的IUSR_XX是指站點的匿名單用戶賬號...關于站點的安全與asp.Net的安全請參考我以前的文章:《FSO安全隱患解決辦法》、《ASP木馬Webshell之安全防范解決辦法》、《ASP.NET木馬及Webshell安全解決方案》、《服務器安全檢查十大要素》)
四、到目前為止,我們的Serv-U已經簡單的做到了防提權,防溢出了。為什么呢?因為能常遠程溢出 overflow的話,都是通過得一shell 而進行進一步的hacking,而我們現在的Serv-U不是以system運行,所以即使執行了overflow指命,也并不能得到什么...防提權就不用我解釋了:因為我們的Serv-Uadmin沒有任何系統級的ACLs訪問權限..
五、今天的Serv-U防溢出提權攻擊解決辦法就為大家介紹到這里,您看到此處后,你會了嗎?
后記:其實服務器、系統的安全是個整體的概念;有可能你其它一小點的疏忽就可以讓你的網站、甚至服務器淪陷。因此安全策略必需走防患未然的道路,任何一個小地方都不能馬虎、今天關于防Serv-U的安全配置小技巧就為大家介紹到這里...其它方面的服務器安全配置經驗我們在下一篇文章再見吧:-) (注:由于本人才疏學淺,如文中有錯誤實為在所難免,還請各位看官見諒!旨在拋磚引玉,如果您有更好的辦法請別忘了在服安論壇跟貼^0^,先行謝過!)
關于本文版權:本文版權歸[服務器安全討論區]與[本文作者]共同所有,您可以任意轉載,但務必請保留文章的完整性與信息來源及作者信息等鏈接;但不歡迎轉載者除去本版權信息。
關于本文作者:李泊林/LeeBolin 服安科技資深系統工程師、專業網絡安全顧問。已成功為國內多家大中型企業,ISP服務商提供了完整的網絡安全解決方案。尤其擅長于整體網絡安全方案的設計、大型網絡工程的策劃、以及提供完整的各種服務器系列安全整體解決方案。[S.S.D.A 服務器安全討論區] www.31896.net E-mail:bolin.lee#gmail.com QQ:24460394 您對本文有任何建議與疑問可以來信或者QQ在線與作者進行交流;或者到服安論壇與作者進行討論!
