Debian FTP Server防火墙设置指南
配置Debian FTP Server的防火墙需确保FTP服务所需端口(控制连接、数据传输、被动模式)开放,同时兼顾安全性。以下是使用ufw(推荐,操作简便)和iptables(底层配置)的详细步骤:
sudo apt update && sudo apt install vsftpd -y
/etc/vsftpd.conf
,确保以下参数正确(被动模式端口范围需与防火墙规则一致,示例为50000-50050
):listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
pasv_enable=YES
pasv_min_port=50000
pasv_max_port=50050
重启服务使配置生效:sudo systemctl restart vsftpd
ufw是Debian默认的简化防火墙工具,适合新手快速配置。
sudo apt install ufw -y
sudo ufw enable # 启用ufw(首次启用会提示确认)
sudo ufw allow 21/tcp
sudo ufw allow 20/tcp
vsftpd.conf
中的pasv_min_port
/pasv_max_port
设置):sudo ufw allow 50000:50050/tcp
sudo ufw allow 990/tcp
sudo ufw allow 989/tcp
ACTIVE
状态):sudo ufw status verbose
sudo ufw reload
iptables是Linux底层防火墙工具,适合需要精细控制的场景。
sudo apt install iptables -y
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT
vsftpd.conf
设置,示例为50000-50050):sudo iptables -A INPUT -p tcp --dport 50000:50050 -j ACCEPT
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited
iptables-persistent
保存规则:sudo apt install iptables-persistent -y
sudo netfilter-persistent save
/etc/iptables/rules.v4
:sudo sh -c "iptables-save > /etc/iptables/rules.v4"
vsftpd.conf
)的pasv_min_port
/pasv_max_port
必须与防火墙规则中的被动模式端口范围完全一致,否则客户端无法正常下载/上传文件。vsftpd
配置ssl_enable=YES
)或改用SFTP(SSH内置,更安全)。chroot_local_user=YES
将用户限制在主目录)。from
参数限制,例如sudo ufw allow from 192.168.1.0/24 to any port 21/tcp
)。通过以上步骤,可完成Debian FTP Server的防火墙配置,确保服务安全可用。