温馨提示×

提升Debian SFTP安全性的技巧有哪些

小樊
42
2025-10-03 06:39:13
栏目: 智能运维

1. 更新系统与OpenSSH软件包
定期运行sudo apt update && sudo apt upgrade -y更新Debian系统及OpenSSH服务器,及时修补已知安全漏洞,降低被攻击风险。

2. 配置SSH服务限制SFTP访问
编辑/etc/ssh/sshd_config文件,通过以下配置强化SFTP安全性:

  • 禁用root用户直接登录:PermitRootLogin no
  • 启用内部SFTP子系统(替代传统sftp-server):Subsystem sftp internal-sftp
  • 限制特定用户组(如sftpusers)的访问权限,强制使用SFTP并禁用端口转发:
    Match Group sftpusers
        ChrootDirectory %h
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
    
    修改后重启SSH服务:sudo systemctl restart sshd

3. 创建专用SFTP用户组与用户

  • 新建用户组:sudo groupadd sftpusers
  • 添加用户并加入组(如sftpuser):sudo useradd -m -G sftpusers -s /bin/false sftpuser-s /bin/false禁止shell登录);
  • 设置用户密码:sudo chpasswd(输入密码)。

4. 正确配置Chroot Jail环境

  • 创建用户家目录及上传子目录:sudo mkdir -p /home/sftpuser/upload
  • 设置目录权限:
    • 用户家目录属主为root(防止用户越权修改目录结构):sudo chown root:root /home/sftpuser
    • 用户家目录权限为755(允许用户进入):sudo chmod 755 /home/sftpuser
    • 上传子目录属主为用户(允许用户写入文件):sudo chown sftpuser:sftpusers /home/sftpuser/upload
    • 上传子目录权限为755(或775,根据需求调整):sudo chmod 755 /home/sftpuser/upload

5. 启用SSH密钥认证(禁用密码登录)

  • 生成密钥对(客户端执行):ssh-keygen -t rsa -b 4096(默认保存至~/.ssh/id_rsa);
  • 将公钥复制到服务器用户家目录的.ssh文件夹:ssh-copy-id sftpuser@your_server_ip
  • 修改/etc/ssh/sshd_config,禁用密码登录:PasswordAuthentication no
  • 重启SSH服务:sudo systemctl restart sshd

6. 配置防火墙限制访问
使用ufw(Uncomplicated Firewall)限制SSH/SFTP端口(默认22)的访问:

  • 允许OpenSSH:sudo ufw allow OpenSSH
  • 启用防火墙:sudo ufw enable
  • 可选:限制访问IP(如仅允许公司IP):sudo ufw allow from your_trusted_ip to any port 22

7. 安装与配置Fail2Ban防暴力破解

  • 安装Fail2Ban:sudo apt install fail2ban -y
  • 复制默认配置:sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
  • 编辑jail.local,启用SSH防护:
    [sshd]
    enabled = true
    maxretry = 3  # 允许的最大失败次数
    bantime = 600 # 封禁时间(秒)
    
  • 重启Fail2Ban:sudo systemctl restart fail2ban

8. 最小化系统安装与定期审计

  • 避免安装不必要的软件包(如图形界面、游戏等),减少系统攻击面;
  • 定期检查/var/log/auth.log日志,监控异常登录尝试(如多次失败登录、陌生IP访问);
  • 使用自动化工具(如Lynis)进行安全审计,及时发现并修复配置漏洞。

0