我正在设置一个新的 debian 服务器,我不需要 FTP,所以我想删除它。根据 netstat -tap,ftp 没有监听任何东西。但是,当我在外部进行端口扫描(nmap)时,它说 ftp 端口是打开的(21)。inetd 没有启动任何东西,xinetd 不在系统上。
我应该怎么办?
netstat 点击的结果
obu1:/etc/pam.d# netstat -tap 活动 Internet 连接(服务器和已建立) Proto Recv-Q Send-Q 本地地址 外部地址 状态 PID/程序名称 tcp 0 0 *:225 *:* LISTEN 2237/sbadm tcp6 0 0 *:ssh *:* LISTEN 2399/sshd tcp6 0 448 obu1.hostname.: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 个主机启动)
您应该知道 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 被这种行为所愚弄。
apt-get 删除 --purge ftp
用调用的包替换 ftp。我不确定它到底是什么,但据我所知,命令应该可以工作。
易于清洁
这将在卸载后清理您的 var 目录。
使用以下命令之一找出实际在端口 21 上侦听的程序。
这应该可以帮助您找出需要删除或重新配置的特定包。
根据
inetd
您运行的内容和配置样式,在 和/或 中查找 ftp/etc/inetd.conf
服务/etc/xinetd.d
定义/etc/xinetd.conf
。如果发现,销毁。您确定您正在扫描正确的 IP 吗?netstat 显示端口 225 和 22,nmap 显示 21 和 22 ...要么您扫描了错误的 IP,要么您正在扫描错误的 IP,或者您的服务器上可能有一些 iptables 规则重新路由数据包。我会说检查'iptables -L -n'以确保那里没有与FTP相关的内容。
你做的外部nmap是对服务器的IP地址吗?也许正在通过防火墙或路由器。从 localhost 执行 nmap 会发生什么?
检查主机上的防火墙规则
从不同的主机尝试 nmap 他们都看到端口 21 打开。
确保您以 root 身份运行所有命令。
使用交叉电缆连接到您的服务器。在使用交叉电缆连接到服务器的服务器和机器上切换防火墙并再次执行 nmap。
Telnet 从某个主机到端口 21。当消息“Press any key to continue..”出现时不要按键。然后以 root 身份尝试这些命令
netstat -lp lsof -i :21
如果仍然没有运气。停止防火墙。在主机上启动一些新服务(比如 httpd),然后再次从不同位置进行端口扫描。你能看到额外的http端口打开吗?
如果 localhost 看不到在端口 21 上侦听的进程,那么您正在执行 nmap 的主机和服务器之间存在某些东西。这就是为什么第 4 点是关于将主机与 nmap 和服务器直接连接的原因。
您绝对应该检查您的路由器是否没有将任何 21 端口转发到您的服务器,即使您没有运行任何 FTP 服务,如果路由器正在执行其转发工作,NMAP 也会将端口列为开放。