温馨提示×

SFTP在Debian上的安全策略有哪些

小樊
40
2025-12-29 17:02:42
栏目: 智能运维

Debian 上 SFTP 的安全策略清单

一 基础与认证安全

  • 保持系统与软件包为最新:执行 apt update && apt upgrade,及时修补漏洞。
  • 禁用 root 直接登录:设置 PermitRootLogin no
  • 优先使用 SSH 密钥认证,必要时再启用密码:配置 PubkeyAuthentication yesPasswordAuthentication no(或先用密钥、后逐步关闭密码)。
  • 限制可登录对象:通过 AllowUsers/AllowGroups 精确放行;必要时用 DenyUsers 拉黑。
  • 降低暴力破解风险:设置 MaxAuthTries(如 3–5 次)、MaxSessions(如 2–5 个);启用 Fail2Ban 自动封禁。
  • 会话保活与空闲超时:设置 ClientAliveInterval 300ClientAliveCountMax 3,及时清理僵死会话。
  • 日志与审计:持续关注 /var/log/auth.log,对异常登录与失败尝试进行告警与处置。

二 传输与网络边界

  • 防火墙最小化放行:仅开放 SSH/SFTP 端口(默认 22),如使用 ufw 执行 ufw allow OpenSSH;如需改端口(如 2222),同步放行新端口并限制来源网段。
  • 端口与来源控制:在 sshd_config 中使用 Port 2222 并结合 AllowUsers your_username@your_ip 做来源 IP 白名单。
  • 禁用不必要通道:对 SFTP 用户禁用 TCP 转发X11 转发,减少攻击面。
  • 可选端口变更:更改默认端口可降低自动化扫描命中率,但应与防火墙策略配套实施。

三 用户隔离与权限控制

  • 使用 Chroot Jail 限制目录可见范围:对 SFTP 用户组配置 ChrootDirectory %h,并强制 ForceCommand internal-sftp
  • 正确的目录所有权与权限:Chroot 根目录需由 root:root 拥有且权限 755;可写目录(如 upload)由业务用户拥有,例如 chown sftpuser:sftpusers /home/sftpuser/upload
  • 精细化权限:在需要更细粒度控制时,使用 ACL(如 setfacl)为用户授予目录的读写执行权限。
  • 专用 SFTP 用户组:创建 sftpusers 组,仅将需要 SFTP 的账号加入,避免与系统管理账号混用。

四 推荐的 sshd_config 最小安全模板

# 基础加固
Port 22
PermitRootLogin no
MaxAuthTries 3
MaxSessions 3
ClientAliveInterval 300
ClientAliveCountMax 3

# 认证方式
PubkeyAuthentication yes
PasswordAuthentication no
ChallengeResponseAuthentication no

# 仅对 SFTP 用户组生效
Match Group sftpusers
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no
    PasswordAuthentication no

# 可选:仅允许特定来源
# AllowUsers your_username@your_ip
  • 修改后执行 systemctl restart ssh 使配置生效,并先用非生产账号验证连接与权限。

五 运维与持续安全

  • 持续更新与补丁:定期执行 apt update/upgrade,关注 Debian 安全公告
  • 入侵防护:启用并调优 Fail2Ban,缩短封禁时间窗、增加白名单例外。
  • 日志集中与告警:将 /var/log/auth.log 接入集中日志平台,对失败登录、异常时段与来源 IP 设置告警。
  • 定期审计:复核 sshd_config 变更、用户组成员、目录权限与 ACL;对不再使用的账号执行禁用或锁定。

0