找回密码
 注册
搜索
热搜: 超星 读书 找书
查看: 765|回复: 0

[【相关其他】] ftp服务器的安全实现

[复制链接]
发表于 2007-3-23 10:01:06 | 显示全部楼层 |阅读模式
一、操作系统的选择  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攻击和FXP”。什么是FXP呢?通常,当使用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一样,还要谨慎设置主目录及其权限,凡是没必要赋予写入等能修改服务器文件或目录权限的,尽量不要赋予。最后,进入“设置”,在“日志”选项卡中将“启用记录到文件”选中,并设置好日志文件名及保存路径、记录参数等,以方便随时查询服务器异常原因。

  ftp服务器的安全实现

  作为一个internert上的ftp的服务器,系统的安全很重要。许多的入侵事件都是ftp的问题造成。下面劲刀狂舞说一说安全配置的一些注意事项。

  1.不允许未经授权的用户在server进行ftp活动。
  2.ftp用户不能读取未经系统所有者允许的文件。
  3.未经允许,ftp不能在server建立文件。 
 4.ftp不能删除服务器上的文件。

  建议采取的措施:
  ftp的主目录:将这个目录的所有者置为“ftp”,并且将属性设为所有用户的都不能写。
  ftp/bin目录:将这个目录置为“root”,并且将属性说有用户不能写,将目录中的ls文件的属性设为“111”。
  ftp/ect目录:将这个目录置为“root”,并且将属性设为所有用户的都不能写。见目录下的group和passwd文件属性设为“444”,并用编辑器把passwd文件中的加过密的保密子删掉。  ftp/pub目录:将这个目录的所有者置为“ftp”设置属性为“777”。

  如何保证文件传输服务器FTP的安全

  作为Internet上的FTP服务器,系统的安全性是非常重要的,这是建立FTP服务器者所考虑的第一个问题。其安全性主要包括以下几个方面:      
 一、 未经授权的用户禁止在服务器上进行FTP操作。

 二、 FTP用户不能读取未经系统所有者允许的文件或目录。       

  三、 未经允许,FTP用户不能在服务器上建立文件或目录。       

  四、 FTP用户不能删除服务器上的文件或目录。

  FTP服务器采取了一些验明用户身份的办法来解决上述第一个问题,主要包括以下几个措施:

 FTP用户所使用的用户帐号必须在/etc/passwd文件中有所记载(匿名FTP用户除外),并且他的口令不能为空。在没有正确输入用户帐号和口令的情况下,服务器拒绝访问。

  FTP守护进程FTPd还使用一个/etc/FTPusers文件,凡在这个文件中出现的用户都将被服务器拒绝提供FTP服务。服务器管理可以建立\"不受欢迎\"的用户目录,拒绝这些用户访问。

  只有在服务器的/etc/passwd文件中存在名为\"FTP\"的用户时,服务器才可以接受匿名FTP连接,匿名FTP用户可以使用\"anonymous\"或\"FTP\"作为用户名,自己的Internet电子邮件地址作为保密字。为了解决上述安全性的另外三个问题,应该对FTP主目录下的文件属性进行管理,建议对每个目录及其文件采取以下一些措施:

  FTP主目录:将这个目录的所有者设为\"FTP\",并且将属性设为所有的用户都不可写,防止不怀好意的用户删改文件。

  FTP/bin目录:该目录主要放置一些系统文件,应将这个目录的所有者设为\"root\"(即超级用户),并且将属性设为所有的用户都不可写。为保证合法用户可显示文件,应将目录中的ls文件属性设为可执行。       

  FTP/etc目录:将这个目录的所有者设为\"root\",并且将属性设为所有的用户都不可写。将目录下的group文件和passwd文件的属性设为所有用户只读属性,并用编辑器将passwd文件中用户加过密的口令删掉。     

  FTP/pub目录:将这个目录的所有者置为\"FTP\",并且将它的属性设为所有用户均可读、写、执行。  

  这样经过设置,既保证了系统文件不被删改,又保证了FTP合法用户的正常访问。

  作为Internet上的FTP服务器,系统的安全性是非常重要的,这是建立FTP服务器者所考虑的第一个问题。其安全性主要包括以下几个方面:

  一、 未经授权的用户禁止在服务器上进行FTP操作。
  二、 FTP用户不能读取未经系统所有者允许的文件或目录。         三、 未经允许,FTP用户不能在服务器上建立文件或目录。     
   四、 FTP用户不能删除服务器上的文件或目录。  

  FTP服务器采取了一些验明用户身份的办法来解决上述第一个问题,主要包括以下几个措施:  

  FTP用户所使用的用户帐号必须在/etc/passwd文件中有所记载(匿名FTP用户除外),并且他的口令不能为空。在没有正确输入用户帐号和口令的情况下,服务器拒绝访问。

 FTP守护进程FTPd还使用一个/etc/FTPusers文件,凡在这个文件中出现的用户都将被服务器拒绝提供FTP服务。服务器管理可以建立\"不受欢迎\"的用户目录,拒绝这些用户访问。  

  只有在服务器的/etc/passwd文件中存在名为\"FTP\"的用户时,服务器才可以接受匿名FTP连接,匿名FTP用户可以使用\"anonymous\"或\"FTP\"作为用户名,自己的Internet电子邮件地址作为保密字。为了解决上述安全性的另外三个问题,应该对FTP主目录下的文件属性进行管理,建议对每个目录及其文件采取以下一些措施:

  FTP主目录:将这个目录的所有者设为\"FTP\",并且将属性设为所有的用户都不可写,防止不怀好意的用户删改文件。

  FTP/bin目录:该目录主要放置一些系统文件,应将这个目录的所有者设为\"root\"(即超级用户),并且将属性设为所有的用户都不可写。为保证合法用户可显示文件,应将目录中的ls文件属性设为可执行。       

  FTP/etc目录:将这个目录的所有者设为\"root\",并且将属性设为所有的用户都不可写。将目录下的group文件和passwd文件的属性设为所有用户只读属性,并用编辑器将passwd文件中用户加过密的口令删掉。       

  FTP/pub目录:将这个目录的所有者置为\"FTP\",并且将它的属性设为所有用户均可读、写、执行。

  这样经过设置,既保证了系统文件不被删改,又保证了FTP合法用户的正常访问。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|网上读书园地

GMT+8, 2024-9-24 02:27 , Processed in 0.111132 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表