实例剖析开源系统中vsftpd的安全设置方法(一)

日期: 2011-12-14 作者:羽扇纶巾 来源:TechTarget中国

在企业级的应用中,越来越多的企业应用开源的vsftpd软件来搭建自己的文件共享服务,优点是速度快且节省开支。然而,企业用户行为难以预料,配置稍有不当则会使该服务成为一个安全风险点,导致带宽恶意占用、用户FTP服务密码泄露等。本文将以实例为大家介绍vsftpd的安全设置方法。   1、vsftpd简介   vsftpd是一个基于GPL发布的类UNIX类操作系统上运行的服务器的名字(表明它也是一种守护进程),可以运行在诸如Linux、BSD、Solaris、HP-UX及Irix上,是当前很多Linux发行套件的最新版本提供的默认FTP服务器。

该服务器支持很多其他传统的FTP服务器不支持的功能,主要……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

在企业级的应用中,越来越多的企业应用开源的vsftpd软件来搭建自己的文件共享服务,优点是速度快且节省开支。然而,企业用户行为难以预料,配置稍有不当则会使该服务成为一个安全风险点,导致带宽恶意占用、用户FTP服务密码泄露等。本文将以实例为大家介绍vsftpd的安全设置方法。

  1、vsftpd简介

  vsftpd是一个基于GPL发布的类UNIX类操作系统上运行的服务器的名字(表明它也是一种守护进程),可以运行在诸如Linux、BSD、Solaris、HP-UX及Irix上,是当前很多Linux发行套件的最新版本提供的默认FTP服务器。该服务器支持很多其他传统的FTP服务器不支持的功能,主要有如下几个显著特点:1)非常高的安全性;2)带宽限制功能;3)良好的扩展性;4)支持创建虚拟用户;5)支持IPv6;6)支持虚拟IP;7)高速、稳定。总体来说,vsftpd是Linux系统中继Wu-ftpd之后又一款优秀的、使用普遍的FTP服务器,

  2、vsftpd快速安装

  目前在主流的Linux发行版本中,如Red Hat Enterprise Linux(RHEL)、Fedora或CentOS系统上,安装vsftp很简单,这里使用CentOS作为演示来介绍。

  首先,需要登录开源分站点将vsftp的安装包下载回来(RHEL版本的操作与其相同),如下命令所示:

  #wget  htt://ftp.cica.es/CentOS/5/updates/i386/RPMS/vsftpd-2.0.5-16.el5_4.1.i386.rpm

  接着,使用rpm命令安装所需软件包:

  #rpm -ivh vsftpd-2.0.5-16.el5_4.1.i386.rpm

  值得注意的是:在运行vsftpd之前,需要确定系统的SELinux已经支持FTP读写或者SELinux为关闭状态。否则,vsftpd将无法正常运行。

  3、vsftpd快速配置

  首先,配置vsftpd需要修改vsftpd的主配置文件/etc/vsftpd/vsftpd.conf,并设定默认的匿名用户根目录:/var/ftp/。图1为安装完成后的vsftpd.conf。默认情况下匿名用户的访问是被允许的,图中的anonymous_enable=YES。

安装完成后的vsftpd.conf

图1

  如果在配置文件末尾加上anon_upload_enable=YES和anon_mkdir_write_enable=YES。那将允许匿名用户上传文件并可以创建目录。如图2:

在vsftpd配置文件末尾加上anon_upload_enable

图2

  接着,需要切换到/var/ftp目录下建立新的文件夹xiaowang,如下命令:

  #cd /var/ftp
  #mkdir /var/ftp/xiaowang

  然后,使用如下命令启动vsftpd服务即可:

  #service vsftpd start

  其中那个pub文件夹是vsftp安装完自带的,我们暂时不用理会。

  值得注意的是:如果在命令行模式下输入ntsysv命令调出系统的面板,并在vsftpd前选上星号,并回车确认,即可以让vsftp开机启动。

  4、实例剖析安全设置

  (1)用户访问权限管理

  前面所看到的是非常简单的vsftp使用过程,基本上没做什么安全上的配置,接下来通过实例配置来介绍常规的vsftpd安全管理应该如何进行。

  为了安全起见,一个安全的vsftp服务器肯定不允许匿名登录,更不用说匿名上传和匿名删除服务器中的相关文件。那么,就需要如下一些步骤来进行用户管理,从而保证其安全。

  1)修改默认配置文件

  需要修改/etc/vsftpd/vsftpd.conf,修改为anonymous_enable=NO,如图3:

修改vsftp默认配置文件

图3

  2)使用nologin禁止FTP帐户登录Linux服务器

  目前大多数使用vsftpd的企业用户都知道这么一种默认情况: vsftp的用户可以使用本地系统帐号。也就是说。如果在这个Linux系统中有一个叫xiaowang的普通用户的话,那这个xiaowang帐号是可以登录vsftp的。初看起来,这没有什么问题,但是,通过分析我们不难得知:如果xiaowang这个FTP帐号信息被人非法获得的话,对方将可以用这个帐号远程ssh登录Linux服务器执行多种命令。这是一个较大的安全隐患。所以企业系统管理员在新建FTP用户时,需要用到nologin。

  假设这里添加一个不允许本地登录的帐号xiaowang,执行如下命令:

  #useradd -s /sbin/nologin xiaowang

  然后再用passwd命令设置密码,这样,就保证了FTP帐号将只能传输文件无法本地登录。即使帐户被丢失,黑客拿到FTP帐号也顶多只能访问FTP服务,而不可能登录到Linux服务器本地,进行更多的非法操作。

  在《实例剖析开源系统中vsftpd的安全设置方法(二)》中,我们将介绍如何使用chroot控制用户访问权限,如何限制恶意占有带宽的用户等内容。

作者

羽扇纶巾
羽扇纶巾

自由撰稿人。

相关推荐