保障CentOS SFTP(SSH File Transfer Protocol)安全需要从多个方面进行配置和优化。以下是一些关键步骤和建议:
确保你的CentOS系统上已经安装了OpenSSH服务器。如果没有安装,可以使用以下命令进行安装:
sudo yum install openssh-server
编辑SSH配置文件 /etc/ssh/sshd_config
来启用SFTP并禁用不必要的SSH功能。例如:
Subsystem sftp /usr/libexec/openssh/sftp-server
PermitRootLogin no
PasswordAuthentication no
AllowUsers your_username
Match User your_username ForceCommand internal-sftp
为SFTP服务创建专门的用户,而不是使用root用户。例如:
sudo useradd -m sftpusers
sudo passwd sftpuser
将用户添加到 sftpusers
组:
sudo usermod -a -G sftpusers sftpuser
chrootDirectory
选项将用户限制在其家目录中,防止他们访问系统其他部分。例如:Match group sftpusers ChrootDirectory %h ForceCommand internal-sftp
.ssh
目录,并在其中创建 authorized_keys
文件,用于存储用户的公钥。例如:mkdir /home/sftpuser/.ssh
chmod 700 /home/sftpuser/.ssh
touch /home/sftpuser/.ssh/authorized_keys
chmod 600 /home/sftpuser/.ssh/authorized_keys
AllowTcpForwarding no
X11Forwarding no
firewalld
:sudo firewall-cmd --permanent --add-port=22/tcp
sudo firewall-cmd --reload
/etc/login.defs
文件来强制执行这些要求。例如:PASS_MIN_LEN 10
定期更新系统和软件包,确保及时应用安全补丁。例如:
sudo yum update
监控SFTP服务器的日志,及时发现并响应异常活动。
ssh-keygen -t rsa -b 4096
ssh-copy-id your_username@your_server_ip
通过以上步骤,你可以显著提高CentOS系统上SFTP的安全配置,确保数据传输的安全性和可靠性。