FTP服务器:
FTP服务使用了两个连接: 命令通道21、数据通道20
两种工作模式:主动式连接(Active)被动连接(PASV)
FTP的安全注意问题
① 随时更新到最新版本,并随时注意漏洞信息
② 使用iptables来规定可以使用FTP的网络
③ 使用TCP_Wrappers 来规范可以登录的网络
④ 使用FTP软件的设置来限制用户的不同权限
⑤ 使用Super deamon来管理FTP
⑥ 注意用户主目录及匿名用户主目录文件权限
⑦ 若不对外公开可以修改FTP的port
⑧ 可以用FTPs加密FTP功能
重要参数说明:
环境相关:
connect_from_port_20=YES(NO) 主动连接使用的端口
listen_port=21 命令通道端口
listen=YES(NO) 表示以stand alone的方式启动
pasv_enable=YES(NO) 支持被动模式连接
use_localtime=YES(NO) 是否使用本地时间
write_enable=YES(NO) 允许用户上传
connect_timeout=60 主动模式下连接超时时间
data_connection_timeout=300 数据传输时间超时连接失败
idle_session_timeout=300 最大空闲时间
max_clients=5 最大连接数
max_per_ip=5 相同IP最大连接数
pasv_min_port=65400
pasv_max_port=65405 (被动连接开发的端口范围)
banner_file=/etc/vsftpd/welcom.txt 用户登录显示的信息
用户相关:
local_enable=YES(NO) 是否允许本地用户登录
local_max_rate=0 传输速率限制
chroot_local_user=YES(NO) 是否开启用户宿主目录限制
chroot_list_enable=YES(NO) 是否启用chroot写入列表功能
chroot_list_file=/etc/vsftp/chroot_list 写入列表文件
userlist_enable=YES(NO) 是否启用vsftp的阻挡机制
userlist_deny=YES(NO) 文件中的用户是否拒绝
userlist_file=/etc/vsftp/user_list 受限制的用户
anonymous_enable=YES(NO) 是否允许匿名登录
安全相关:
ascii_download_enable=YES(NO) 是否优先使用ASCII格式下载
ascii_upload_enable=YES(NO)
one_process_model=YES(NO) 是否每个建立连都有process负责,只支持在匿名用户的情况下使用
tcp_wrappers=YES(NO) 是否支持 TCP wrappers
xferlog_enable=YES(NO) 用户行为是否记录日志
xferlog_file=/var/log/xferlog
nopriv_user=nobody 服务的默认执行者
pam_service_name=vsftpd PAM模块名/etc/pam.d/vsftpd
安装:
yum install vsftpd -y
配置:
1、vsftpd.conf配置
listen_port=21 监听端口
pasv_enable=YES 被动模式
pasv_min_port=65400
pasv_max_port=65405
pasv_promiscuous=YES
anonymous_enable=YES 匿名用户
local_enable=YES 本机用户不能登录ftp服务器
write_enable=YES 写入权限
local_umask=002 新建文件权限
userlist_enable=YES 是否启用vsftpd 的阻挡机制
userlist_deny=NO 文件中的用户是否拒绝
allow_writeable_chroot=YES #允许写入
chroot_list_enable=YES #开启指定列表用户功能,只允许此文件列表中的用户访问
chroot_list_file=/etc/vsftpd/chroot_list #指定用户列表文件位置
user_config_dir=/etc/vsftpd/userconfig/ #给每个用户指定一个配置文件
use_localtime=YES 使用本地时间
dirmessage_enable=YES
xferlog_enable=YES 开启日志记录
connect_from_port_20=YES 主动模式使用20进行数据传输
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
tcp_wrappers=YES
banner_file=/etc/vsftpd/welcome.txt
chroot_local_user=YES 定义用户在自己的目录下活动
max_clients=5
max_per_ip=3