在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的安全性。确保遵循最佳实践并定期审查和更新安全策略,以应对不断变化的威胁环境。