centos

centos vsftp安全设置怎么做

小樊
41
2025-08-20 14:58:48
栏目: 智能运维

以下是CentOS下vsftpd的安全设置步骤:

  1. 安装vsftpd

    sudo yum update && sudo yum install vsftpd  
    
  2. 基础安全配置(修改/etc/vsftpd/vsftpd.conf

    • 禁用匿名登录:anonymous_enable=NO
    • 允许本地用户登录并限制其访问主目录:
      local_enable=YES
      chroot_local_user=YES
      allow_writeable_chroot=YES
    • 启用被动模式并指定端口范围(可选):
      pasv_enable=YES
      pasv_min_port=50000
      pasv_max_port=50010
    • 启用SSL/TLS加密(需先获取证书):
      ssl_enable=YES
      force_local_data_ssl=YES
      force_local_logins_ssl=YES
      rsa_cert_file=/path/to/cert.pem
      rsa_private_key_file=/path/to/key.pem
  3. 防火墙配置
    开放FTP及被动模式端口:

    sudo firewall-cmd --permanent --add-port=21/tcp  
    sudo firewall-cmd --permanent --add-port=50000-50010/tcp  # 若启用被动模式  
    sudo firewall-cmd --reload  
    
  4. 用户管理

    • 创建专用FTP用户(禁止SSH登录):
      sudo useradd -d /home/ftpuser -s /sbin/nologin ftpuser  
      sudo passwd ftpuser  
      
    • 通过/etc/vsftpd/user_list控制允许登录的用户(白名单)
  5. 日志与权限

    • 启用日志记录:xferlog_enable=YES
    • 确保用户目录权限正确:
      sudo chown ftpuser:ftpuser /home/ftpuser  
      sudo chmod 755 /home/ftpuser  
      
  6. SELinux设置(可选)
    若启用SELinux,需调整策略:

    sudo setsebool -P ftp_home_dir on  
    sudo chcon -Rt svirt_sandbox_file_t /home/  
    
  7. 重启服务

    sudo systemctl restart vsftpd  
    sudo systemctl enable vsftpd  
    

验证:使用FTP客户端(如FileZilla)连接服务器,确保需输入用户名密码,且连接为加密模式(如显示“SSL/TLS”)。

注:以上配置可根据实际需求调整,生产环境建议使用强密码、限制IP访问(通过/etc/hosts.allow/deny)并定期更新系统。

0
看了该问题的人还看了