三个步骤教你打造安全稳定的FTP服务器
一、操作系统的选择
FTP服务器首先是基于操作系统而运作的,因而操作系统本身的安全性就决定了FTP服务器安全性的级别。虽然Windows 98/Me一样可以架设FTP服务器,但由于其本身的安全性就不强,易受攻击,因而最好不要采用。Windows NT就像鸡肋,不用也罢。最好采用Windows 2000及以上版本,并记住及时打上补丁。至于Unix、Linux,则不在讨论之列。
二、使用防火墙
端口是计算机和外部网络相连的逻辑接口,也是计算机的第一道屏障,端口配置正确与否直接影响到主机的安全,一般来说,仅打开你需要使用的端口,将其他不需要使用的端口屏蔽掉会比较安全。限制端口的方法比较多,可以使用第三方的个人防火墙,这里只介绍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即可。
三、对IIS、Serv-u等服务器软件进行设置
除了依靠系统提供的安全措施外,就需要利用FTP服务器端软件本身的设置来提高整个服务器的安全了。
1.IIS的安全性设置
1)及时安装新补丁
对于IIS的安全性漏洞,可以说是“有口皆碑”了,平均每两三个月就要出一两个漏洞。所幸的是,微软会根据新发现的漏洞提供相应的补丁,这就需要你不断更新,安装最新补丁。
2)将安装目录设置到非系统盘,关闭不需要的服务
一些恶意用户可以通过IIS的溢出漏洞获得对系统的访问权。把IIS安放在系统分区上,会使系统文件与IIS同样面临非法访问,容易使非法用户侵入系统分区。另外,由于IIS是一个综合性服务组件,每开设一个服务都将会降低整个服务的安全性,因而,对不需要的服务尽量不要安装或启动。
3)只允许匿名连接
FTP最大的安全漏洞在于其默认传输密码的过程是明文传送,很容易被人嗅探到。而IIS又是基于Windows用户账户进行管理的,因而很容易泄漏系统账户名及密码,如果该账户拥有一定管理权限,则更会影响到整个系统的安全。设置为“只允许匿名连接”,可以免却传输过程中泄密的危险。进入“默认FTP站点”,在属性的“安全账户”选项卡中,将此选项选中。
4)谨慎设置主目录及其权限
IIS可以将FTP站点主目录设为局域网中另一台计算机的共享目录,但在局域网中,共享目录很容易招致其他计算机感染的病毒攻击,严重时甚至会造成整个局域网瘫痪,不到万不得已,最好使用本地目录并将主目录设为NTFS格式的非系统分区中。这样,在对目录的权限设置时,可以对每个目录按不同组或用户来设置相应的权限。右击要设置的目录,进入“共享和安全→安全”中设置,如非必要,不要授予“写入”权限。
5)尽量不要使用默认端口号21
启用日志记录,以备出现异常情况时查询原因。
2.Serv-u的安全性设置
与IIS的FTP服务相比,Serv-u在安全性方面做得比较好。
1)对“本地服务器”进行设置
首先,选中“拦截FTP_bounce攻击和XP”。通常,当使用FTP协议进行文件传输时,客户端首先向FTP服务器发出一个“PORT”命令,该命令中包含此用户的IP地址和将被用来进行数据传输的端口号,服务器收到后,利用命令所提供的用户地址信息建立与用户的连接。大多数情况下,上述过程不会出现任何问题,但当客户端是一名恶意用户时,可能会通过在PORT命令中加入特定的地址信息,使FTP服务器与其它非客户端的机器建立连接。虽然这名恶意用户可能本身无权直接访问某一特定机器,但是如果FTP服务器有权访问该机器的话,那么恶意用户就可以通过FTP服务器作为中介,仍然能够最终实现与目标服务器的连接。这就是FXP,也称跨服务器攻击。选中后就可以防止发生此种情况。
其次,在“高级”选项卡中,检查“加密密码”和“启用安全”是否被选中,如果没有,选择它们。“加密密码”使用单向Hash函数(MD5)加密用户口令,加密后的口令保存在ServUDaemon。ini或是注册表中。如果不选择此项,用户口令将以明文形式保存在文件中:“启用安全”将启动Serv-u服务器的安全成功。
2)对域中的服务器进行设置
前面说过,FTP默认为明文传送密码,容易被人嗅探,对于只拥有一般权限的账户,危险并不大,但如果该账户拥有远程管理尤其是系统管理员权限,则整个服务器都会被别人远程控制。Serv-u对每个账户的密码都提供了以下三种安全类型:规则密码、OTP S/KEY MD4和OTP S/KEY MD5。不同的类型对传输的加密方式也不同,以规则密码安全性最低。进入拥有一定管理权限的账户的设置中,在“常规”选项卡的下方找到“密码类型”下拉列表框,选中第二或第三种类型,保存即可。注意,当用户凭此账户登录服务器时,需要FTP客户端软件支持此密码类型,如CuteFTP Pro等,输入密码时选择相应的密码类型方可通过服务器验证。
与IIS一样,还要谨慎设置主目录及其权限,凡是没必要赋予写入等能修改服务器文件或目录权限的,尽量不要赋予。最后,进入“设置”,在“日志”选项卡中将“启用记录到文件”选中,并设置好日志文件名及保存路径、记录参数等,以方便随时查询服务器异常原因。
相关文章:
- [2021年03月11日]什么是双活数据中心?
- [2020年06月14日]网络信息安全新态势
- [2018年03月18日]如何讲懂区块连?
- [2018年03月18日]国家推进互联网协议第六版(IPv6)规模部署行动计划
- [2018年03月18日]区块链可能会影响的十九个行业
- [2017年02月19日]泥客百科:CPS(信息物理系统)
- [2015年12月06日]泥客百科:APT
- [2015年12月06日]数字证书 ca、ra、da简介
- [2015年12月06日]泥客百科:IPS (入侵防御系统)
- [2015年12月06日]泥客百科:堡垒机