以下是CentOS下vsftpd的安全設置步驟:
安裝vsftpd
sudo yum update && sudo yum install vsftpd
基礎安全配置(修改/etc/vsftpd/vsftpd.conf)
anonymous_enable=NOlocal_enable=YESchroot_local_user=YESallow_writeable_chroot=YESpasv_enable=YESpasv_min_port=50000pasv_max_port=50010ssl_enable=YESforce_local_data_ssl=YESforce_local_logins_ssl=YESrsa_cert_file=/path/to/cert.pemrsa_private_key_file=/path/to/key.pem防火墻配置
開放FTP及被動模式端口:
sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --permanent --add-port=50000-50010/tcp # 若啟用被動模式
sudo firewall-cmd --reload
用戶管理
sudo useradd -d /home/ftpuser -s /sbin/nologin ftpuser
sudo passwd ftpuser
/etc/vsftpd/user_list控制允許登錄的用戶(白名單)日志與權限
xferlog_enable=YESsudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser
SELinux設置(可選)
若啟用SELinux,需調整策略:
sudo setsebool -P ftp_home_dir on
sudo chcon -Rt svirt_sandbox_file_t /home/
重啟服務
sudo systemctl restart vsftpd
sudo systemctl enable vsftpd
驗證:使用FTP客戶端(如FileZilla)連接服務器,確保需輸入用戶名密碼,且連接為加密模式(如顯示“SSL/TLS”)。
注:以上配置可根據實際需求調整,生產環境建議使用強密碼、限制IP訪問(通過/etc/hosts.allow/deny)并定期更新系統。