打印本文 关闭窗口 | |
Serv_U配置 | |
作者:佚名 文章来源:本站原创 点击数 更新时间:2011-04-27 07:51:24 文章录入:pygbw 责任编辑:pygbw | |
|
|
一、serv-u安全隐患及利用。 Serv-U是一款十分经典的FTP服务器软件,一直被大部分管理员和虚拟主机所使用,它简单的安装和配置以及强大的管理功能也一直被管理员们称颂。但是随着使用者越来越多,也有越来越多的主机被通过Serv-U软件所入侵。 本文旨在提出一些切实可行的方法,彻底杜绝由Serv-u带来的安全隐患。 1、Serv-u的安装: 关于Serv-u的安装网上许多文章中提到要安装在一个复杂的路径,个人认为这个不是十分必要,完全可以按照你喜欢的例如:D:\soft\Serv-u目录里。但是不推荐安装在系统盘目录里,也不推荐安装在c:\Program files目录里,因为这个目录的权限的原因(详细权限设置以后再发文专门讨论)。推荐的方式是无需安装,直接使用绿色版的或直接复制在其他机器上安装好的Serv-U的目录。serv-u的用户配置文件有两种方式,一种是存放在注册表,一种是存放在ServUDaemon.ini文件,推荐使用存放在.ini文件里面的方式,这种方式便于ser-u软件的升级,也便于重装系统后的ftp用户的恢复,在权限设置上也相对方便。另外版本的选择一定要选择6.3版本以上的,现在最新的是 6.4.0.6 ,推荐使用,这里我们假设serv-u软件放在的的D:\soft\Serv-U目录里。 2、权限设置: 上传目录权限的设置:因为serv-u是用ftp这个帐户运行的,所以上传的目录给予ftp用户的完全访问权限就可以了,比如我们可以设置D、E、F盘的权限为administrators和ftp完全控制的权限,System权限也不用加了,如果serv-u用默认权限运行,则必须加入system权限才能对该目录进行ftp操作。
Serv-u在本机有一个默认监听端口,默认监听127.0.0.1:43958,在本机才能连接这个管理端口,默认管理账号是LocalAdministrator,默认密码是"#l@$ak#.lk;0@P",这个密码是固定的。所以几乎所有的针对serv-u攻击的木马便是利用此来添加serv-u用户的,比如增加一个指向C盘的超级管理员用户,够可怕吧。 提权后可以直接执行命令添加管理员帐户,并且加了个隐藏的管理员帐户(当然这个帐户隐藏方式比较低级)如果成功了,用这个帐户远程登录上去创建一个克隆的管理员帐户,再把这个删掉)。管理员如果连serv-u安全都做不很好的,对于隐藏度很高的克隆的帐号也不一定能发现,所以Serv-U的安全不容忽视。 比如俺一个朋友就喜欢用SQLDebugger 、SUPPORT_XXX等这样的帐户克隆出管理员帐户,查看属性又看不出来,很容易逃脱管理员的眼睛。 如何彻底解决这个安全隐患,有个最简单的方法就是给serv-u设置一个本地管理密码,也就是所有增加删除修改serv-u的用户及更改设置的操作,都需要经过本地密码验证。
这里再介绍另一种解决问题的方法,结合上面的设置本地管理密码可以让我们的Serv-u更安全。就是修改serv-u的默认管理帐号和密码,这里我们用到了UltraEdit-32这个软件。 用UltraEdit-32打开servUAdmin.exe 查找LocalAdministrator,和#l@$ak#.lk;0@P,将这两个字符串修改为等长度的字符串保存即可,注意一定是等长度的。
简单总结一下以上所说的安全要点: 1、尽量使用最新版的Serv-u,如果英文还可以,推荐直接用英文版的,如果要用中文的,一定要在其他机器进行测试,确认汉化包无流氓插件后再在正式服务器上使用。 2、设置Serv-u运行于普通用户权限,这样即使通过木马执行net localgroup administrators XXX /Add也不可能执行成功了。 3、设置Serv-u的目录权限,只给administrators和运行serv-u用户的权限,其他的都不要给,尤其是everyone权限(在服务器上使用everyone权限要十分慎重,网上有很多文章图懒法不管三七二十一加个everyone就算了的。您可不要图懒也加个everyone就算了,我所配置的服务器中没有一处是使用everyone权限的。)和guests权限,users用户权限也不要给。目的就是彻底防止通过Webshell访问到Serv-u目录,如果这一步设置不严,即使设了Serv-u密码,通过Webshell下载了你的Serv-u去破解或者用UltraEdit-32打开分析,也一样可能造成攻击。
5、务必要设置一个本地管理密码,防止通过Webshell连接默认用户名密码的方式进行攻击。 6、推荐用UltraEdit-32更改serv-u默认的帐户密码,其实也花不了很多时间。 7、端口的设置,完全可以根据个人喜好设置,个人认为与安全并无多大关系,因为即使更改了默认的21端口,如果有人想攻击,一样可以扫描出来。 只要严格注重了以上几点,那么可以说你可以安全放心的使用你的Serv-u了。当然,服务器的安全是一个整体,任何地方的疏忽都有可能造成整个服务器的安全隐患。以上所说仅仅是与Serv-U相关的安全设置,绝不代表整个服务器就安全了。这一点务必注意。下面说说防火墙的设置。
关于防火墙的处理最常见的一个难题是主动FTP与被动FTP的区别以及如何配置防火墙并完美地支持它们。很多管理员可能都发现,在开了防火墙的服务器上利用FTP传输总有这样那样的小问题,有时传输数据“不够流畅”。幸运地是,本文能够帮助你彻底搞清在防火墙环境中如何支持FTP这个问题上的烦恼。 FTP服务是仅基于TCP的服务,不支持UDP。 与众不同的是FTP使用2个端口,一个数据端口和一个命令端口(也可叫做控制端口)。通常来说这两个端口是命令端口(21)和数据端口(20)。但当我们发现根据(FTP工作)方式的不同数据端口并不总是20时,新的问题就出来了。 主动FTP: 主动方式的FTP是这样的:客户端从一个任意的非特权端口N(N>;1024)连接到FTP服务器的命令端口,也就是21端口。然后客户端开始监听端口N+1,并发送FTP命令“port N+ 1”到FTP服务器。接着服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1)。 针对FTP服务器前面的防火墙来说,必须允许以下通讯才能支持主动方式FTP 主动方式FTP的主要问题实际上在于客户端。FTP的客户端并没有实际建立一个到服务器数据端口的连接,它只是简单的告诉服务器自己监听的端口号,服务器再回来连接客户端这个指定的端口。对于客户端的防火墙来说,这是从外部系统建立到内部客户端的连接,这是通常会被阻塞的。 被动FTP 为了解决服务器发起到客户的连接的问题,人们开发了一种不同的FTP连接方式。这就是所谓的被动方式,或者叫做PASV,当客户端通知服务器它处于被动模式时才启用。在常用的FTP传输软件中也均有相关设置,例如FlashFXP的在选项-》参数设置-》代理里面就有相关选项。 在被动方式FTP中,命令连接和数据连接都由客户端,这样就可以解决从服务器到客户端的数据端口的入方向连接被防火墙过滤掉的问题。当开启一个FTP连接时,客户端打开两个任意的非特权本地端口(N >; 1024和N+1)。第一个端口连接服务器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交PASV命令。这样做的结果是服务器会开启一个任意的非特权端口(P >; 1024),并发送PORT P命令给客户端。然后客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。 对于服务器端的防火墙来说,必须允许下面的通讯才能支持被动方式的FTP: 服务器的大于1023端口到远程的大于1023的端口(出;服务器发送ACK响应和数据到客户端的数据端口 S->C)
主动FTP对FTP服务器的管理有利,但对客户端的管理不利。因为FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端的防火墙阻塞掉。被动FTP对FTP客户端的管理有利,但对服务器端的管理不利。因为客户端要与服务器端建立两个连接,其中一个连到一个高位随机端口,而这个端口很有可能被服务器端的防火墙阻塞掉。 幸运的是,有折衷的办法。既然FTP服务器的管理员需要他们的服务器有最多的客户连接,那么必须得支持被动FTP。我们可以通过为FTP服务器指定一个有限的端口范围来减小服务器高位端口的暴露。这样,不在这个范围的任何端口会被服务器的防火墙阻塞。虽然这没有消除所有针对服务器的危险,但它大大减少了危险。 在安装Serv-U并初次运行的时候,防火墙会提示提示是否允许Serv-U连接网络,这里我们选择允许。这样ServUDaemon.exe就在防火墙的信任的程序当中了。 再在防火墙中添加端口,注意如果你的FTP端口是默认的21,那么需要添加两个端口,21和20。如果你的FTP端口是1000,那么还要添一个999,以此类推。值得一提的是,添加完端口后,在防火墙的高级设置里就不用设置了,以个人经验这个地方如果再开启了,反而会有些问题。之前曾因为这个地方的设置百思不得其解而郁闷过,后来终于搞懂只设一个地方即可。如图所示: 接下来设置Serv-U的PASV:如图所示,这个地方的设置关系到常遇到的FTP传输是否“流畅”的问题,尤其是在网速慢的情况。这里的端口范围要指定的一定要是服务器上空闲的一段端口范围,比如有的软件用了3306,这里就不要用3000-3500了,这个地方所说的也就是前面提到的为FTP服务器指定一个有限的端口范围来减小服务器高位端口的暴露。这也是国内很多虚拟主机商的做法。 再来看一下传输的情况:从FlashFXP的传输日志中可以看到没传输一个文件端口就会从指定的PASV端口加一个,加到最大后再重新返回端口范围的最小端口,如此循环实现FTP文件传送。显然如果这里不能顺利的开启端口,就会造成FTP传输的停顿,也就是常说的不流畅,需要重新连接一下FTP。
大家可能都碰到的类似以下的连接FTP服务器时的提示信息,其实这个地方即使不知道对方FTP帐户密码,只要知道端口(也可能通过扫描出的端口尝试出来)用FTP传输软件连接一下就会出来了,甚至直接在DOS窗口用命令提示符open一下你的FTP服务器,也会出来类似的提示信息,这样岂不就老老实实的告诉别人你用的Serv-U做的FTP服务器并且所用的版本了么? [右] 已连接到 60.215.XX.XX 其实在Serv-u中也有设置,在域的设置中有消息一项,可以自定义服务器响应消息,这里可以根据你喜欢的把这些消息改掉,例如改为Welcome to Microsoft FTP Service... 等等其他FTP服务软件的Banner,可以起到一定的迷惑作用。
您已经成功登录FTP服务器 服务器的运行情况: 所有登录用户数量: %loggedInAll total
|
|
打印本文 关闭窗口 |