centos

centos sftp配置中的安全设置

小樊
51
2025-07-04 15:27:24
栏目: 智能运维

在CentOS系统上配置SFTP(SSH File Transfer Protocol)时,确保安全性是非常重要的。以下是一些关键的安全设置步骤和最佳实践:

安装和配置OpenSSH服务器

首先,确保你的CentOS系统上安装了OpenSSH服务器。如果没有安装,可以使用以下命令进行安装:

sudo yum install openssh-server

安装完成后,编辑SSH配置文件 /etc/ssh/sshd_config,确保以下配置项被正确设置:

# 禁用root登录
PermitRootLogin no
# 禁止密码认证
PasswordAuthentication no
# 禁止空密码登录
PermitEmptyPassword no
# 禁止用户环境
PermitUserEnvironment no
# 禁止X11转发
X11Forwarding no

然后重启SSH服务以应用更改:

sudo systemctl restart sshd

创建专用的SFTP用户

为了提高安全性,建议为SFTP服务创建专门的用户,而不是使用root用户。创建一个新用户并将其添加到 sftp 用户组:

sudo useradd -m sftpuser
sudo passwd sftpuser
sudo usermod -a -G sftpusers sftpuser

配置ChrootDirectory

使用 chrootDirectory 选项将用户限制在其家目录中,防止他们访问系统其他部分。在 /etc/ssh/sshd_config 文件中添加或修改以下配置:

Match group sftpusers
    ChrootDirectory %h
    ForceCommand internal-sftp

确保用户家目录的所有者为root:

sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser

然后重启SSH服务:

sudo systemctl restart sshd

配置用户权限和目录权限

在用户的主目录下创建 .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

禁用不必要的SSH功能

为了提高安全性,禁用不必要的SSH功能,如X11转发和TCP转发:

AllowTcpForwarding no
X11Forwarding no

配置防火墙

确保防火墙允许SSH连接,并限制访问SSH的端口(默认是22)。使用以下命令开放SSH端口:

sudo firewall-cmd --permanent --add-port=22/tcp
sudo firewall-cmd --reload

使用强密码策略

确保所有用户都使用强密码,可以通过修改 /etc/login.defs 文件来强制执行这些要求:

PASS_MIN_LEN 10

定期更新和监控

定期更新系统和软件包,以修复已知的安全漏洞,并监控SSH和SFTP日志以检测可疑活动。使用以下命令更新系统:

sudo yum update

通过以上步骤,你可以大大提高CentOS系统上SFTP的安全配置,确保数据传输的安全性和可靠性。

0
看了该问题的人还看了