Vsftpd服务器的概述

运维 系统运维
Vsftpd 是“Very Secure FTP Daemon ”的意思。也就是说,Vsftpd 最初的理念在于建构一个安全第一的FTP服务器。那么先大致了解一下Vsftpd吧!

Vsftpd是什么?

  vsftpd意思为“very secure FTP daemon(非常安全的FTP进程)”,是一个基于GPL发布的类UNIX类操作系统上运行的服务器的名字(是一种守护进程),可以运行在诸如Linux、BSD、Solaris、HP-UX以及Irix等系统上面。vsftpd支持很多其他传统的FTP服务器不支持的良好特性。
 

  为何使用 vsftpd?

  为了建构一个安全为主的 FTP 伺服器, vsftpd 针对作业系统的『程序的权限 (privilege)』概念来设计, 如果你读过基础篇的程序与资源管理章节的话, 你应该会晓得系统上面所执行的程式都会引发一个程序,我们称他为 PID (Process ID), 这个 PID 在系统上面能进行的任务与他拥有的权限有关。也就是说, PID 拥有的权限等级越高, 他能够进行的任务就越多。举例来说,使用 root 身份所触发的 PID 通常拥有可以进行任何工作的权限等级。

  不过,万一触发这个 PID 的程式 (program) 有漏洞而导致被网路怪客 (cracker) 所攻击而取得此 PID 使用权时, 那么网路怪客将会取得这个 PID 拥有的权限吶!所以,近来发展的套件都会尽量的将服务取得的 PID 权限降低,使得该服务即使不小心被入侵了,入侵者也无法得到有效的系统管理权限,这样会让我们的系统较为安全的啦。 vsftpd 就是基于这种想法而设计的。

  除了 PID 方面的权限之外, vsftpd 也支援 chroot 这个函式的功能,chroot 顾名思义就是『 change root directory 』的意思,那个 root 指的是『根目录』而非系统管理员。 他可以将某个特定的目录变成根目录,所以与该目录没有关係的其他目录就不会被误用了。

  举例来说,如果你以匿名身份登入我们的 ftp 服务的话,通常你会被限定在 /var/ftp 目录下工作, 而你看到的根目录其实就只是 /var/ftp ,至于系统其他如 /etc, /home, /usr... 等其他目录你就看不到了! 这样一来即使这个 ftp 服务被攻破了,没有关係,入侵者还是仅能在 /var/ftp 裡面跑来跑去而已,而无法使用 Linux 的完整功能。自然我们的系统也就会比较安全啦!

  sftpd 是基于上面的说明来设计的一个较为安全的 FTP 伺服器软体,他具有底下的特点喔:

  •vsftpd 这个服务的启动者身份为一般使用者,所以对于 Linux 系统的使用权限较低,对于 Linux 系统的危害就相对的减低了。此外, vsftpd 亦利用 chroot() 这个函式进行改换根目录的动作,使得系统工具不会被 vsftpd 这支服务所误用;

  •任何需要具有较高执行权限的 vsftpd 指令均以一支特殊的上层程序 (parent process) 所控制 ,该上层程序享有的较高执行权限功能已经被限制的相当的低,并以不影响 Linux 本身的系统为準;

  •绝大部分 ftp 会使用到的额外指令功能 (dir, ls, cd ...) 都已经被整合到 vsftpd 主程式当中了, 因此理论上 vsftpd 不需要使用到额外的系统提供的指令,所以在 chroot 的情况下, vsftpd 不但可以顺利运作,且不需要额外功能对于系统来说也比较安全。

  •所有来自用户端且想要使用这支上层程序所提供的较高执行权限之 vsftpd 指令的需求, 均被视为『不可信任的要求』来处理,必需要经过相当程度的身份确认后,方可利用该上层程序的功能。 例如 chown(), Login 的要求等等动作;

  •此外,上面提到的上层程序中,依然使用 chroot() 的功能来限制使用者的执行权限。

  由于具有这样的特点,所以 vsftpd 就会比较安全一些!

【编辑推荐】

  1. vsftpd.conf 术语解释大全
  2. Vsftpd如何匿名访问
  3. Vsftpd如何实现虚拟路径
责任编辑:zhaolei 来源: CSDN
相关推荐

2011-03-02 10:51:09

vsftpd

2011-03-01 14:00:16

vsFTPd功能

2011-02-22 14:19:28

vsFTPd启动关闭

2011-03-07 09:37:32

Vsftpd启动CentOS

2010-08-25 16:28:04

2011-02-24 09:57:40

vsFTPd启动关闭

2009-09-17 18:04:42

Nis服务器

2011-03-04 10:03:44

VSFTPD虚拟服务器

2011-02-23 15:32:39

vsftpd

2011-03-04 10:00:56

Vsftpd数字

2011-03-02 10:57:27

vsFTPd

2010-01-13 14:45:25

CentOS配置

2010-02-24 13:55:18

Fedora vsFT

2011-02-22 11:23:48

vsFTPDLinux服务器

2011-03-02 11:30:02

vsFTPd

2009-12-28 15:30:35

Fedora HAL

2010-01-15 17:35:09

2011-02-22 11:23:48

vsFTPDLinux服务器

2011-03-02 12:43:40

vsFTPd

2011-01-13 15:57:20

FreeBSD 8.1vsftpd
点赞
收藏

51CTO技术栈公众号