在Debian上设置FTP服务器防火墙,你需要使用iptables
或ufw
(Uncomplicated Firewall)来配置防火墙规则。以下是使用这两种方法的步骤:
使用 iptables
-
更新系统:
sudo apt update && sudo apt upgrade -y
-
安装FTP服务器(如果你还没有安装):
sudo apt install vsftpd -y
-
配置FTP服务器:
编辑/etc/vsftpd.conf
文件,确保以下设置:listen=YES anonymous_enable=NO local_enable=YES write_enable=YES chroot_local_user=YES allow_writeable_chroot=YES
-
重启FTP服务:
sudo systemctl restart vsftpd
-
配置防火墙:
使用iptables
添加规则来允许FTP流量。以下是一些基本的规则:-
允许FTP控制连接(默认端口21):
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
-
允许FTP数据连接(动态端口范围通常是1024-65535):
sudo iptables -A INPUT -p tcp --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
-
允许被动模式连接(假设被动模式端口范围是50000-50050):
sudo iptables -A INPUT -p tcp --dport 50000:50050 -m state --state ESTABLISHED,RELATED -j ACCEPT
-
-
保存防火墙规则:
sudo sh -c "iptables-save > /etc/iptables/rules.v4"
使用 ufw
-
更新系统:
sudo apt update && sudo apt upgrade -y
-
安装
ufw
(如果还没有安装):sudo apt install ufw -y
-
启用
ufw
:sudo ufw enable
-
配置FTP服务器:
编辑/etc/vsftpd.conf
文件,确保以下设置:listen=YES anonymous_enable=NO local_enable=YES write_enable=YES chroot_local_user=YES allow_writeable_chroot=YES
-
重启FTP服务:
sudo systemctl restart vsftpd
-
配置防火墙规则:
使用ufw
添加规则来允许FTP流量:-
允许FTP控制连接(默认端口21):
sudo ufw allow 21/tcp
-
允许FTP数据连接(动态端口范围通常是1024-65535):
sudo ufw allow 1024:65535/tcp
-
允许被动模式连接(假设被动模式端口范围是50000-50050):
sudo ufw allow 50000:50050/tcp
-
-
重新加载
ufw
规则:sudo ufw reload
注意事项
- 确保你的FTP服务器配置文件
/etc/vsftpd.conf
中的被动模式端口范围与防火墙规则中的端口范围一致。 - 如果你使用的是SELinux或AppArmor,可能还需要配置相应的安全策略。
- 定期检查和更新你的防火墙规则,以确保安全性。
通过以上步骤,你应该能够在Debian上成功设置FTP服务器的防火墙。