首页主机资讯centos sftp安全设置方法

centos sftp安全设置方法

时间2025-11-26 16:27:04发布访客分类主机资讯浏览1357
导读:CentOS SFTP 安全设置方法 一 基础加固 更新系统与软件包:执行 sudo yum update,及时修补漏洞。 仅使用 SSH 协议 2:在 /etc/ssh/sshd_config 确保为 Protocol 2。 禁用 ro...

CentOS SFTP 安全设置方法

一 基础加固

  • 更新系统与软件包:执行 sudo yum update,及时修补漏洞。
  • 仅使用 SSH 协议 2:在 /etc/ssh/sshd_config 确保为 Protocol 2
  • 禁用 root 登录:设置 PermitRootLogin no
  • 禁用密码登录、启用密钥认证:设置 PasswordAuthentication no,并为用户部署 ~/.ssh/authorized_keys(权限 700/600)。
  • 限制认证尝试与空闲超时:设置 MaxAuthTries 3ClientAliveInterval 300ClientAliveCountMax 2
  • 禁用不必要功能:设置 X11Forwarding noAllowTcpForwarding noPermitTunnel no
  • 使用 internal-sftp:设置 Subsystem sftp internal-sftp,便于与 chroot 配合并减少外部依赖。

二 用户与目录权限

  • 创建专用用户与组:
    • 组:sudo groupadd sftpusers
    • 用户:sudo useradd -m -s /sbin/nologin sftpuser(禁止 shell 登录,仅用于 SFTP)
  • 正确设置 chroot 目录权限(关键):
    • 家目录属主必须为 root:root,权限 755sudo chown root:root /home/sftpuser & & sudo chmod 755 /home/sftpuser
    • 如需可写上传目录:在 chroot 内创建子目录并赋权给业务用户,例如:
      • sudo mkdir -p /home/sftpuser/uploads
      • sudo chown sftpuser:sftpusers /home/sftpuser/uploads & & sudo chmod 755 /home/sftpuser/uploads
  • 说明:chroot 后用户的根为家目录,若家目录不归 root 所有或权限不当,将导致登录失败。

三 SSHD 配置示例

  • 建议采用 Match Group 统一管理 SFTP 用户,示例:
    • 启用内部 SFTP:
      • Subsystem sftp internal-sftp
    • 对 sftpusers 组应用安全策略:
      • Match Group sftpusers
        • ChrootDirectory %h(将用户限制在其主目录)
        • ForceCommand internal-sftp(仅允许 SFTP,禁止 Shell)
        • AllowTcpForwarding no
        • X11Forwarding no
        • PasswordAuthentication no(配合密钥登录)
  • 可选:对特定用户或网段进一步限制(示例仅允许指定 IP 使用 SFTP):
    • Match Address 192.168.1.100,192.168.1.101
      • ForceCommand internal-sftp
      • PasswordAuthentication yes(如确需口令,建议仅对受信网段开放)
      • ChrootDirectory /home/%u
      • AllowTcpForwarding no
      • X11Forwarding no
  • 修改后检查语法并重启:sudo sshd -t & & sudo systemctl restart sshd

四 防火墙与访问控制

  • 使用 firewalld 放行 SSH(SFTP 基于 SSH 端口 22):
    • sudo firewall-cmd --permanent --add-service=ssh & & sudo firewall-cmd --reload
  • 限制来源 IP(示例仅允许 192.168.1.100 访问 22 端口):
    • sudo firewall-cmd --permanent --add-rich-rule=‘rule family=“ipv4” source address=“192.168.1.100” port protocol=“tcp” port=“22” accept’ & & sudo firewall-cmd --reload
  • 验证:sudo firewall-cmd --list-all

五 日志监控与验证

  • 日志与审计:实时关注 /var/log/secure,对失败登录、异常时段连接进行告警与封禁。
  • 连通性与权限验证:
    • 连接测试:sftp sftpuser@your_server_ip
    • 验证要点:仅能访问其 chroot 目录及其子目录(如 uploads),不可越权浏览其他路径。
  • 维护与合规:
    • 定期更新系统与 OpenSSH
    • 强制使用 密钥登录、定期轮换密钥;
    • 结合 fail2ban 等工具对暴力破解进行自动封禁。

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


若转载请注明出处: centos sftp安全设置方法
本文地址: https://pptw.com/jishu/756817.html
CentOS SFTP配置中的安全设置有哪些 CentOS如何排查Apache2故障

游客 回复需填写必要信息