端口 21 — FTP (TCP)
什么是端口 21?
文件传输协议(控制)
这是 well-known 端口(0–1023),常被 FTP 等核心服务使用。 · RFC 959
什么情况下需要开放端口 21?
Open only if you are running an FTP server for file transfers. Most modern setups prefer SFTP (port 22) or FTPS, which encrypt credentials and data in transit. Close port 21 if no FTP server is active.
常见用途与软件
- FileZilla Server
- vsftpd
- Pure-FTPd
- ProFTPD
安全
FTP sends all credentials and data in plain text. Any attacker with network access can capture usernames and passwords. Block port 21 and replace with SFTP (port 22). If FTP is unavoidable, use FTPS with implicit TLS and restrict access to known client IPs.
端口 21 安全吗?
开放端口会增加攻击面。安全性取决于 FTP 的配置。
此端口是自动化攻击的活跃目标。除非需要 FTP,否则保持关闭,并在防火墙中将访问限制为已知的 IP 地址段。
测试任意主机的端口 21 连通性。
开放端口 21
要允许到端口 21 (FTP) 的入站连接,请配置防火墙并在路由器上添加端口转发规则,指向设备的本地 IP 地址。
打开 Windows Defender 防火墙 → 高级设置 → 入站规则 → 新建规则 → 端口 → TCP → 特定本地端口: 21 → 允许连接 → 命名并保存规则。
netsh advfirewall firewall add rule name="Open Port 21" dir=in action=allow protocol=tcp localport=21sudo ufw allow 21/tcpsudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT登录路由器(192.168.1.1 或 192.168.0.1)→ 端口转发 → 添加新规则: 协议 TCP, 外部端口 21, 内部 IP: 设备的本地 IP, 内部端口 21 → 保存。
如何关闭端口 21
若不需要 FTP,请在防火墙或路由器中阻止该端口。
要在 Windows 上屏蔽端口 21,请以管理员身份在 PowerShell 或命令提示符中运行以下命令:
netsh advfirewall firewall add rule name="Block Port 21" dir=in action=block protocol=tcp localport=21执行:sudo ufw deny 21/tcpsudo iptables -A INPUT -p tcp --dport 21 -j DROP删除或禁用端口 21 的端口转发规则。
常见问题
端口 21 用于什么?▾
21 端口是 FTP 的标准 TCP 端口。它被需要接受该服务入站连接的服务器和应用程序所使用。是否需要开放取决于您是否在运行 FTP 服务器——如果没有,应保持关闭。
保持端口 21 打开安全吗?▾
开放的 21 端口会扩大攻击面。如果您没有主动运行 FTP,请在防火墙中关闭此端口并删除端口转发规则。如果 FTP 需要可访问,请将访问限制为已知 IP 地址并保持软件更新。