在CentOS上配置SFTP(Secure File Transfer Protocol)时,采取一系列安全策略至关重要。SFTP通过SSH协议进行加密和验证,提供比传统FTP更高的安全性。以下是一些关键的安全配置步骤和策略:
创建SFTP用户组:
创建一个专门用于SFTP用户的组,例如 sftpusers。
groupadd sftpusers 创建SFTP用户:
创建一个新用户,并将其添加到 sftpusers 组。例如,创建用户 testuser。
useradd -s /sbin/nologin -G sftpusers testuser 设置用户目录权限:
为SFTP用户创建家目录,并设置适当的权限。
mkdir /srv/sftp/testuser chown root:sftp /srv/sftp/testuser chmod 755 /srv/sftp/testuser 修改SSH配置文件:
编辑 /etc/ssh/sshd_config 文件,配置SFTP子系统以使用 internal-sftp。
Subsystem sftp internal-sftp Match Group sftpusers ChrootDirectory /srv/sftp/%u ForceCommand internal-sftp X11Forwarding no AllowTcpForwarding no 重启SSH服务:
保存配置文件并重启SSH服务以应用更改。
systemctl restart sshd 禁用root登录:
禁止root用户通过SSH登录,以减少潜在的安全风险。
PermitRootLogin no 限制用户访问目录:
使用 chrootDirectory 指令将用户限制在其主目录中,防止访问其他系统目录。
ChrootDirectory /srv/sftp/%u 启用日志记录:
配置SSH和SFTP日志记录,以便监控和审计用户活动。
编辑 /etc/ssh/sshd_config,添加或修改以下行:
SyslogFacility AUTHPRIV 重启SSH服务以应用更改。
禁用不必要的端口和服务:
关闭不必要的服务和端口,以减少攻击面。
systemctl disable sshd_config systemctl stop sshd_config 定期更新和打补丁:
保持系统和软件包的更新,以修复已知的安全漏洞。
sudo yum update 使用强密码策略:
为所有用户设置复杂且唯一的密码,并定期更换密码。
监控和审计:
定期检查系统日志和SFTP日志,以检测异常活动。
通过上述配置,可以显著提高CentOS上SFTP的安全性。确保遵循最佳实践并定期审查和更新安全策略,以应对不断变化的威胁环境。