在CentOS系统上进行SFTP安全加固,可以采取以下几种方法:
-
禁用root用户的SFTP登录:
- 编辑
/etc/ssh/sshd_config文件,添加以下内容:Match User root ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no - 重启SSH服务:
systemctl restart sshd
- 编辑
-
创建专用的SFTP用户:
- 创建一个新用户,例如
sftpuser,并将其主目录设置为/home/sftpuser:useradd -m -s /sbin/nologin sftpuser passwd sftpuser - 编辑
/etc/ssh/sshd_config文件,添加以下内容:Match User sftpuser ChrootDirectory /home/sftpuser ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no - 重启SSH服务以应用更改:
systemctl restart sshd
- 创建一个新用户,例如
-
配置SELinux:
- 临时禁用SELinux:
setenforce 0 - 或者修改
/etc/selinux/config文件,将SELINUXenforcing设置为SELINUXdisabled,然后重启系统。
- 临时禁用SELinux:
-
配置防火墙:
- 确保只允许必要的端口通过防火墙:
firewall-cmd --permanent --add-service=ssh firewall-cmd --permanent --add-service=sftp firewall-cmd --reload
- 确保只允许必要的端口通过防火墙:
-
使用chroot限制用户权限:
- 通过配置
chrootDirectory,将用户限制在其主目录中,防止用户访问其他系统目录。
- 通过配置
-
启用公钥认证:
- 编辑
/etc/ssh/sshd_config文件,确保以下配置是启用的:PasswordAuthentication no PubkeyAuthentication yes - 重启SSH服务。
- 编辑
-
定期更新和监控:
- 定期更新系统和软件包,以修补已知的安全漏洞。
- 监控SSH和SFTP服务的日志文件,以便及时发现并响应任何异常活动。
通过上述措施,可以显著提高CentOS系统上SFTP的安全性。