欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Serv-U防溢出提权攻击解决设置方法

程序员文章站 2022-06-13 19:20:06
前言: 大家应该都还没有忘记三年前在serv-u5.004版的之前所有版本的"serv-u ftpmdtm命令缓冲区溢出"与"serv-u ftp服务器list命令超长-l...
前言:
大家应该都还没有忘记三年前在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防溢出提权攻击解决办法就为大家介绍到这里,您看到此处后,你会了吗?

后记:其实服务器、系统的安全是个整体的概念;有可能你其它一小点的疏忽就可以让你的网站、甚至服务器沦陷。因此安全策略必需走防患未然的道路,任何一个小地方都不能马虎、今天关于防serv-u的安全配置小技巧就为大家介绍到这里...其它方面的服务器安全配置经验我们在下一篇文章再见吧:-) (注:由于本人才疏学浅,如文中有错误实为在所难免,还请各位看官见谅!旨在抛砖引玉,如果您有更好的办法请别忘了在服安论坛跟贴^0^,先行谢过!)

关于本文版权:本文版权归[服务器安全讨论区]与[本文作者]共同所有,您可以任意转载,但务必请保留文章的完整性与信息来源及作者信息等链接;但不欢迎转载者除去本版权信息。

关于本文作者:李泊林/leebolin 服安科技资深系统工程师、专业网络安全顾问。已成功为国内多家大中型企业,isp服务商提供了完整的网络安全解决方案。尤其擅长于整体网络安全方案的设计、大型网络工程的策划、以及提供完整的各种服务器系列安全整体解决方案。[s.s.d.a 服务器安全讨论区] www.31896.net e-mail:bolin.lee#gmail.com qq:24460394 您对本文有任何建议与疑问可以来信或者qq在线与作者进行交流;或者到服安论坛与作者进行讨论!