1. 基础配置优化
anonymous_enable=NO),减少安全风险和资源消耗;启用本地用户访问(local_enable=YES)和写权限(write_enable=YES);将用户限制在其主目录(chroot_local_user=YES),并允许写入(allow_writeable_chroot=YES),防止越权操作。max_clients(每个进程约占用5-10MB,如1GB内存可设为100-200),限制总并发连接数;设置max_per_ip=4-5,防止单个IP占用过多资源。pasv_enable=YES,并设置合理的端口范围(如pasv_min_port=1024、pasv_max_port=1048),解决防火墙后的连接问题;若有公网IP,添加pasv_address=<公网IP>,确保客户端正确连接。2. 安全配置强化
ssl_enable=YES,指定证书和私钥路径(如rsa_cert_file=/etc/ssl/private/vsftpd.pem、rsa_private_key_file=/etc/ssl/private/vsftpd.pem);强制数据传输和登录加密(force_local_data_ssl=YES、force_local_logins_ssl=YES),禁用SSLv2/SSLv3(ssl_sslv2=NO、ssl_sslv3=NO),仅允许TLSv1。chroot_local_user=YES将用户限制在主目录,配合allow_writeable_chroot=YES允许写入;使用userlist_enable=YES、userlist_file=/etc/vsftpd.userlist和userlist_deny=NO,仅允许列表内的用户登录,提升访问安全性。3. 性能参数调优
data_connection_timeout=300(数据连接超时)和idle_session_timeout=300(空闲会话超时),及时回收闲置资源,减少服务器负载。reverse_lookup_enable=NO,避免FTP服务器查询客户端IP的PTR记录,减少连接延迟。dirlist_enable=YES,缓存目录列表,提升大量文件的列表加载速度。4. 系统级别优化
/etc/security/limits.conf,添加* soft nofile 65536和* hard nofile 65536,提升单个用户的最大文件描述符数量,支持更多并发连接。/etc/sysctl.conf,添加或修改以下参数:net.core.somaxconn=65535(最大连接队列长度)、net.ipv4.tcp_tw_reuse=1(复用TIME-WAIT连接)、net.ipv4.tcp_fin_timeout=30(快速回收TIME-WAIT连接)、net.core.netdev_max_backlog=65535(网络设备接收队列长度),提升网络连接处理能力;应用配置:sudo sysctl -p。5. 防火墙配置
ufw,添加规则:sudo ufw allow 20/tcp(FTP数据端口)、sudo ufw allow 21/tcp(FTP控制端口)、sudo ufw allow 1024:1048/tcp(被动模式端口范围);执行sudo ufw reload使规则生效。6. 日志与监控
xferlog_enable=YES(启用传输日志)、xferlog_file=/var/log/vsftpd.log(日志文件路径)、xferlog_std_format=YES(标准日志格式),便于监控传输情况和排查问题。tail -f /var/log/vsftpd.log实时查看日志,或通过grep、awk等工具分析异常连接(如频繁的超时、拒绝连接),及时调整配置。