关闭 FTP

关闭 FTP

我正在设置一个新的 debian 服务器,我不需要 FTP,所以我想删除它。根据 netstat -tap,ftp 没有监听任何东西。但是当我从外部执行端口扫描 (nmap) 时,它显示 ftp 端口已打开 (21)。inetd 没有启动任何东西,xinetd 不在系统中。

我应该怎么办?

netstat tap 的结果

obu1:/etc/pam.d# netstat -tap
活动互联网连接(服务器和已建立)
Proto Recv-Q Send-Q 本地地址 外部地址 状态 PID/程序名称
tcp 0 0 *:225 *:* 监听 2237/sbadm
tcp6 0 0 *:ssh *:* 监听 2399/sshd
tcp6 0 448 obu1.主机名.:ssh rrcs-XXX-XXX-XXX-XXX:56721 ESTABLISHED 16639/sshd: 用户名

来自非本地的 NMap

于 2009-07-13 10:47 东部夏令时间启动 Nmap 4.90RC1(http://nmap.org)
obu1.hostname (ipaddress) 上有趣的端口:
未显示:972 个关闭端口,26 个过滤端口
港口国服务
21/tcp 开启 ftp
22/tcp 开启 ssh

Nmap 完成:3.60 秒内扫描了 1 个 IP 地址(1 个主机启动)

答案1

您应该知道 Windows XP(可能还有其他版本)有一个用于 FTP 连接的内部包装器(其目的是尝试允许 PORT 命令成功完成,即使在防火墙或路由器后面)。

该包装器拦截到端口 21 上的任何主机的任何连接,因此它可以监视它并尝试打开客户端发出的 PORT 命令的传入端口。

这个包装器还有一个副作用:当它拦截到端口 21 的任何连接时,它会向软件发送一个连接已建立的信号,软件会认为连接已建立,但实际上连接只与 Windows 的内部包装器建立。

然后包装器尝试打开与真实主机的连接,如果超时,它会向软件发送信号,表示连接已丢失。软件将认为连接已丢失。

总结一下,软件认为连接已成功建立,然后丢失,但并没有建立真正的连接。

那么,就您而言,会发生什么情况:您运行 nmap。Nmap 尝试通过端口 21 连接到您的服务器。Windows 的包装器会拦截该连接。Nmap“认为”它已连接到您的服务器(但它仅连接到包装器),并报告端口已打开。

您可以通过输入命令行来确认这一点:

FTP 4.3.2.1

您会看到:C:>ftp 4.3.2.1

连接到 4.3.2.1。

外部主机关闭连接。

您可以尝试任何有效的 IP,ftp 将始终连接,并在不久后断开连接,而它应该报告“连接超时”。

我从未见过有关此问题的任何文档。经过多次调查,我发现了这种奇怪的行为,经过进一步调查,我发现了它出现的原因。

好吧,这个(大)答案的结论是,正如 netstat 报告的那样,你的服务器的 21 端口肯定已关闭,并且 nmap 被这种行为所欺骗。

答案2

apt-get 删除 --purge ftp

将 ftp 替换为包的名称。我不确定它到底是什么,但据我所知,该命令应该有效。

apt-get 清理

这将在卸载后清理您的 var 目录。

答案3

使用以下命令之一来找出实际在监听端口 21 的程序。

netstat -lp

lsof -i :21

这应该可以帮助您找出需要删除或重新配置的特定包。

答案4

您确定扫描的是正确的 IP 吗?netstat 显示端口 225 和 22,nmap 显示 21 和 22...要么您扫描的 IP 不对,要么中间有防火墙在执行操作,要么您的服务器上的一些 iptables 规则正在重新路由数据包。我会建议检查“iptables -L -n”以确保其中没有与 FTP 相关的内容。

相关内容