在Ubuntu上配置FTP服务器的安全访问是一个涉及多个方面的过程,包括安装和配置FTP服务器软件、强化密码策略、配置防火墙、以及启用加密连接等。以下是详细的安全配置步骤:
首先,确保你已经安装了vsftpd。在终端中输入以下命令来安装vsftpd:
sudo apt update
sudo apt install vsftpd
编辑vsftpd的配置文件 /etc/vsftpd.conf
:
sudo nano /etc/vsftpd.conf
根据以下建议进行配置以增强安全性:
禁止匿名登录:
anonymous_enable=NO
允许本地用户登录:
local_enable=YES
启用本地用户写入权限:
write_enable=YES
将用户限制在其主目录中,提高安全性:
chroot_local_user=YES
启用日志记录:
xferlog_enable=YES
为了使用FTP服务,需要创建一个FTP用户。这里创建一个名为 ftpuser
的用户:
sudo adduser ftpuser
在创建用户时,系统会提示输入用户密码。请确保为FTP用户设置一个安全的密码。
vsftpd支持使用SSL加密FTP连接。首先,需要安装openssl:
sudo apt install openssl
然后,生成SSL证书:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/certs/vsftpd.pem
最后,编辑 /etc/vsftpd.conf
文件,启用SSL:
ssl_enable=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
force_ssl=YES
重启vsftpd服务以应用更改:
sudo systemctl restart vsftpd
确保在防火墙上开放FTP服务的端口(默认为21),以及SSL加密的FTP端口(默认为990):
sudo ufw allow 21/tcp
sudo ufw allow 990/tcp