- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業務經營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯網協會理事單位
- 安全聯盟認證網站身份V標記
- 域名注冊服務機構許可:滇D3-20230001
- 代理域名注冊服務機構:新網數碼
本文將為大家介紹在如今Microsoft系列(Win2k Win2k3)SERVER中使用最為廣泛的FTP服務器之一、大名鼎鼎的Serv-U FTP服務器中如何簡單地解決Overflow溢出、以及Hacker常用的Webhsell提升權限等類攻擊的隱患與缺陷;讀完本文,您將可以使您的 Serv-U服務器免去被溢出、被提升權限的安全威脅與危險。
前言:
大家應該都還沒有忘記三年前在Serv-U5.004版的之前所有版本的"Serv-U FTPMDTM命令緩沖區溢出"與"Serv-U FTP服務器LIST命令超長-l參數遠程緩沖區溢出漏洞"吧,這個漏洞讓很多服務器管理員立坐不安,也讓很多大型的站點、甚至電信級的服務器淪陷了...隨著Serv-U新版本的推出,這個漏同已經不存在了;雖然溢出不存在了,但黑客永遠也沒有停止,所以伴隨著來的又是Serv-U5.0到6.0之黑客常用的本地提升權限缺陷。(注:最常見的就如webshell+su提權,我在 Baidu輸入"Serv-U提權"關鍵詞,搜索結果“百度一下,找到相關網頁約34,000篇,用時0.001秒 ”)因此,解決Serv-U的安全問題迫在眉睫。
Serv-U提權雖然嚴格來說這個不應該算是Serv-U的重大漏洞,但只要因管理員的配置不當將會產生嚴重的后果;下面LeeBolin就來為大家介紹下如何安全配置 Serv-U,才能保證Serv-U甚至服務器的安全,跟我來.“go,go,go...”(最近CS玩多了,嘻嘻 :P)
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的安全配置小技巧就為大家介紹到這里...
提交成功!非常感謝您的反饋,我們會繼續努力做到更好!
這條文檔是否有幫助解決問題?
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP