加入收藏 | 设为首页 | 会员中心 | 我要投稿 青岛站长网 (https://www.0532zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

VSftpd安装和配置FTP虚拟用户实践

发布时间:2021-01-09 12:28:25 所属栏目:安全 来源:网络整理
导读:《VSftpd安装和配置FTP虚拟用户实践》要点: 本文介绍了VSftpd安装和配置FTP虚拟用户实践,希望对您有用。如果有疑问,可以联系我们。 VSftpd英文全称(Very Secure File Transfer Protocol Deamon),正如VSftpd官方宣传中所说 Probably the most secure and f

将以下内容加入到文件最前面(在后面加入无效)

  • 32位系统

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
  • 64位系统

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

上一步建立的数据库vsftpd_login在此处被使用,建立的虚拟用户将采用PAM进行验证,这是通过/etc/vsftpd/vsftpd.conf文件中的语句pam_service_name=vsftpd.vu来启用的.

VSftpd虚拟用户的独立配置

$ mkdir -p /etc/vsftpd/vsftpd_user_conf
$ vim /etc/vsftpd/vsftpd_user_conf/ftpupload

anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/home/ftpdata/

VSftpd服务器之间的站点对传

有时候可能需要开启VSftpd服务器之间的站点对传功能,只需在主配置文件/etc/vsftpd/vsftpd.conf里加入如下参数即可

pasv_promiscuous=YES
port_promiscuous=YES

说明

port_promiscuous=YES|NO
默认值为NO.为YES时,取消PORT安全检查.该检查确保外出的数据只能连接到客户端上.小心打开此选项.

pasv_promiscuous=YES|NO
默认值为NO.为YES时,将关闭PASV模式的安全检查.该检查确保数据连接和控制连接是来自同一个IP地址.小心打开此选项.此选项唯一合理的用法是存在于由安全隧道方案构成的组织中.

由于取消了数据包的安全检查,允许数据流向非客户端,所以站点对传成功.

配置修改完成后,重启vsftpd服务生效

$ /etc/init.d/vsftpd restart

VSftpd的一些配置技巧

  • 配置VSftpd服务器的日志功能

VSftpd与log有关的选项

vsftpd_log_file
xferlog_enable
xferlog_std_format
xferlog_file
dual_log_enable
syslog_enable
log_ftp_protocol
no_log_lock

这里主要要到下面几个参数控制

log_ftp_protocol
如果启用,假若选项xferlog_std_format没有启用,所有的FTP请求和应答都会被记录. 此选项将对调试很有用.
默认: YES

dual_log_enable
如果启用,将生成两个相似的日志文件,默认在/var/log/xferlog和/var/log/vsftpd.log目录下. 前者是wu-ftpd类型的传输日志,可以用于标准工具分析. 后者是vsftpd自己类型的日志.

xferlog_enable
如果启用,将会维护一个日志文件,用于详细记录上载和下载. 默认情况下,这个日志文件是/var/log/vsftpd.log. 但是也可以通过配置文件中的vsftpd_log_file选项来指定.
默认: NO(但是在示例设置中启用了这个选项)

xferlog_std_format
如果启用,传输日志文件将以标准xferlog的格式书写,如同wu-ftpd一样. 这可以用于重新使用传输统计生成器. 然而,默认格式更注重可读性. 此格式的日志文件默认为/var/log/xferlog,但是您也可以通过xferlog_file选项来设定.
默认: NO

xferlog_file
xferlog 日志文件所在位置,默认为/var/log/xferlog.

vsftpd_log_file
指定VSFTPd日志文件位置,默认为/var/log/vsftpd.log,xferlog_enable的默认值为no(VSFTPd提供的配置文件模版将其值改为了yes),dual_log_enable的默认值也为no,就是说默认情况下VSFTPd是不记录日志的.我们也可以将日志信息写入系统日志/var/log/messages中,使用如下参数:syslog_enable=yes/no

配置VSftpd传输日志

将xferlog_file前面的#号对掉,也就是把VSftpd的Log功能打开,这样我们就能在/var/log目录下查看xferlog.这是VSftpd日志功能,这对于我们来说是极为重要的.

##################log settings###################
# Activate logging of uploads/downloads.
xferlog_enable=YES
#
# You may override where the log file goes if you like. The default is shown
# below.
xferlog_file=/var/log/xferlog
#
#log in two files /var/log/xferlog and /var/log/vsftpd.log
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
#log time setting
use_localtime=YES
#
###################end of log####################
  • 配置VSftpd限制同一个IP地址的同时连接数量

VSftpd对同一个IP地址的同时连接数量默认是没有限制的.在VSftpd中的max_per_ip选项是0,代表没有限制.

如果你想限制同一个IP地址的同时连接数量,你需要修改/etc/vsftpd/vsftpd.conf文件.以下是一个例子

pam_service_name=vsftpd
userlist_enable=YES
#enable for standalone mode
listen=YES
tcp_wrappers=YES
max_per_ip=2

在这个例子中,每一个主机最多只能有两个连接.修改vsftpd.conf之后,你需要重启VSftpd来让它生效.

一旦达到最大连接数,同一个主机下对这个FTP服务器的其他连接会出现以下的错误信息.

421 There are too many connections from your internet address.
  • VSftpd与TCP_wrapper结合限制用户的IP地址登录

通过/etc/hosts.allow定义允许的来源地址,/etc/hosts.deny定义拒绝的来源地址.

配置示例

(编辑:青岛站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!