centos

centos sftp防火墙设置指南

小樊
38
2025-04-08 16:43:55
栏目: 智能运维

在CentOS系统上设置SFTP防火墙主要涉及到配置firewalld以允许SFTP所需的端口。SFTP通常使用SSH协议进行加密文件传输,因此需要确保SSH端口(默认是22)是开放的。以下是详细的设置步骤:

安装和启动firewalld

如果你的CentOS系统上还没有安装firewalld,可以通过以下命令安装:

sudo yum install firewalld

安装完成后,启动firewalld服务并设置为开机自启:

sudo systemctl start firewalld
sudo systemctl enable firewalld

配置SFTP端口

SFTP使用SSH协议,因此需要开放SSH端口(22)。以下是开放SSH端口的命令:

sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload

配置SFTP用户和目录权限

为了安全起见,你应该创建一个专门的SFTP用户,并限制其对特定目录的访问。以下是创建SFTP用户和配置其主目录权限的步骤:

  1. 创建SFTP用户组:
sudo groupadd sftp
  1. 创建SFTP用户并添加到该组:
sudo useradd -g sftp -s /sbin/nologin mysftp
  1. 设置用户密码:
sudo passwd mysftp
  1. 创建用户的SFTP根目录,并设置适当的权限:
sudo mkdir /sftp/mysftp
sudo chown root:root /sftp/mysftp
sudo chmod 755 /sftp/mysftp
  1. 编辑SSH配置文件/etc/ssh/sshd_config,添加或修改以下配置:
Match User mysftp
    ChrootDirectory /sftp/mysftp
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no
  1. 重启SSH服务以应用配置:
sudo systemctl restart sshd

验证防火墙规则

配置完防火墙规则后,可以使用以下命令查看当前防火墙规则,以确保SFTP端口已开放:

sudo firewall-cmd --list-all

或者,查看特定端口的开放情况:

sudo firewall-cmd --zonepublic --list-ports

以上步骤应该足以帮助你在CentOS系统上设置SFTP防火墙。确保只开放必要的端口,以减少潜在的安全风险。

0
看了该问题的人还看了