CentOS SFTP配置中的安全设置有哪些
导读:CentOS SFTP 安全设置清单 一 身份与认证 使用密钥认证替代口令:启用PubkeyAuthentication yes,禁用PasswordAuthentication no;将客户端公钥写入**~/.ssh/authorize...
CentOS SFTP 安全设置清单
一 身份与认证
- 使用密钥认证替代口令:启用PubkeyAuthentication yes,禁用PasswordAuthentication no;将客户端公钥写入**~/.ssh/authorized_keys**,并设置权限为700/600。
- 禁用root直接登录:设置PermitRootLogin no。
- 可选:为 SFTP 用户设置受限 Shell(如**/sbin/nologin**)或使用internal-sftp强制仅 SFTP。
- 建议:创建专用 SFTP 用户/用户组(如 sftpusers),便于集中管控与隔离。
二 传输与会话安全
- 仅启用SFTP 子系统:使用Subsystem sftp internal-sftp,避免调用外部 sftp-server 二进制。
- 禁用危险/不必要功能:在 Match 块或全局关闭AllowTcpForwarding no、X11Forwarding no,必要时禁用PortForwarding。
- 限制认证尝试与空闲超时:设置MaxAuthTries 3降低暴力破解风险;按需配置ClientAliveInterval/ClientAliveCountMax自动断开空闲会话。
- 可选:更改默认端口(如Port 2222)仅作为“安全通过 obscurity”的辅助手段,必须配合防火墙与访问控制。
三 目录与权限隔离
- 使用Chroot 监牢限制可见根目录:在**/etc/ssh/sshd_config的 Match 块中设置ChrootDirectory %h**(或指定目录),并强制ForceCommand internal-sftp。
- 正确的目录所有权与权限是 Chroot 生效的前提:
- Chroot 根目录(如**/home/sftpuser**)必须属主root:root且权限755;
- 为用户创建可写子目录(如upload),并将其属主设为该用户,例如chown sftpuser:sftpuser /home/sftpuser/upload。
- 禁止 SFTP 用户获得 shell 访问:可为账户设置**/sbin/nologin**或仅通过 internal-sftp 限制能力。
四 网络与访问控制
- 通过firewalld仅放行必要来源与端口:例如firewall-cmd --permanent --add-service=ssh或指定端口**–add-port=22/tcp**,并**–reload**。
- 精细化访问控制:
- 使用AllowUsers/AllowGroups限制可登录账户/组;
- 结合PAM与pam_listfile.so实现白名单(/etc/ssh/allowed_users)等更细粒度策略。
五 运维与审计
- 基线加固与持续更新:执行yum update保持系统与安全组件最新;为**/etc/ssh/sshd_config变更前先备份**。
- 集中审计与告警:重点查看**/var/log/secure**的 SSH/SFTP 登录与失败尝试;对异常来源设置告警。
- 合规与口令策略:在**/etc/login.defs中设置PASS_MIN_LEN 10**等强口令要求,并定期轮换密钥/审查授权密钥。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS SFTP配置中的安全设置有哪些
本文地址: https://pptw.com/jishu/756816.html
