10.3.1 安装Serv-U并建立FTP服务器
下载Serv-U应用程序后,执行ServU4004.exe,并根据提示逐步安装。安装完成后不需要重新启动计算机,用户就可以直接选择“开始”→“程序”→“Serv-U FTP Server”→“Serv-U Administrator”命令启动应用程序,并进行简单设置。下面我们以当前计算机(IP地址为192.168.0.1,域名为server.kangbo.com)为例,建立FTP服务器。
建立FTP服务器的操作步骤如下:
图10-13 Setup Wizard对话框
图10-14 配置站点后的管理员窗口
图10-15 创建组并设置文件路径
图10-17 设置访问权限
此时,人们才开始重视起SERV-U的安全来,并采取了一些相关措施,如修改SERV-U的管理端口、账号和密码等。但是,修改后的内容还是保留在ServUDaemon.exe文件里,因此下载后用如UltraEdit之类的16进制编辑软件就可以很轻易的获取到修改后的端口、账号和密码。
从SERV-U6.0.0.2开始,该软件有了登录密码功能,这样如果加了管理密码,并且设置比较妥善的话,SERV-U将会比原来安全的多。现在我们就开始SERV-U的设置之旅,采用版本是SERV-U 6.0.0.2。
古语有云,千尺之台始于垒土,设置SERV-U的安全就从安装开始。这篇文章主要是写SERV-U的安全设置,所以不会花费太多的功夫来介绍安装,只说一下要点。
SERV-U默认是安装在C:\Program Files\Serv-U目录下的,我们最好做一下变动。例如改为:D:\u89327850mx8utu432X$UY32x211936890co7v23x1t3(图1)这样的路径,如果安装盘符WEB用户不能浏览的话,他便很难猜到安装的路径。当然,安装后会在桌面和开始菜单上生成快捷方式,建议删除,因为一般不会使用到它。可能你要问了,那应该怎样进入SERV-U的设置界面呢?其实很简单,双击下右角任务栏里的Tray Monitor小图标来启动SERV-U的管理界面。
图1:修改安装的目录
安装的时候只选前2项就可以了,后面的2个是说明和在线帮助文件。(见图2)
图2:安装时候只需要选择前2项 下图是生成的开始菜单组里的文件夹的名字,建议更改成比较不像SERV-U的名字,或者是删除该文件夹。(见图3)
图3:更改安装后生成开始菜单组里文件夹的名字
安装完成后会出现一个向导让你建立一个域和账号。在这里点Cancel取消向导。用向导生成的账号会带来一些问题,所以下面采用手工方式建立域和账号。(见图4)
图4:点Cancel取消向导
然后点选Start automatically(system service)前面的选项,接着点下边的Start Server按钮把SERV-U加入系统服务,这样就可以随系统启动了,不用每次都手工启动。(见图5)
图5:把SERV-U加入服务
接下来就会出现如图6的界面。通过点击Set/Change Password设置一个密码。
图6:点击Set/Change Password设置密码
然后会出现如图7的界面。因为是第一次使用,所以是没有密码的,也就是说原来的密码为空。不用在old password里输入字符,直接在下面的New password和Repeat new password里输入同样的密码再点OK就可以了。这里建议设置一个足够复杂的密码,以防止别人暴力破解。自己记不得也没有关系,只要把ServUDaemon.ini里的LocalSetupPassword=这一行清除并保存,再次运行ServUAdmin.exe就不会提示你输入密码登录了。
图7:设置和更改密码界面 下面就到了该对SERV-U进行安全设置的时候了。首先建立一个WINDOWS账号SSER,密码也需要足够的复杂。密码要记住,如果记不住就暂时保存在一个文件里,一会儿还要用到。(见图8)
图8:建立一个WINDOWS账号
建好账号以后,双击建好的用户编辑用户属性,从“隶属于”里删除USERS组。
图9:从隶属于里删除USERS组
从“终端服务配置文件”选项里取消“允许登录到终端服务器(W)”的选择,然后点击确定继续我们的设置。(见图10)
图10:取消“允许登录到终端服务器”
这里我们已经建好了账号,该设置服务里的账号了。现在就要用到刚才建立的这个账号,密码还没有忘记吧,马上就要用到了。
在开始菜单的管理工具里找到“服务”点击打开。在“Serv-U FTP Server服务”上点右键,选择属性继续。
然后点击“登录”进入登录账号选择界面。选择刚才建立的系统账号名,并在下面重复输入2次该账号的密码(就是刚才让你记住的那个),然后点“应用”,再次点确定,完成服务的设置。(见图11)
图11:更改启动和登录SRV-U的账号密码
接下来要先使用FTP管理工具建立一个域,再建立一个账号,建好后选择保存在注册表。(见图12)
图12:FTP用户密码保存到注册表里
打开注册表来测试相应的权限,否则SERV-U是没办法启动的。在开始->运行里输入regedt32点“确定”继续。
找到[HKEY_LOCAL_MACHINE\SOFTWARE\Cat Soft]分支。在上面点右键,选择权限,然后点高级,取消允许父项的继承权限传播到该对象和所有子对象,包括那些在此明确定义的项目,点击“应用”继续,接着删除所有的账号。再次点击“确定”按钮继续。这时会弹出对话框显示“您拒绝了所有用户访问Cat Soft。没有人能访问 Cat Soft,而且只有所有者才能更改权限。您要继续吗?”,点击“是”继续。接着点击添加按钮增加我们建立的SSERVU账号到该子键的权限列表里,并给予完全控制权限。到这里注册表已经设置完了。但还不能重新启动SERV-U,因为安装目录还没设置。
现在就来设置一下,只保留你的管理账号和SSERVU账号,并给予除了完全控制外的所有权限。(见图13)
图13:SERV-U安装目录权限设置
现在,在服务里重启Serv-U FTP Server服务就可以正常启动了。当然,到这里还没有完全设置完,你的FTP用户因为没有权限还是登录不了的,所以还要设置一下目录的权限。
假设你有一个WEB目录,路径是d:\web。那么在这个目录的“安全设定”里除了管理员和IIS用户都删除掉,再加入SSERVU账号,切记SYSTEM账号也删除掉。为什么要这样设置呢?因为现在已经是用SSERVU账号启动的SERV-U,而不是用SYSTEM权限启动的了,所以访问目录不再是用SYSTEM而是用SSERVU,此时SYSTEM已经没有用了,这样就算真的溢出也不可能得到SYSTEM权限。另外,WEB目录所在盘的根目录还要设置允许SSERV-U账号的浏览和读取权限,并确认在高级里设置只有该文件夹。(见图14)
图14:WEB目录所在盘的权限设置
至此,设置全部结束。现在的SERV-U设置是配合IIS设置的,因为和IIS使用不同的账号,WEB用户就不可能访问SERV-U的目录,并且WEB目录没有给予SYSTEM权限,所以SYSTEM账号也同样访问不了WEB目录,也就是说,即使使用MSSQL得到备份的权限也不能备份SHELL到你的WEB目录。你可以安全的使用SERV-U了。
安装与运行
以下我们以RedHat Linux为例。
1、安装
根据服务对象的不同,FTP服务可以分为两类:一类是系统FTP服务器,它只允许系统上的合法用户使用;另一类是匿名FTP服务器,它允许任何人登录到FTP服务器,和服务器连接后,在登录提示中输入Anonymous,即可访问服务器。针对这两种服务,可以通过RedHat的第一张光盘安装Wu-Ftpd的RPM包,只需以Root身份进入系统并运行下面的命令即可:
Rpm - ivh anonftp -x.x-x.i386.rpm
Rpm - ivh wu-ftpd-x.x.x-x.i386.rpm
其中-x.x-x和-x.x.x-x是版本号。
2、启动
和Apache一样,Wu-Ftpd也可以配置为自动启动:执行RedHat附带的Setup程序,在“System Service”选项中选中Wu-Ftpd,按下[OK]按钮确定退出即可。
自动启动固然方便,但是,当我们更改了Wu-Ftpd配置文件,需要用到手工启动:
启动:/usr/sbin/ftprestart
关闭:/usr/sbin/ftpshut
FTP服务器的配置
为了确保FTP服务器安全,必须设置一些重要的配置文件,以更好地控制用户的访问权限。这些配置文件是:/etc/ftpusers、/etc/ftpconversions、/etc/ftp-groups、/etc/ftpphosts、/etc/ftpaccess。利用这些文件,能够非常精确地控制哪些人、在什么时间、从什么地点可以连接服务器,并且可以对他们连接后所做的工作进行检查跟踪。