要使CentOS上的SFTP配置更安全,可以遵循以下步骤:
禁用root用户的SFTP访问:
/etc/ssh/sshd_config
文件,找到或添加以下配置:AllowUsers user1 user2
将其更改为允许访问SFTP的用户列表,不要包括root用户。使用chroot jail:
/etc/ssh/sshd_config
文件,添加或修改以下配置:ChrootDirectory /home/%u
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
这将限制用户只能访问其主目录,并且无法执行除内部sftp命令以外的任何命令。配置SSH密钥认证:
~/.ssh/authorized_keys
文件中。在 /etc/ssh/sshd_config
文件中,确保以下配置是启用的:PasswordAuthentication no
PubkeyAuthentication yes
然后重启SSH服务:systemctl restart sshd
限制用户权限:
sftpusers
,并将需要访问SFTP的用户添加到该组中。编辑 /etc/ssh/sshd_config
文件,添加或修改以下配置以限制用户组的访问:Match Group sftpusers
ChrootDirectory /data/sftp/%u
ForceCommand internal-sftp
启用详细的日志记录:
/etc/ssh/sshd_config
文件,添加以下配置以启用详细的SFTP日志记录:Subsystem sftp internal-sftp -l verbose
这将记录所有SFTP活动,便于审计和监控。定期更新和检查系统:
sudo yum update
使用防火墙限制访问:
sudo firewall-cmd --permanent --add-port=22/tcp
sudo firewall-cmd --reload
禁用不必要的用户和服务:
userdel username
groupdel groupname
启用SELinux:
sudo setenforce 0
定期审计和监控:
sudo less /var/log/secure
通过上述步骤,可以显著提高CentOS上SFTP配置的安全性。务必定期审查和更新安全设置,以应对新的安全威胁。