启用本地用户访问
local_enable=YES
write_enable=YES
#### 重启vsftpd服务
重启vsftpd服务以应用更改
sudo systemctl restart vsftpd
### 步骤4:配置FTP安全性
#### 配置FTP用户的登录
编辑vsftpd配置文件以限制FTP用户登录:
编辑vsftpd配置文件
sudo nano /etc/vsftpd.conf
添加以下行以禁止FTP用户登录SSH:
禁止FTP用户登录SSH
chroot_local_user=YES
allow_writeable_chroot=YES
#### 启用FTP用户上传和下载
启用FTP用户上传和下载
sudo setsebool -P ftp_home_dir 1
### 步骤5:配置FTP端口
#### 配置FTP端口范围
编辑vsftpd配置文件以定义FTP数据传输的端口范围:
编辑vsftpd配置文件
sudo nano /etc/vsftpd.conf
添加以下行以定义端口范围:
定义端口范围
pasv_min_port=30000
pasv_max_port=31000
### 步骤6:防火墙配置
如果系统启用了防火墙,需要配置防火墙规则以允许FTP流量通过。
#### 针对Ubuntu/Debian
允许FTP流量通过防火墙
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 30000:31000/tcp
#### 针对CentOS/RHEL
允许FTP流量通过防火墙
sudo firewall-cmd --permanent --add-port=20/tcp
sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --permanent --add-port=30000-31000/tcp
sudo firewall-cmd --reload
### 步骤7:测试FTP服务器
使用FTP客户端软件(如FileZilla)连接到FTP服务器,使用FTP用户名和密码进行身份验证。确保可以成功上传和下载文件。
### 步骤8:配置FTP服务器的日志记录
为了跟踪FTP服务器活动和安全性,可以配置FTP服务器的日志记录。
编辑vsftpd配置文件以启用日志记录:
编辑vsftpd配置文件
sudo nano /etc/vsftpd.conf
添加以下行以启用日志记录:
启用日志记录
xferlog_enable=YES
xferlog_std_format=YES
### 步骤9:FTP服务器安全性进一步优化
为了进一步增强FTP服务器的安全性,可以采取以下措施:
#### 使用TLS/SSL加密
配置FTP服务器以使用TLS/SSL加密传输数据,以保护敏感信息的传输。这需要安装SSL证书,以确保数据在传输过程中得到加密和保护。对于vsftpd服务器,可以使用以下命令为FTP服务器启用TLS/SSL:
安装SSL证书工具
sudo apt-get install openssl # 对于Ubuntu/Debian
sudo yum install openssl # 对于CentOS/RHEL
生成自签名SSL证书
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
编辑vsftpd配置文件以启用TLS/SSL
sudo nano /etc/vsftpd.conf
在vsftpd配置文件中添加以下行:
启用TLS/SSL
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
ssl_ciphers=HIGH
require_ssl_reuse=NO
ssl_cert_file=/etc/ssl/private/vsftpd.pem
重启vsftpd服务以应用更改:
sudo systemctl restart vsftpd
#### 限制FTP用户访问
如果需要限制FTP用户的访问,可以在vsftpd配置文件中添加用户白名单或黑名单。编辑vsftpd配置文件并添加以下行来限制FTP用户的访问:
编辑vsftpd配置文件
sudo nano /etc/vsftpd.conf
使用`userlist_file`和`userlist_deny`选项来创建用户白名单或黑名单文件,然后指定文件的路径:
创建用户白名单文件
sudo touch /etc/vsftpd.allowed_users
编辑用户白名单文件以添加允许的用户
sudo nano /etc/vsftpd.allowed_users
将允许访问的用户添加到用户白名单文件中,并在vsftpd配置文件中启用白名单:
启用用户白名单
userlist_enable=YES
指定用户白名单文件的路径
userlist_file=/etc/vsftpd.allowed_users
禁止其他用户访问
userlist_deny=YES
#### 配置FTP用户的主目录
还可以根据需要配置FTP用户的主目录,以限制他们的访问范围。编辑vsftpd配置文件并添加以下行:
编辑vsftpd配置文件
sudo nano /etc/vsftpd.conf
通过使用`local_root`选项,可以将FTP用户的主目录设置为特定目录:
将FTP用户的主目录设置为特定目录
local_root=/var/ftp
#### 启用登录失败重试限制
为了提高安全性,可以启用登录失败重试限制。编辑PAM配置文件以添加限制:
编辑PAM配置文件
sudo nano /etc/security/limits.conf
在文件的底部添加以下行来启用登录失败重试限制:
启用登录失败重试限制
- hard maxlogins 3
### 步骤10:FTP服务器性能调优
为了确保FTP服务器的性能和稳定性,可以采取以下措施:
#### 限制并发连接数
如果FTP服务器面临高并发连接,可以限制并发连接数以保护服务器资源。编辑vsftpd配置文件并添加以下行:
编辑vsftpd配置文件
sudo nano /etc/vsftpd.conf
添加以下行来限制并发连接数:
限制并发连接数
max_clients=100
max_per_ip=2