首页主机资讯SFTP配置时如何防止暴力破解

SFTP配置时如何防止暴力破解

时间2025-11-24 08:37:04发布访客分类主机资讯浏览893
导读:SFTP防暴力破解的实用配置清单 一 基础加固 禁用密码登录、仅用密钥:在 /etc/ssh/sshd_config 中设置 PasswordAuthentication no、PubkeyAuthentication yes;客户端生成...

SFTP防暴力破解的实用配置清单

一 基础加固

  • 禁用密码登录、仅用密钥:在 /etc/ssh/sshd_config 中设置 PasswordAuthentication noPubkeyAuthentication yes;客户端生成密钥对(如 ssh-keygen -t rsa -b 4096),将公钥加入 ~/.ssh/authorized_keys,并确保目录与文件权限为 700/600
  • 禁止 root 直登:设置 PermitRootLogin no
  • 可选降低噪声:更改默认端口 Port 22 → 2222(仅为降低自动化扫描命中率,不能替代认证加固)。
  • 重启生效:systemctl restart sshd
    以上措施能显著降低被暴力猜解的风险,尤其是“禁用密码 + 仅密钥”的组合对 SFTP 场景最为关键。

二 自动封禁与速率限制

  • 使用 Fail2Ban 监控 SSH 登录失败并封 IP:
    • 安装:yum install fail2ban -yapt-get install fail2ban
    • 配置(示例):创建 /etc/fail2ban/jail.local
      [DEFAULT]
      bantime = 600
      findtime = 600
      maxretry = 3
      [sshd]
      enabled = true
      port = ssh
      filter = sshd
      logpath = /var/log/secure(CentOS/RHEL)或 /var/log/auth.log(Debian/Ubuntu)
      maxretry = 3
      bantime = 600
    • 启动:systemctl start fail2ban & & systemctl enable fail2ban;验证:fail2ban-client status sshd
  • 用防火墙做连接速率限制(iptables 示例):
    • 规则:
      iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
      iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP
    • firewalld 亦可用 direct 规则实现相同效果。
      Fail2Ban 与速率限制形成“事后封禁 + 事前限速”的纵深防御。

三 登录失败锁定与账户策略

  • PAM 失败计数与解锁:
    • 使用 pam_tally2(RHEL/CentOS 常用):在 /etc/pam.d/sshd 顶部加入
      auth required pam_tally2.so onerr=fail deny=3 unlock_time=600
      如需按用户解锁可执行:faillog -u < 用户名> -r。
    • 使用 pam_faillock(更现代,部分发行版默认):在 /etc/pam.d/sshd 顶部加入
      auth required pam_faillock.so preauth silent deny=3 unlock_time=600
      在文件底部加入
      account required pam_faillock.so
  • 强密码策略:在 /etc/pam.d/system-auth/etc/pam.d/password-auth 中配置 pam_pwqualitypam_cracklib 规则,强制长度、字符集与历史。
    PAM 锁定能在多次失败后立即阻断后续尝试,配合 Fail2Ban 能覆盖更长时间窗的攻击。

四 系统与服务最小化

  • 仅启用 SFTP 子系统:在 /etc/ssh/sshd_config 中设置
    Subsystem sftp /usr/libexec/openssh/sftp-server(路径因发行版可能不同)。
  • 保持系统与 OpenSSH 更新:及时修补漏洞,减少被利用的风险。
    最小化攻击面与及时更新是长期稳固安全的基础。

五 快速验证与运维建议

  • 验证与观测:
    • 查看 Fail2Ban 状态:fail2ban-client status sshd;实时看日志:tail -f /var/log/fail2ban.log
    • 本地验证登录失败计数:使用 faillog -u < 用户名> (pam_tally2)。
  • 运维要点:
    • 变更前备份配置(如 /etc/ssh/sshd_config/etc/fail2ban/jail.local),变更后逐步重启并检查会话。
    • 若使用云厂商安全组,可叠加来源 IP 白名单与速率限制策略,形成多层防护。
      通过状态检查与日志审计,能快速确认策略是否生效并及时发现异常。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: SFTP配置时如何防止暴力破解
本文地址: https://pptw.com/jishu/754108.html
Debian SFTP配置中如何使用SSL 如何在Debian上设置SFTP端口

游客 回复需填写必要信息