以下是Ubuntu FTP安全设置的关键步骤,以vsftpd为例:
安装FTP服务器
sudo apt update
sudo apt install vsftpd
禁用匿名访问
编辑配置文件 /etc/vsftpd.conf,设置:
anonymous_enable=NO
限制用户权限
chroot_local_user=YES
allow_writeable_chroot=YES
启用SSL/TLS加密
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
ssl_enable=YES
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
配置防火墙
允许FTP端口(21、990及被动端口范围,如30000-31000):
sudo ufw allow 21/tcp
sudo ufw allow 990/tcp
sudo ufw allow 30000:31000/tcp
sudo ufw enable
启用日志记录
在配置文件中添加:
xferlog_enable=YES
xferlog_std_format=YES
定期更新与监控
sudo apt update && sudo apt upgrade
/var/log/vsftpd.log。可选:使用SFTP(基于SSH,更安全)替代FTP,需安装openssh-server并配置Subsystem sftp。