当前位置: 首页 > GNU/Linux, Linux系统, 网络安全 > 正文

FTP服务器的搭建与安全配置

  FTP可以说是Internet上使用非常广泛的一种通讯协议了。它工作在OSI模型的第7层,是TCP/IP的一种具体应用。FTP采用基于TCP的可靠连接:监听21端口来等待控制连接请求,当连接建立后,采用20号端口来建立数据传输通道。

  FTP中使用的一些典型消息:

    125  数据连接打开,传输开始

    200  命令OK

    331  用户名OK,需要输入密码

    425  不能打开数据连接

    452  错误写文件

    500  命令无法识别

 

  Vsftp是Linux系统下的一套开源FTP服务器软件,具有结构简单、性能优良的特点,是一款轻量型稳定安全的FTP。

  1.安装Vsftp。(测试环境:ContOS 6.5)

  查看本机有没有vsftp安装源:

   如果有,则会显示vsftp的版本,这样就可以直接安装:

  但我的上面貌似没有,只能下载源码编译了。Vsftp官网主页:http://vsftpd.beasts.org ,貌似进不去,网上找了下,可以在这里下载:站长之家 。版本是Vsftp v2.3.2 For Linux。解压编译:

  在此说明一下vsftpd-2.3.2目录下的builddefs.h文件,该文件主要用来设定FTP服务器的一些安全配置:CTP_Wrappers、PAM和SSL。可以按需要选择/取消。  

  2.配置vsftpd.conf文件

  vsftpd.conf文件是主配置文件,在/etc/vsftpd/目录下.

  3.配置ftpusers文件

   ftpusers文件用于限定系统中那些用户能/不能使用FTP服务。可以根据实际情况添加/删除。

 4.配置user_list文件

 user_list文件指定的用户能否访问FTP服务器取决于userlist_deny选项的设置。默认为YES,即禁止user_list文件的用户访问FTP服务器,这与ftpusers文件相似。但是如果设置为NO,则完全相反,即只允许该文件列表里的用户访问该FTP服务器。

如果要限制指定的本地用户(即user_list文件的用户)不能访问FTP服务器,可以相应地修改vsftpd.conf文件:

 同样,如果要限制指定的本地用户(即user_list文件的用户)能够访问FTP服务器,而其他的本地用户不能访问,可以相应地修改vsftpd.conf文件:

5.配置允许匿名用户使用FTP服务器

创建用户ftp-anon和目录/var/ftp-pub:

作为匿名访问,/var/ftp-pub不应该属于用户ftp-anon,也不应该有写权限,所以可以用以下方法修改其权限:

 修改vsftpd.conf文件:

 6.虚拟用户使用Vsftp服务器

上面的(包括一般的)ftp访问都是通过建立系统帐号来访问服务器的,这样很不安全,如果权限配置错误将会使服务器受到威胁。但是,通过建立虚拟FTP账户(与系统帐号分离),就可以大大增强系统的安全性。虚拟FTP账户只能用于文件传输,也叫guest用户。它是把用户名/密码保存起来,再验证的。所以Vsftp需要一个系统用户的身份来读取数据(用户名/密码)文件,即guest用户,用以映射虚拟用户。

具体配置如下:

(1)生成虚拟用户口令库文件。以下为例:

(2)配置生成Vsftp的认证文件

保存并退出,使用db_load命令生成口令库文件:

修改口令库文件的权限:

 编辑虚拟用户所需的PAM配置文件

 (3)建立虚拟用户访问的目录,并设置相应的访问权限

 (4)建立配置文件

(5)重启Vsftp服务器

 至此,虚拟用户使用Vsftp服务器配置将完成了。可以使用login.txt里的用户帐号登录FTP服务器了。

7.改变Vsftp的端口号

在vsftpd.conf文件里加入如下,并重启vsftp。

 8.配置Vstfp服务器的chroot

chroot就是为登录用户指定一个固定的目录,这个目录一般是用户的主目录,用户被限制在该目录下,类似与WEB服务器的虚拟目录,从而保护了系统安全。

设置指定的用户执行chroot:

相关参考文章: http://wiki.ubuntu.org.cn/Vsftpd



这篇博文由 s0nnet 于2014年10月06日发表在 GNU/Linux, Linux系统, 网络安全 分类下, 欢迎你在下面发表评论
如无特别说明,独木の白帆发表的文章均为原创,欢迎大家转载,转载请注明: FTP服务器的搭建与安全配置 | 独木の白帆
关键字:

FTP服务器的搭建与安全配置:等您坐沙发呢!

发表评论

快捷键:Ctrl+Enter