温馨提示×

ubuntu sftp安全配置技巧

小樊
60
2025-08-26 07:59:51
栏目: 智能运维

以下是Ubuntu SFTP的安全配置技巧:

  1. 安装OpenSSH服务器

    sudo apt update && sudo apt install openssh-server  
    
  2. 创建专用用户组与用户

    • 创建用户组:sudo groupadd sftpusers
    • 创建用户并限制为SFTP访问:
      sudo useradd -m -G sftpusers -s /usr/sbin/nologin sftpuser  
      sudo passwd sftpuser  
      
  3. 配置SSH限制SFTP访问
    编辑/etc/ssh/sshd_config,添加:

    Match Group sftpusers  
    ChrootDirectory /home/%u  # 限制用户仅能访问主目录  
    ForceCommand internal-sftp  
    AllowTcpForwarding no  
    X11Forwarding no  
    

    重启SSH服务:sudo systemctl restart ssh

  4. 设置目录权限

    • 根目录属主为root,权限755:
      sudo chown root:root /home/sftpuser  
      sudo chmod 755 /home/sftpuser  
      
    • 创建可上传目录并授权用户:
      sudo mkdir /home/sftpuser/uploads  
      sudo chown sftpuser:sftpusers /home/sftpuser/uploads  
      sudo chmod 700 /home/sftpuser/uploads  
      
  5. 启用密钥认证

    • 生成密钥对(客户端):ssh-keygen -t rsa -b 4096
    • 复制公钥到服务器:ssh-copy-id sftpuser@server_ip
    • 服务器端配置:
      sudo nano /etc/ssh/sshd_config  
      PubkeyAuthentication yes  
      PasswordAuthentication no  
      
      重启SSH服务:sudo systemctl restart ssh
  6. 防火墙与访问控制

    • 仅允许特定IP访问SFTP端口(默认22):
      sudo ufw allow from trusted_ip to any port 22  
      sudo ufw enable  
      
  7. 日志与监控

    • 查看SFTP日志:sudo tail -f /var/log/auth.log
    • 定期检查异常登录行为,及时处理。

关键安全原则

  • 禁用密码认证,仅用密钥认证。
  • 通过chroot隔离用户,禁止越权访问。
  • 定期更新系统和软件包,修补漏洞。

0