在CentOS系统上设置SFTP防火墙主要涉及到配置firewalld
以允许SFTP所需的端口。SFTP通常使用SSH协议进行加密文件传输,因此需要确保SSH端口(默认是22)是开放的。以下是详细的设置步骤:
如果你的CentOS系统上还没有安装firewalld
,可以通过以下命令安装:
sudo yum install firewalld
安装完成后,启动firewalld
服务并设置为开机自启:
sudo systemctl start firewalld
sudo systemctl enable firewalld
SFTP使用SSH协议,因此需要开放SSH端口(22)。以下是开放SSH端口的命令:
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
为了安全起见,你应该创建一个专门的SFTP用户,并限制其对特定目录的访问。以下是创建SFTP用户和配置其主目录权限的步骤:
sudo groupadd sftp
sudo useradd -g sftp -s /sbin/nologin mysftp
sudo passwd mysftp
sudo mkdir /sftp/mysftp
sudo chown root:root /sftp/mysftp
sudo chmod 755 /sftp/mysftp
/etc/ssh/sshd_config
,添加或修改以下配置:Match User mysftp
ChrootDirectory /sftp/mysftp
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
sudo systemctl restart sshd
配置完防火墙规则后,可以使用以下命令查看当前防火墙规则,以确保SFTP端口已开放:
sudo firewall-cmd --list-all
或者,查看特定端口的开放情况:
sudo firewall-cmd --zonepublic --list-ports
以上步骤应该足以帮助你在CentOS系统上设置SFTP防火墙。确保只开放必要的端口,以减少潜在的安全风险。