温馨提示×

Debian SFTP如何防火墙设置

小樊
46
2026-01-06 11:20:53
栏目: 智能运维

Debian SFTP 防火墙设置

一 核心要点

  • SFTP 基于 SSH,使用 TCP 22 端口;因此防火墙只需放行 SSH 即可,无需再开放 21 端口或 FTP 被动端口范围。若你同时运行 FTP 服务(如 vsftpd),那套端口与 SFTP 无关。
  • 在 Debian 上通常使用 UFWiptables/nftables 管理防火墙;两者择一使用,避免规则冲突。

二 使用 UFW 放行 SFTP

  • 允许 SSH(即 SFTP)访问:
    • 允许全网:sudo ufw allow ssh
    • 仅限指定来源(推荐):sudo ufw allow from <你的IP或网段> to any port 22 proto tcp
  • 启用并生效:sudo ufw enable
  • 验证:sudo ufw status verbose
  • 修改端口时(例如在 /etc/ssh/sshd_config 中将 Port 改为 2222),需同步放行新端口:sudo ufw allow 2222/tcp

三 使用 iptables 放行 SFTP

  • 放行 SSH 端口(以 22 为例):
    • sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
    • sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
  • 保存与持久化(Debian 常用做法):
    • 保存当前规则:sudo iptables-save > /etc/iptables/rules.v4
    • 开机恢复:创建 /etc/network/if-pre-up.d/iptables 并写入
      #!/bin/sh
      /sbin/iptables-restore < /etc/iptables/rules.v4
      
      赋权:sudo chmod +x /etc/network/if-pre-up.d/iptables
  • 如需限制来源,将第一条规则改为:-s <你的IP或网段>

四 安全加固建议

  • 限制来源 IP:在防火墙仅允许可信 IP/网段 访问 22 端口。
  • 禁用密码登录、仅用密钥:在 /etc/ssh/sshd_config 设置 PasswordAuthentication no,并分发公钥。
  • 安装并启用 Fail2Ban:自动封禁多次失败登录的 IP。
  • 修改默认端口并配合防火墙限制:将 Port 改为非默认端口(如 2222),仅对受控来源放行。
  • 日志与审计:定期检查 /var/log/auth.log,关注异常登录与暴力尝试。

0