如何来提高FTP服务器的安全性

小巫仙 分享 时间: 收藏本文

【简介】感谢网友“小巫仙”参与投稿,以下是小编为大家准备的如何来提高FTP服务器的安全性(共6篇),欢迎大家前来参阅。

篇1:三招提高FTP服务器使用过程中安全性

FTP是一种文件传输协议,有时我们把他形象的叫做“文件交流集中地”。FTP文件服务器的主要用途就是提供文件存储的空间,让用户可以上传或者下载所需要的文件。在企业中,往往会给客户提供一个特定的FTP空间,以方便跟可以进行一些大型文件的交流,如大到几百兆的设计图纸等等。同时,FTP还可以作为企业文件的备份服务器,如把数据库等关键应用在FTP服务器上实现异地备份等等。

可见,FTP服务器在企业中的应用是非常广泛的。真是因为其功能如此的强大,所以,很多 、病毒也开始“关注”他了。他们企图通过FTP服务器为跳板,作为他们传播木马、病毒的源头。同时,由于FTP服务器上存储着企业不少有价值的内容。在经济利益的诱惑下,FTP服务器也就成为了别人攻击的对象。

所以,FTP服务器的安全性工作也逐渐显得重要。笔者采用的FTP服务器是基于Linxu操作系统平台上的Vsftpd软件。笔者今天就以这个软件为例,谈谈如何若照FTP服务器的安全设计。

一、谁可以访问FTP服务器?

在考虑FTP服务器安全性工作的时候,第一步要考虑的就是谁可以访问FTP服务器。在Vsftpd服务器软件中,默认提供了三类用户。不同的用户对应着不同的权限与操作方式。

一类是Real帐户。这类用户是指在FTP服务上拥有帐号。当这类用户登录FTP服务器的时候,其默认的主目录就是其帐号命名的目录。但是,其还可以变更到其他目录中去。如系统的主目录等等。

第二类帐户实Guest用户。在FTP服务器中,我们往往会给不同的部门或者某个特定的用户设置一个帐户。但是,这个账户有个特点,就是其只能够访问自己的主目录。服务器通过这种方式来保障FTP服务上其他文件的安全性。这类帐户,在Vsftpd软件中就叫做Guest用户。拥有这类用户的帐户,只能够访问其主目录下的目录,而不得访问主目录以外的文件。

第三类帐户是Anonymous(匿名)用户,这也是我们通常所说的匿名访问,

这类用户是指在FTP服务器中没有指定帐户,但是其仍然可以进行匿名访问某些公开的资源。

在组建FTP服务器的时候,我们就需要根据用户的类型,对用户进行归类。默认情况下,Vsftpd服务器会把建立的所有帐户都归属为Real用户。但是,这往往不符合企业安全的需要。因为这类用户不仅可以访问自己的主目录,而且,还可以访问其他用户的目录。这就给其他用户所在的空间 带来一定的安全隐患。所以,企业要根据实际情况,修改用户虽在的类别。

修改方法:

第一步:修改/etc/Vsftpd/vsftpd.conf文件。

默认情况下,只启用了Real与Anonymous两类用户。若我们需要启用Guest类用户的时候,就需要把这个选项启用。修改/etc/Vsftpd/vsftpd.conf文件,把其中的“chroot_list_enable=YES”这项前面的注释符号去掉。去掉之后,系统就会自动启用Real类型的帐户。

第二步:修改/etc/vsftpd.conf文件。

若要把某个FTP服务器的帐户归属为Guest帐户,则就需要在这个文件中添加用户。通常情况下,FTP服务器上没有这个文件,需要用户手工的创建。利用VI命令创建这个文件之后,就可以把已经建立的FTP帐户加入到这个文件中。如此的话,某个帐户就属于Real类型的用户了。他们登录到FTP服务器后,只能够访问自己的主目录,而不能够更改主目录。

第三步:重新启动FTP服务器。

按照上述步骤配置完成后,需要重新启动FTP服务器,其配置才能够生效。我们可以重新启动服务器,也可以直接利用Restart命令来重新启动FTP服务。

在对用户尽心分类的时候,笔者有几个善意的提醒。

一是尽量采用Guest类型的用户,而减少Real类行的用户。一般我们在建立FTP帐户的时候,用户只需要访问自己的主目录下的文件即可。当给某个用户的权限过大时,会对其他用户文件的安全产生威胁。

二是尽量不要采用匿名类型的帐户。因为他们在没有授权的情况下,就可以访问FTP服务器。虽然其访问的资源受到一定的限制,但是,仍然具有危险性。故在没有特殊需要的情况下,最好把匿名类型帐户禁用掉。

篇2:如何来提高FTP服务器的安全性

一、禁止系统级别用户来登录FTP服务器,

为了提高FTP服务器的安全,系统管理员最好能够为员工设置单独的FTP帐号,而不要把系统级别的用户给普通用户来使用,这会带来很大的安全隐患。在VSFTP服务器中,可以通过配置文件vsftpd.ftpusers来管理登陆帐户。不过这个帐户是一个黑名单,列入这个帐户的人员将无法利用其帐户来登录FTP服务器。部署好VSFTP服务器后,我们可以利用vi命令来查看这个配置文件,发现其已经有了许多默认的帐户。其中,系统的超级用户root也在其中。可见出于安全的考虑,VSFTP服务器默认情况下就是禁止root帐户登陆FTP服务器的。如果系统管理员想让root等系统帐户登陆到FTP服务器,则知需要在这个配置文件中将root等相关的用户名删除即可。不过允许系统帐户登录FTP服务器,会对其安全造成负面的影响,为此我不建议系统管理员这么做。对于这个文件中相关的系统帐户管理员最好一个都不要改,保留这些帐号的设置。

如果出于其他的原因,需要把另外一些帐户也禁用掉,则可以把帐户名字加入到这个文件中即可。如在服务器上可能同时部署了FTP服务器与数据库服务器。那么为了安全起见,把数据库管理员的帐户列入到这个黑名单,是一个不错的做法。

二、加强对匿名用户的控制。

匿名用户是指那些在FTP服务器中没有定义相关的帐户,而FTP系统管理员为了便于管理,仍然需要他们进行登陆,

但是他们毕竟没有取得服务器的授权,为了提高服务器的安全性,必须要对他们的权限进行限制。在VSFTP服务器上也有很多参数可以用来控制匿名用户的权限。系统管理员需要根据FTP服务器的安全级别,来做好相关的配置工作。需要说明的是,匿名用户的权限控制的越严格,FTP服务器的安全性越高,但是同时用户访问的便利性也会降低。故最终系统管理员还是需要在服务器安全性与便利性上取得一个均衡。

下面是我推荐的几个针对匿名用户的配置,大家若不清楚该如何配置的话,可以参考这些配置。这些配置兼顾了服务器的安全与用户的使用便利。

一是参数anon_world_readable_only。这个参数主要用来控制匿名用户是否可以从FTP服务器上下载可阅读的文件。如果FTP服务器部署在企业内部,主要供企业内部员工使用的话,则最好把这个参数设置为YES。然后把一些企业常用表格等等可以公开的文件放置在上面,让员工在匿名的情况下也可以下载这些文件。这即不会影响到FTP服务器的安全,而且也有利于其他员工操作的便利性上。

二是参数anon_upload_enable。这个参数表示匿名用户能否在匿名访问的情况下向FTP服务器上传文件。通常情况下,应该把这个参数设置为No。即在匿名访问时不允许用户上传文件。否则的话,随便哪个人都可以上传文件的话,那对方若上传一个病毒文件,那企业不是要遭殃了。故应该禁止匿名用户上传文件。但是这也有例外。如有些企业通过FTP协议来备份文件。此时如果企业网络的安全性有所保障的话,可以把这个参数设置为YES,即允许操作系统调用FTP命令往FTP服务器上备份文件。

篇3:技巧放送:三招提高FTP服务器安全性

FTP是一种文件传输协议,有时我们把他形象的叫做“文件交流集中地”。FTP文件服务器的主要用途就是提供文件存储的空间,让用户可以上传或者下载所需要的文件。在企业中,往往会给客户提供一个特定的FTP空间,以方便跟可以进行一些大型文件的交流,如大到几百兆的设计图纸等等。同时,FTP还可以作为企业文件的备份服务器,如把数据库等关键应用在FTP服务器上实现异地备份等等。

可见,FTP服务器在企业中的应用是非常广泛的。真是因为其功能如此的强大,所以,很多 、病毒也开始“关注”他了。他们企图通过FTP服务器为跳板,作为他们传播木马、病毒的源头。同时,由于FTP服务器上存储着企业不少有价值的内容。在经济利益的诱惑下,FTP服务器也就成为了别人攻击的对象。

所以,FTP服务器的安全性工作也逐渐显得重要。笔者采用的FTP服务器是基于Linxu操作系统平台上的Vsftpd软件。笔者今天就以这个软件为例,谈谈如何若照FTP服务器的安全设计。

一、谁可以访问FTP服务器?

在考虑FTP服务器安全性工作的时候,第一步要考虑的就是谁可以访问FTP服务器。在Vsftpd服务器软件中,默认提供了三类用户。不同的用户对应着不同的权限与操作方式。

一类是Real帐户。这类用户是指在FTP服务上拥有帐号。当这类用户登录FTP服务器的时候,其默认的主目录就是其帐号命名的目录。但是,其还可以变更到其他目录中去。如系统的主目录等等。

第二类帐户实Guest用户。在FTP服务器中,我们往往会给不同的部门或者某个特定的用户设置一个帐户。但是,这个账户有个特点,就是其只能够访问自己的主目录。服务器通过这种方式来保障FTP服务上其他文件的安全性。这类帐户,在Vsftpd软件中就叫做Guest用户。拥有这类用户的帐户,只能够访问其主目录下的目录,而不得访问主目录以外的文件。

第三类帐户是Anonymous(匿名)用户,这也是我们通常所说的匿名访问。这类用户是指在FTP服务器中没有指定帐户,但是其仍然可以进行匿名访问某些公开的资源。

在组建FTP服务器的时候,我们就需要根据用户的类型,对用户进行归类。默认情况下,Vsftpd服务器会把建立的所有帐户都归属为Real用户。但是,这往往不符合企业安全的需要。因为这类用户不仅可以访问自己的主目录,而且,还可以访问其他用户的目录。这就给其他用户所在的空间 带来一定的安全隐患。所以,企业要根据实际情况,修改用户虽在的类别。

修改方法:

第一步:修改/etc/Vsftpd/vsftpd.conf文件。

默认情况下,只启用了Real与Anonymous两类用户。若我们需要启用Guest类用户的时候,就需要把这个选项启用。修改/etc/Vsftpd/vsftpd.conf文件,把其中的“chroot_list_enable=YES”这项前面的注释符号去掉。去掉之后,系统就会自动启用Real类型的帐户。

第二步:修改/etc/vsftpd.conf文件。

若要把某个FTP服务器的帐户归属为Guest帐户,则就需要在这个文件中添加用户。通常情况下,FTP服务器上没有这个文件,需要用户手工的创建。利用VI命令创建这个文件之后,就可以把已经建立的FTP帐户加入到这个文件中。如此的话,某个帐户就属于Real类型的用户了。他们登录到FTP服务器后,只能够访问自己的主目录,而不能够更改主目录。

第三步:重新启动FTP服务器。

按照上述步骤配置完成后,需要重新启动FTP服务器,其配置才能够生效。我们可以重新启动服务器,也可以直接利用Restart命令来重新启动FTP服务。

在对用户尽心分类的时候,笔者有几个善意的提醒。

一是尽量采用Guest类型的用户,而减少Real类行的用户。一般我们在建立FTP帐户的时候,用户只需要访问自己的主目录下的文件即可。当给某个用户的权限过大时,会对其他用户文件的安全产生威胁。

二是尽量不要采用匿名类型的帐户。因为他们在没有授权的情况下,就可以访问FTP服务器。虽然其访问的资源受到一定的限制,但是,仍然具有危险性,

故在没有特殊需要的情况下,最好把匿名类型帐户禁用掉。

二、哪些帐号不可以访问FTP服务器?

在以下几种情况下,我们要禁止这些账户访问FTP服务器,以提高服务器的安全。

一是某些系统帐户。如ROOT帐户。这个账户默认情况下是Linxu系统的管理员帐户,其对系统具有最高的操作与管理权限。若允许用户以这个账户为账户名进行登陆的话,则用户不但可以访问Linux系统的所有资源,而且,还好可以进行系统配置。这对于FTP服务器来说,显然危害很大。所以,往往不允许用户以这个Root等系统帐户身份登陆到FTP服务器上来。

第二类是一些临时账户。有时候我们出于临时需要,为开一些临时账户。如需要跟某个客户进行图纸上的交流,而图纸本身又比较大时,FTP服务器就是一个很好的图纸中转工具。在这种情况下,就需要为客户设立一个临时账户。这些账户用完之后,一般就加入到了黑名单。等到下次需要再次用到的时候,再启用他。

在vstftpd服务器中,要把某些用户加入到黑名单,也非常的简单。在Vsftpd软件中,有一个/etc/vsftpd.user_lise配置文件。这个文件就是用来指定哪些账户不能够登陆到这个服务器。我们利用vi命令查看这个文件,通常情况下,一些系统账户已经加入到了这个黑名单中。FTP服务器管理员要及时的把一些临时的或者不再使用的帐户加入到这个黑名单中。从而才可以保证未经授权的账户访问FTP服务器。在配置后,往往不需要重新启动FTP服务,配置就会生效。

不过,一般情况下,不会影响当前会话。也就是说,管理员在管理FTP服务器的时候,发现有一个非法账户登陆到了FTP服务器。此时,管理员马上把这个账户拉入黑名单。但是,因为这个账户已经连接到FTP服务器上,所以,其当前的会话不会受到影响。当其退出当前会话,下次再进行连接的时候,就不允许其登陆FTP服务器了。所以,若要及时的把该账户禁用掉的话,就需要在设置好黑名单后,手工的关掉当前的会话。

对于一些以后不再需要使用的帐户时,管理员不需要把他加入黑名单,而是直接删除用户为好。同时,在删除用户的时候,要记得把用户对应的主目录也一并删除。不然主目录越来越多,会增加管理员管理的工作量。在黑名单中,只保留那些将来可能利用的账户或者不是用作FTP服务器登陆的账户。这不但可以减少服务器管理的工作量,而且,还可以提高FTP服务器的安全性。

三、匿名账户也可以上传文件。

在系统默认配置下,匿名类型的用户只可以下载文件,而不能够上传文件。虽然这不是我们推荐的配置,但是,有时候出于一些特殊的需要,确实要开启这个功能。如笔者以前在企业中,利用这个功能实现了对用户终端文件进行备份的功能。为了设置的方便,就在FTP服务器上开启了匿名访问,并且允许匿名访问账户网某个特定的文件夹中上传某个文件。

若要让匿名用户上传文件,则首先要建立一个目录,并且把这个目录指定为匿名用户具有更新的权限。以后匿名用户需要上传文件的时候,只能够王这个文件夹中传。而不能够像Real用户那样,网其他用户的文件夹中上传文件。

文件目录设置好之后,再修改/etc/vsftpd/vsftpd.conf配置文件。把这个文件下的有关匿名账户的功能启用。默认情况下,跟匿名账户相关的功能,如更新、增加目录等功能都是被注释掉的。管理员需要把这个注释符号去掉,匿名账户才能够网特定的账户中上传文件。

笔者再次重申一遍,一般情况下,是不建议用户开启匿名账户的文件上传功能。因为很难保证匿名账户上传的文件中,不含有一些破坏性的程序,如病毒或者木马等等。有时候,虽然开启了这个功能,但是往往会在IP上进行限制。如只允许企业内部IP可以进行匿名访问并上传文件,其他账户则不行。如此的话,可以防止外部用户未经授权匿名访问企业的FTP服务器。若用户具有合法的账户,就可以在外网中登陆到FTP服务器上。

总之,在FTP服务器安全管理上,主要关注三个方面的问题。一是未经授权的用户不能往FTP空间上上传文件;二是用户不得访问未经授权的目录,以及对这些目录的文件进行更改,包括删除与上传;三是FTP服务器本身的稳定性。以上三个问题中的前两部分内容,都可以通过上面的三个方法有效的解决。相信管理员灵活采用如上的方法,可以在保障企业应用的前期下,提高FTP服务器的安全性。

篇4: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文件中用户加过密的口令删掉。

篇5:提高网络安全性:匿名FTP安全设定服务器教程

匿名FTP的设定:匿名FTP若有正确地设定与管理,将是一项很有价值的服务,这份文件的第一节提供一般匿名FTP最起始的设定方式。第二节提出当一个网站要在匿名FTP下提供可写入目录区的相关议题与面临的问题。第三节提供CERT以前的FTP 相关Advisories信息。

以下的设定方式是由过去许多网站累积的经验与建议组成。我们认为可以让有个别需求的网站拥有不同设定的选择。

I.设定匿名FTP

A.FTP daemon

网站必须确定目前使用的是最新版本的FTP daemon。

B.设定匿名FTP的目录

匿名ftp的根目录(~ftp)和其子目录的拥有者不能为ftp帐号,或与ftp相同群组的帐号。这是一般常见的设定问题。假如这些目录被ftp或与ftp相同群组的帐号所拥有,又没有做好防止写入的保护,入侵者便可能在其中增加档案(例如:.rhostsn)或修改其它档案。许多网站允许使用root帐号。让匿名FTP的根目录与子目录的拥有者是root,所属族群(group)为system,并限定存取权(如chmod 0755),如此只有root有写入的权力,这能帮助你维持FTP服务的安全。

以下是一个匿名ftp目录的设定范例:

drwxr-xr-x 7 root system 512 Mar 1 15:17 ./

drwxr-xr-x 25 root system 512 Jan 4 11:30 ../

drwxr-xr-x 2 root system 512 Dec 20 15:43 bin/

drwxr-xr-x 2 root system 512 Mar 12 16:23 etc/

drwxr-xr-x 10 root system 512 Jun 5 10:54 pub/

所有的档案和链接库,特别是那些被FTP daemon使用和那些在 ~ftp/bin 与~ftp/etc 中的档案,应该像上面范例中的目录做相同的保护。这些档案和链接库除了不应该被ftp帐号或与ftp相同群组的帐号所拥有之外,也必须防止写入。

C.使用合适的密码与群组档案

我们强烈建议网站不要使用系统中 /etc/passwd 做为~ftp/etc 目录中的密码档案或将系统中 /etc/group 做为 ~ftp/etc目录中的群组档案。在~ftp/etc目录中放置这些档案会使得入侵者取得它们。这些档案是可自定的而且不是用来做存取控制。

我们建议你在 ~ftp/etc/passwd 与 ~ftp/etc/group 使用代替的档案。这些档案必须由root所拥有。DIR命令会使用这代替的档案来显示档案及目录的拥有者和群组名称。网站必须确定 ~/ftp/etc/passwd档中没有包含任何与系统中 /etc/passwd文件中相同的帐号名称。这些档案应该仅仅包含需要显示的FTP阶层架构中档案与目录的拥有者与所属群组名称。此外,确定密码字段是“整理”过的。例如使用「*」来取代密码字段。

以下为cert中匿名ftp的密码档案范例:

ssphwg:*:3144:20:Site Specific Policy Handbook Working Group::

cops:*:3271:20:COPS Distribution::

cert:*:9920:20:CERT::

tools:*:9921:20:CERT Tools::

ftp:*:9922:90:Anonymous FTP::

nist:*:9923:90:NIST Files::

以下为cert中匿名ftp的群组档案范例:

cert:*:20:

ftp:*:90:

II.在你的匿名ftp提供可写入的目录

让一个匿名ftp服务允许使用者储存档案是有风险存在的。我们强烈提醒网站不要自动建立一个上传目录,除非已考虑过相关的风险。CERT/CC的事件回报成员接获许多使用上传目录造成非法传输版权软件或交换帐号与密码信息的事件。也接获恶意地将系统档案灌报造成denial of service问题。

本节在讨论利用三种方法来解决这个问题。第一种方法是使用一个修正过的FTP daemon。第二个方法是提供对特定目录的写入限制。第三种方法是使用独立的目录。

A.修正过的FTP daemon

假如你的网站计划提供目录用来做档案上传,我们建议使用修正过的FTP daemon对档案上传的目录做存取的控制。这是避免使用不需要的写入区域的最好的方法。以下有一些建议:

1.限定上传的档案无法再被存取, 如此可由系统管理者检测后,再放至于适当位置供人下载。

2.限制每个联机的上传资料大小。

3.依照现有的磁盘大小限制数据传输的总量。

4.增加登录记录以提前发现不当的使用。

若您欲修改FTP daemon, 您应该可以从厂商那里拿到程序代码,或者您可从下列地方取得公开的FTP程序原始码:

wuarchive.wustl.edu ~ftp/packages/wuarchive-ftpd

ftp.uu.net ~ftp/systems/unix/bsd-sources/libexec/ftpd

gatekeeper.dec.com ~ftp/pub/DEC/gwtools/ftpd.tar.Z

CERT/CC 并没有正式地对所提到的FTP daemon做检测、评估或背书,

要使用何种FTP daemon由每个使用者或组织负责决定,而CERT/CC建议每个机关在安装使用这些程序之前,能做一个彻底的评估。

B.使用保护的目录

假如你想要在你的FTP站提供上传的服务, 而你又没办法去修改FTP daemon, 我们就可以使用较复杂的目录架构来控制存取。这个方法需要事先规划并且无法百分之百防止FTP可写入区域遭不当使用, 不过许多FTP站仍使用此方法。

为了保护上层的目录(~ftp/incoming),我们只给匿名的使用者进入目录的权限(chmod751~ftp/incoming)。这个动作将使得使用者能够更改目录位置(cd),但不允许使用者检视目录内容。Ex:drwxr-x--x 4 root system 512 Jun 11 13:29 incoming/在~ftp/incoming使用一些目录名只让你允许他们上传的人知道。为了要让别人不易猜到目录名称, 我们可以用设定密码的规则来设定目录名称。请不要使用本文的目录名称范例(避免被有心人士发现您的目录名,并上传档案)

drwxr-x-wx 10 root system 512 Jun 11 13:54 jAjwUth2/

drwxr-x-wx 10 root system 512 Jun 11 13:54 MhaLL-iF/

很重要的一点是,一旦目录名被有意无意的泄漏出来, 那这个方法就没什么保护作用。只要目录名称被大部分人知道, 就无法保护那些要限定使用的区域。假如目录名被大家所知道, 那你就得选择删除或更改那些目录名。

C.只使用一颗硬盘

假如你想要在你的FTP站提供上传的服务, 而你又没办法去修改FTP daemon,您可以将所有上传的资料集中在同一个挂(mount)在~ftp/incoming上的档案系统。可以的话,将一颗单独的硬盘挂(mount)在~ftp/incoming上。系统管理者应持续检视这个目录(~ftp/incoming), 如此便可知道开放上传的目录是否有问题。

III.限制FTP用户目录

匿名FTP可以很好地限制用户只能在规定的目录范围内活动,但正式的FTP用户默认不会受到这种限制,这样,他可以自由在根目录、系统目录、其他用户的目录中读取一些允许其他用户读取的文件。

如何才能把指定的用户象匿名用户一样限制在他们自己的目录中呢?以下我们以red hat和wu-ftp为例做一介绍。

1 创建一个组,用groupadd命令,一般可以就用ftp组,或者任何组名。

-----相关命令:groupadd ftpuser

-----相关文件:/etc/group

-----相关帮助:man groupadd

2 创建一个用户,如testuser,建立用户可用adduser命令。如果你已在先前建立了 testuser这个用户,可以直接编辑/etc/passwd文件,把这个用户加入到ftpuser这个组中。

-----相关命令:adduser testuser -g ftpuser

-----相关文件:/etc/passwd

-----相关帮助:man adduser

3 修改/etc/ftpaccess文件,加入guestgroup的定义:guestgroup ftpuser我是这样改的,加的是最后5行:

compress yes all

tar yes all

chmod no anonymous

delete no anonymous

overwrite no anonymous

rename no anonymous

chmod yes guest

delete yes guest

overwrite yes guest

rename yes guest

guestgroup ftpuser

除了加 guestgroup ftpuser 这行,其他4行也要加上,否则用户登陆后,虽然可以达到用户不能返回上级目录的目的,但是却只能上传,不能覆盖、删除文件!

-----相关命令:vi /etc/ftpaccess

-----相关文件:/etc/ftpaccess

-----相关帮助:man ftpaccess,man chroot

4 向这个用户的根目录下拷贝必要的文件,拷贝ftp server自带的目录,把 /home/ftp/下的bin,lib两个目录拷贝到这个用户的根目录下,因为一些命令(主要是ls)需要Lib支持,否则不能列目录和文件。

-----相关命令:

cp -rf /home/ftp/lib /home/testuser;cp -rf /home/ftp/bin /home/testuser

5 另外可别忘了关掉用户的telnet权,否则就白做了噢。怎么不让用户telnet呢?很简单:在/etc/shells里加一行/dev/null,然后可以直接编辑/etc/passwd文件,把用户的shell设置为/dev/null就可以了。

-----相关命令:vi /etc/passwd

这一步可以在步骤2 创建一个用户时就先做好。

-----相关命令:adduser testuser -g ftpuser -s /dev/null

小经验:只要把/home/ftp下的bin和lib目录cp到/etc/skel目录里,以后新建用户都会自动把bin和lib目录CP到用户目录里,当然你也可以加上public_html目录和cgi-bin目录。

经过以上设置,testuser这个用户的所有FTP动作将限制在他的/home/testuser目录中。

请作者联系本站,及时附注您的姓名。联系邮箱:edu#chinaz.com(把#改为@)。

篇6:用L加密增强FTP服务器安全性

一般的FTP服务器是以明文方式传输数据的,安全性极差,信息很容易被盗,即使它提供了L加密功能,默认情况下也可能没有启用,如大家常用的Serv-UFTP服务器(以下简称Serv-U),为了保证特殊环境下的数据安全,有时是有必要启用L功能的。下面笔者以Serv-U服务器为例,介绍如何启用L加密功能。

创建L证书

要想使用Serv-U的L功能,当然需要L证书的支持才行。虽然Serv-U在安装之时就已经自动生成了一个L证书,但这个默认生成的L证书在所有的Serv-U服务器中都是一样的,非常不安全,所以我们需要手工创建一个新的L证书。

笔者以Serv-U5.0汉化版为例,在“Serv-U管理员”窗口中,展开“本地服务器→设置”选项,然后切换到“L证书”标签页(如图),在这里笔者创建一个新的L证书。

首先在“普通名称”栏中输入FTP服务器的IP地址,接着其它栏目的内容,如电子邮件、组织和单位等,根据用户的情况进行填写,完成L证书标签页中所有内容的填写后,点击下方的“应用”按钮即可,这时Serv-U就会生成一个新的L证书。

启用L功能

虽然为Serv-U服务器创建了新的L证书,但默认情况下,Serv-U是没有启用L功能的,要想利用该L证书,首先要启用Serv-U的L功能才行。

这里笔者要启用Serv-U服务器中域名为“RTJ”的L功能。在“Serv-U管理员”窗口中,依次展开“本地服务器→域→RTJ”选项,然后在右侧的“域”管理框中找到“安全性”下拉列表选项,

这里Serv-U提供了种选项,分别是“仅仅规则FTP,无L/TLS进程”、“允许L/TLS和规则进程”、“只允许L/TLS进程”,默认情况下,Serv-U使用的是“仅仅规则FTP,无L/TLS进程”,因此是没有启用L加密功能的。在这里,笔者在“安全性”下拉选项框种选择“只允许L/TLS进程”选项,然后点击“应用”按钮,即可启用RTJ域的L功能。

注意:启用了L功能后,Serv-U服务器使用的默认端口号就不再是“”了,而是“990”了,这点FTP用户一定要留意,否则就会无法成功连接Serv-U服务器。

L应用

启用Serv-U服务器的L功能后,就可以利用此功能安全传输数据了,但FTP客户端程序必须支持L功能才行。

支持L的FTP客户端程序现在也比较多,笔者以“FlashFXP”程序为例,介绍如何成功连接到启用了L功能的Serv-U服务器。运行“FlashFXP”程序后,点击“会话→快速连接”选项,弹出“快速连接”对话框,在“服务器或URL”栏中输入Serv-U服务器的IP地址,在“端口”栏中一定要输入“990”,这是因为Serv-U服务器启用L功能后,端口号就从“”变为“990”;接着在“用户名”和“密码”栏中输入用户的登录账号。

然后切换到“L”标签页,选中“隐式L”选项,这一步骤是非常关键的,如果不选中“隐式L”,就无法成功连接到Serv-U服务器。最后点击“连接”按钮。

当用户第一次连接到Serv-U服务器时,FlashFXP会弹出一个“证书”对话框,这时用户只要点击“接受并保存”按钮,将L证书下载到本地后,就能成功连接到Serv-U服务器,以后和Serv-U服务器间的数据传送就会受到L功能的保护,不再是以明文形式传送,这样就不用再担心FTP账号被盗,敏感信息被窃取的问题了。

相关专题 安全性服务器