在CentOS系统上进行SFTP安全加固,可以采取以下几种方法:
默认情况下,root用户可以通过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可能会限制SFTP的功能。可以通过以下命令临时禁用SELinux:
setenforce 0
或者修改/etc/selinux/config
文件,将SELINUX=enforcing
设置为SELINUX=disabled
,然后重启系统。
确保只允许必要的端口通过防火墙。例如,只允许SSH(端口22)和SFTP(通常也是端口22)通过防火墙:
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=sftp
firewall-cmd --reload
通过配置chrootDirectory
,可以将用户限制在其主目录中,防止用户访问其他系统目录。
禁用密码认证,使用公钥认证可以提高安全性。编辑/etc/ssh/sshd_config
文件,确保以下配置是启用的:
PasswordAuthentication no
PubkeyAuthentication yes
然后重启SSH服务。
定期更新系统和软件包,以修补已知的安全漏洞。同时,监控SSH和SFTP服务的日志文件,以便及时发现并响应任何异常活动。
以上步骤可以帮助你增强CentOS系统上SFTP的安全性。在进行任何配置更改后,建议仔细检查配置文件,并确保所有服务都已正确重启,以使更改生效。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: 日志中的403错误,权限问题怎么解决