在CentOS系统上配置SFTP(安全文件传输协议)时,有几个关键点需要注意,以确保系统的安全性和稳定性。以下是一些主要的注意事项:
OpenSSH版本:确保OpenSSH服务器版本至少为4.8p1,因为较新的版本支持更多的安全特性,如chrootDirectory。
用户和用户组的创建:
sftp。root用户,权限设置为750或755。配置sshd_config文件:
X11Forwarding和AllowTcpForwarding,以提高安全性。internal-sftp作为SFTP子系统,而不是默认的sftp-server,因为internal-sftp在用户进入chroot环境时不会请求任何文件,从而提高性能。Match Group指令,以限制特定用户组只能使用SFTP服务登录。ChrootDirectory指令,将用户的根目录限制在其主目录内,以增强安全性。SELinux配置:如果SELinux处于 enforcing 模式,可能会阻止SFTP的正常工作。可以临时将SELinux设置为 permissive 模式进行测试:
setenforce 0 或者永久修改/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=disabled。
防火墙设置:确保防火墙允许SSH连接。可以使用以下命令:
firewall-cmd --zone=public --add-service=ssh --permanent firewall-cmd --reload 日志记录:为了审计和监控SFTP用户的活动,可以配置日志记录。例如,修改/etc/rsyslog.conf文件,添加以下内容:
local0.* /var/log/sftp-server.log 然后重启rsyslog服务:
systemctl restart rsyslog 目录权限:确保SFTP用户的根目录及其所有父目录的属主和属组都是root,并且权限设置为750或755。例如:
chown root:sftp /data/sftp/user chmod 755 /data/sftp/user 用户登录后目录:对于SFTP用户,需要创建一个他们可以写入的目录,并确保该目录的属主和属组设置正确。例如:
mkdir /data/sftp/user/upload chown user:sftp /data/sftp/user/upload chmod 755 /data/sftp/user/upload 重启SSH服务:在修改配置文件后,确保重启SSH服务以使更改生效:
systemctl restart sshd 通过遵循上述步骤和注意事项,可以在CentOS系统上配置一个安全且稳定的SFTP环境。确保所有配置都正确无误,特别是涉及到权限和目录设置的部分,这对于防止未授权访问和提高系统安全性至关重要。