一操作系统的选择
FTP服务器首先是基于操作系统而运作的因而操作系统本身的安全性就决定了FTP服务器安全性的级别虽然Windows 98/Me一样可以架设FTP服务器但由于其本身的安全性就不强易受攻击因而最好不要采用Windows NT就像鸡肋不用也罢最好采用Windows 2000及以上版本并记住及时打上补丁至于UnixLinux则不在讨论之列
二使用防火墙
端口是计算机和外部网络相连的逻辑接口也是计算机的第一道屏障端口配置正确与否直接影响到主机的安全一般来说仅打开你需要使用的端口将其他不需要使用的端口屏蔽掉会比较安全限制端口的方法比较多可以使用第三方的个人防火墙如天网个人防火墙等这里只介绍Windows自带的防火墙设置方法
1利用TCP/IP筛选功能
在Windows 2000和Windows XP中系统都带有TCP/IP筛选功能利用它可以简单地进行端口设置以Windows XP为例打开本地连接的属性在常规选项中找到Internet协议(TCP/IP)双击它打开该协议的属性设置窗口点击右下方的高级按钮进入高级TCP/IP设置在选项中选中TCP/IP筛选并双击进入其属性设置这里我们可以设置系统只允许开放的端口假如架设的FTP服务器端口为21先选中启用TCP/IP筛选(所有适配器)再在TCP端口选项中选择只允许点添加输入端口号21确定即可这样系统就只允许打开21端口要开放其他端口继续添加即可这可以有效防止最常见的139端口入侵缺点是功能过于简单只能设置允许开放的端口不能自定义要关闭的端口如果你有大量端口要开放就得一个个地去手工添加比较麻烦
2打开Internet连接防火墙
对于Windows XP系统自带了Internet连接防火墙功能与TCP/IP筛选功能相比设置更方便功能更强大除了自带防火墙端口开放规则外还可以自行增删在控制面板中打开网络连接右击拨号连接进入高级选项卡选中通过限制或阻止来自Internet的对此计算机的访问来保护我的计算机和网络启用它系统默认状态下是关闭了FTP端口的因而还要设置防火墙打开所使用的FTP端口点击右下角的设置按钮进入高级设置选中FTP服务器编辑它由于FTP服务默认端口是21因而除了IP地址一栏外其余均不可更改在IP地址一栏中填入服务器公网IP确定后退出即可即时生效如果架设的FTP服务器端口为其他端口比如22则可以在服务选项卡下方点添加输入服务器名称和公网IP后将外部端口号和内部端口号均填入22即可
三对IISServ-U等服务器软件进行设置
除了依靠系统提供的安全措施外就需要利用FTP服务器端软件本身的设置来提高整个服务器的安全了
1IIS的安全性设置
1)及时安装新补丁
对于IIS的安全性漏洞可以说是有口皆碑了平均每两三个月就要出一两个漏洞所幸的是微软会根据新发现的漏洞提供相应的补丁这就需要你不断更新安装最新补丁
2)将安装目录设置到非系统盘关闭不需要的服务
一些恶意用户可以通过IIS的溢出漏洞获得对系统的访问权把IIS安放在系统分区上会使系统文件与IIS同样面临非法访问容易使非法用户侵入系统分区另外由于IIS是一个综合性服务组件每开设一个服务都将会降低整个服务的安全性因而对不需要的服务尽量不要安装或启动
3)只允许匿名连接
FTP最大的安全漏洞在于其默认传输密码的过程是明文传送很容易被人嗅探到而IIS又是基于Windows用户账户进行管理的因而很容易洩漏系统账户名及密码如果该账户拥有一定管理权限则更会影响到整个系统的安全设置为只允许匿名连接可以免却传输过程中洩密的危险进入默认FTP站点在属性的安全账户选项卡中将此选项选中
4)谨慎设置主目录及其权限
IIS可以将FTP站点主目录设为局域网中另一台计算机的共享目录但在局域网中共享目录很容易招致其他计算机感染的病毒攻击严重时甚至会造成整个局域网瘫痪不到万不得已最好使用本地目录并将主目录设为NTFS格式的非系统分区中这样在对目录的权限设置时可以对每个目录按不同组或用户来设置相应的权限右击要设置的目录进入共享和安全→安全中设置如非必要不要授予写入权限
5)尽量不要使用默认端口号21
启用日志记录以备出现异常情况时查询原因
2Serv-U的安全性设置
与IIS的FTP服务相比Serv-U在安全性方面做得比较好
1)对本地服务器进行设置
首先选中拦截FTP_bounce攻击和FXP什么是FXP呢?通常当使用FTP协议进行文件传输时客户端首先向FTP服务器发出一个PORT命令该命令中包含此用户的IP地址和将被用来进行数据传输的端口号服务器收到后利用命令所提供的用户地址信息建立与用户的连接大多数情况下上述过程不会出现任何问题但当客户端是一名恶意用户时可能会通过在PORT命令中加入特定的地址信息使FTP服务器与其它非客户端的机器建立连接虽然这名恶意用户可能本身无权直接访问某一特定机器但是如果FTP服务器有权访问该机器的话那么恶意用户就可以通过FTP服务器作为中介仍然能够最终实现与目标服务器的连接这就是FXP也称跨服务器攻击选中后就可以防止发生此种情况
其次在高级选项卡中检查加密密码和启用安全是否被选中如果没有选择它们加密密码使用单向hash函数(MD5)加密用户口令加密后的口令保存在ServUDaemonini或是注册表中如果不选择此项用户口令将以明文形式保存在文件中启用安全将启动Serv-U服务器的安全成功
2)对域中的服务器进行设置
前面说过FTP默认为明文传送密码
容易被人嗅探对于只拥有一般权限的账户危险并不大但如果该账户拥有远程管理尤其是系统管理员权限则整个服务器都会被别人远程控制Serv-U对每个账户的密码都提供了以下三种安全类型规则密码OTP S/KEY MD4和OTP S/KEY MD5不同的类型对传输的加密方式也不同以规则密码安全性最低进入拥有一定管理权限的账户的设置中在常规选项卡的下方找到密码类型下拉列表框选中第二或第三种类型保存即可注意当用户凭此账户登录服务器时需要FTP客户端软件支持此密码类型如CuteFTP Pro等输入密码时选择相应的密码类型方可通过服务器验证
与IIS一样还要谨慎设置主目录及其权限凡是没必要赋予写入等能修改服务器文件或目录权限的尽量不要赋予最后进入设置在日志选项卡中将启用记录到文件选中并设置好日志文件名及保存路径记录参数等以方便随时查询服务器异常原因