一、禁止系统级别用户来登录 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 服务器上备份文件。