防止CentOS SFTP被攻击需要从多个方面进行配置和优化,以下是一些关键步骤和建议:
确保系统和软件满足最低安全要求:
创建一个专门的SFTP用户组,便于统一管理和权限控制:
groupadd sftpusers
创建SFTP用户并将其添加到专门的SFTP用户组中:
useradd -s /sbin/nologin -g sftpusers -d /sftp/sftpuser01 sftpuser01
为SFTP用户设置复杂且独特的密码,避免使用简单密码:
passwd sftpuser01
正确配置用户目录的权限,确保用户只能访问其家目录:
chown sftpuser01:sftpusers /sftp/sftpuser01
chmod 755 /sftp/sftpuser01
编辑/etc/ssh/sshd_config
文件,配置SFTP相关设置:
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
检查并禁用不必要的超级用户账户,减少潜在的安全风险:
cat /etc/passwd | awk -F ':' '{print$1,$3}' | grep ' 0$'
删除所有不必要的默认账户,如adm, lp, sync等:
userdel username
groupdel groupname
设置复杂的用户口令,包含大写字母、小写字母、数字和特殊字符,并且长度大于10位:
PASS_MIN_LEN 10
使用chattr
命令给口令文件加上不可更改属性:
chattr +i /etc/passwd
chattr +i /etc/shadow
修改/etc/profile
文件中的TMOUT参数,设置root账户的自动注销时限:
TMOUT=300
编辑/etc/pam.d/su
文件,限制只有特定组的用户才能使用su命令切换为root:
usermod –G wheel username
配置防火墙,允许SSH连接并限制其他不必要的服务:
sudo firewall-cmd --permanent --zonepublic --add-service=ssh
sudo firewall-cmd --reload
定期检查并应用OpenSSH的最新版本和安全补丁,确保系统的安全性:
sudo yum update openssh-server
通过以上步骤,可以显著提高CentOS SFTP服务器的安全性,减少被攻击的风险。建议定期审查和更新安全配置,以应对不断变化的安全威胁。