vsftpd 傻瓜版安装全流程
创始人
2024-07-21 08:21:43
0

  在网站的建设中,FTP是一项重要的服务,利用它可以更容易分享有限的软件资源。Linux下有代表性的FTP服务器软件是Wu-FTP、ProFTP及vsftpd。Wu-FTP(Washington University FTP)是由美国华盛顿大学开发的、以效率和稳定性为参考量的FTP软件。它的功能强大,配置较复杂,由于开发时间较早,应用十分广泛,也因此成为黑客们主要的攻击目标。Wu-FTP的早期各级版本不断出现安全漏洞,系统管理员不得不因安全因素而经常对其进行升级。ProFTP针对Wu-FTP的弱项而开发,除了在安全性方面进行了改进外,还具备设置简单的特点,并提供了一些Wu-FTP没有的功能,大大简化了架设和管理FTP服务器的工作。vsftpd则凭借在安全性方面的出色表现,被很多大型网站广为采用。

  vsftpd简介

  vsftpd在安全性、高性能及稳定性三个方面有上佳的表现。它提供的主要功能包括虚拟IP设置、虚拟用户、Standalone、inetd操作模式、强大的单用户设置能力及带宽限流等。在安全方面,它从原理上修补了大多数Wu-FTP、ProFTP,乃至BSD-FTP的安装缺陷,使用安全编码技术解决了缓冲溢出问题,并能有效避免“globbing”类型的拒绝服务攻击。目前正在使用vsftpd的官方网站有Red Hat、SuSE、Debian、GNU、GNOME、KDE、Gimp和OpenBSD等。

  安装

  本文以1.1.3版本为例进行介绍。

  1.构建vsftpd

  首先解压缩包,代码如下:

  代码:

  $ tar xzvf vsftpd-1.1.3.tar.gz

  进入安装目录cd vsftpd-1.1.3。如果想在以后使用中启用tcp_wrapper功能,可在编译前修改“builddefs.h”文件中的语句,将“#undef VSF_BUILD_TCPWRAPPERS”改为“#define VSF_BUILD_TCPWRAPPERS”。tcp_wrapper功能主要应用于IP管理控制,比如可以为单独的一个IP地址使用特殊优先的FTP配置文件。然后,键入“make”生成一份可执行二进制程序代码。

  2.前期准备

  vsftpd的默认配置中需要用户“nobody”。添加该用户命令如下:

  代码:

  $ useradd nobody

  vsftpd的默认配置中需要目录“/usr/share/empty”。添加该目录的命令如下:

  代码:

  $ mkdir /usr/share/empty/

  匿名FTP需要用户“ftp”的存在,并有一个有效的主目录(不允许用户“ftp”有拥有权和可写权)。如没有此目录则建立它,命令如下:

  代码:

  $ mkdir /var/ftp/

  $ useradd -d /var/ftp ftp

  3.安装相关配置文件、执行文件、帮助手册页等

  运行“make install”,将源代码、帮助手册页等复制到相关路径。如果采用手工复制,命令如下:

  代码:

  $ cp vsftpd /usr/local/sbin/vsftpd

  $ cp vsftpd.conf.5 /usr/local/man/man5

  $ cp vsftpd.8 /usr/local/man/man8

  另外,“make install”不能复制样例配置文件,建议手工复制,命令如下:

  代码:

  $ cp vsftpd.conf /etc

  整个安装过程很简单,下面来看看如何操纵vsftpd的强大功能,进行vsftpd.conf文件的配置。

#p#

  两种运行模式

  像其它守护程序一样,vsftpd提供了standalone和inetd(inetd或xinetd)两种运行模式。简单解释一下,standalone一次性启动,运行期间一直驻留在内存中,优点是对接入信号反应快,缺点是损耗了一定的系统资源,因此经常应用于对实时反应要求较高的专业FTP服务器。inetd恰恰相反,由于只在外部连接发送请求时才调用FTP进程,因此不适合应用在同时连接数量较多的系统。此外,inetd模式不占用系统资源。除了反应速度和占用资源两方面的影响外,vsftpd还提供了一些额外的高级功能,如inetd模式支持per_IP(单一IP)限制,而standalone模式则更有利于PAM验证功能的应用。

  1.inetd运行模式

  从某种inetd运行vsftpd可以提供一种不错的功能——per_IP连接限制。这也是vsftpd 1.1.3版本最新推出并推荐的一种运行模式。实现per_IP连接限制要依赖于vsftpd提供的tcp_wrappers支持。如果使用标准的“inetd”,需编辑/etc/inetd.conf文件,并添加下面一行代码:

  代码:

  $ ftp stream tcp nowait root /usr/sbin/tcpd /usr/local/sbin/vsftpd

  确保删除或注释掉任何原存的FTP服务语句行。假如没有安装tcp_wrappers,或不需要使用它,可去掉“/usr/sbin/tcpd”部分。然后重载配置文件,命令如下:

  代码:

  $ kill -SIGHUP 'pidof inetd'

  大多数较新的系统采用的是xinetd超级服务守护进程。使用“vi /etc/xinetd.d/vsftpd” 看一下它的内容,如下:

  代码:

  disable = no

  socket_type = stream

  wait = no

  # 这表示设备是激活的,它正在使用标准的TCP Sockets。

  代码:

  user = root

  server = /usr/local/sbin/vsftpd

  # 说明服务程序/usr/local/sbin/vsftpd已被用来控制FTP接入请求,并且该程序是作为root身份运行的(可能瞬间拥有过大的特权)。请确信已经把vsftpd二进制执行代码安装在了“/usr/local/sbin”目录下。

  代码:

  per_source = 5

  instances ?= 200

  # 由于安全原因,从一个单一IP地址联入的最大允许数值是5。当前最大连接总数是200。

  代码:

  no_access ?= 192.168.1.3

  # 地址192.168.1.3将被拒绝访问。

  代码:

  banner_fail = /etc/vsftpd.busy_banner

  # 显示给用户当连接被禁止时的文件。不论因任何原因而被拒绝(太多用户,IP被禁止)。

  下面一行是产生的例子:

  代码:

  echo "421 Server busy, please try later." > /etc/vsftpd.busy_banner

  log_on_success ?+= PID HOST DURATION

  log_on_failure ?+= HOST

  这将按照时间顺序日志所有尝试连接的IP地址,无论连接成功与否。假如连接启动了一个FTP服务,其进程ID和使用期也将被载入日志。如果使用的是Red Hat,这个日志信息将出现在/var/log/secure文件中。

  最后,重启xinetd,命令如下:

  代码:

  $ /etc/rc.d/init.d/xinetd restart

  需要注意的是,“/etc/xinetd.d”目录中仅能开启一个FTP服务。

  2.standalone模式

  standalone模式便于实现PAM验证功能。进入这种模式首先要关闭xinetd下的vsftpd,设置“disable = yes”,或者注销掉“/etc/inetd.conf”中相应的行。然后修改“/etc/vsftpd.conf”中的选项为“listen=YES”。

通过上文的详细介绍和指导,相信大多数人都会了,赶快跟朋友拿去炫耀吧!

【编辑推荐】

  1. vsftpd入门——安装、配置、案例与常见问题
  2. 面向初学者的vsftpd安装指南
  3. 史上最详细的vsftpd配置文件讲解
  4. FreeBSD下配置vsftpd虚拟用户
  5. vsFTPd服务器 常用功能之匿名上传下载
  6. vsFTPd的服务器和防火墙及SELINUX的关系暧昧
  7. 如何做到 vsFTPd 服务器的启动和关闭
  8. 我教你如何添加Vsftpd 虚拟用户

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...