Debian SFTP如何防止暴力破解

822
2025/4/5 3:32:56
栏目: 智能运维
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Debian系统上,使用SSH(Secure Shell)协议进行SFTP(SSH File Transfer Protocol)传输时,防止暴力破解攻击是非常重要的。以下是一些有效的措施来增强系统的安全性:

1. 使用强密码

  • 设置复杂密码:确保所有用户账户都使用强密码,包含大小写字母、数字和特殊字符。
  • 定期更换密码:建议每3到6个月更换一次密码。

2. 启用SSH密钥认证

  • 生成SSH密钥对:使用ssh-keygen命令生成公钥和私钥。
  • 分发公钥:将用户的公钥添加到服务器的~/.ssh/authorized_keys文件中。
  • 禁用密码登录:编辑/etc/ssh/sshd_config文件,设置PasswordAuthentication no,然后重启SSH服务。

3. 配置SSH限制

  • 限制登录尝试次数:在/etc/ssh/sshd_config中设置MaxAuthTries参数,限制用户在一定时间内尝试登录的次数。
    MaxAuthTries 3
    
  • 设置账户锁定策略:使用pam_tally2pam_faillock模块来锁定账户在多次失败尝试后。

4. 使用防火墙

  • 配置iptables:使用iptables规则限制SSH端口(默认22)的访问。
    sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
    sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP
    
  • 使用ufw:如果使用Uncomplicated Firewall(ufw),可以设置规则来限制SSH访问。
    sudo ufw allow 22/tcp
    sudo ufw limit 22/tcp
    

5. 监控和日志记录

  • 启用详细日志记录:确保/etc/ssh/sshd_config中的LogLevel设置为VERBOSE
    LogLevel VERBOSE
    
  • 定期检查日志:使用grepawk等工具定期检查SSH登录日志,查找异常活动。
    sudo grep "Failed password" /var/log/auth.log
    

6. 使用Fail2Ban

  • 安装Fail2Ban:Fail2Ban可以自动检测并阻止恶意IP地址。
    sudo apt-get install fail2ban
    
  • 配置Fail2Ban:编辑/etc/fail2ban/jail.local文件,添加SSH相关的规则。
    [ssh]
    enabled = true
    port = ssh
    filter = sshd
    logpath = /var/log/auth.log
    maxretry = 3
    bantime = 600
    

7. 定期更新系统

  • 保持系统和软件更新:定期使用apt-get updateapt-get upgrade命令更新系统和所有软件包,以修复已知的安全漏洞。

通过以上措施,可以显著提高Debian系统上SFTP服务的安全性,有效防止暴力破解攻击。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: 如何限制FTP访问IP