以下是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
。