closuresFTP

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

我该怎么办?

netstat tap的结果

 obu1:/etc/pam.d# netstat -tap
主动互联网连接(服务器和build立)
原始Recv-Q发送-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:username 

NMap来自非本地

启动Nmap 4.90RC1(http://nmap.org)于2009-07-13 10:47 Eastern Daylight Time
 obu1.hostname(ipaddress)上有趣的端口:
未显示:972个封闭端口,26个过滤端口
港口国服务
 21 / tcp open ftp
 22 / tcp打开ssh

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

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

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

这个包装也有一个副作用:因为它拦截到端口21的任何连接,它发送一个信号,表明连接已经build立到软件,这将看到build立的连接,但连接只是build立到Windows的内部包装。

包装器然后试图打开连接到真正的主机,如果它超时,然后它发送一个信号到软件,连接已经丢失。 该软件将看到连接丢失。

综上所述,软件认为连接已经成功build立,然后丢失,但是没有build立真正的连接。

所以,在你的情况下,会发生什么:你运行nmap。 Nmap尝试连接到端口21上的服务器.Windows的包装器拦截连接。 Nmap“认为”它连接到您的服务器(但它只连接到包装),并报告端口打开。

您可以通过在命令行中键入来确认:

ftp 4.3.2.1

你会看到:C:> ftp 4.3.2.1

连接到4.3.2.1。

外部主机closures连接。

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

我从来没有看到任何文件。 经过多次调查,我发现了这个奇怪的行为,经过更多的调查,发现它为什么在这里。

那么,这个(大的)答案的结论是,你的服务器的端口21是绝对封闭的,因为netstat的报告,而nmap被这种行为愚弄。

apt-get remove –purge ftp

将ftpreplace为任何包被调用。 我不确定究竟是什么,但据我所知,命令应该起作用。

apt-get clean

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

使用下面的命令之一来找出什么程序实际上正在侦听端口21。

netstat -lp lsof -i :21 

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

根据您运行的inetd和configuration风格,在/etc/inetd.conf和/或/etc/xinetd.conf查找ftp服务定义。 如果find,销毁。

你确定你正在扫描正确的IP吗? netstat显示端口225和22,nmap显示21和22 …或者你正在扫描错误的IP,有一个防火墙正在做东西,或者你的服务器上的一些iptables规则重新路由数据包。 我会说检查“iptables -L -n”,以确保没有任何与FTP相关的内容。

您正在对服务器的IP地址进行外部nmap吗? 也许正在通过防火墙或路由器。 当你从localhost执行nmap时会发生什么?

  1. 检查主机上的防火墙规则

  2. 尝试从不同的主机nmap,他们都看到端口21打开。

  3. 确保您以root用户身份运行所有命令。

  4. 使用交叉线连接到您的服务器。 在使用交叉电缆连接到服务器的服务器和机器上切换防火墙,然后再次执行nmap。

  5. 从某个主机Telnet到端口21.当消息“按任意键继续..”时,不要按键。 然后以root身份尝试这些命令

    netstat -lp lsof -i:21

  6. 如果还没有运气。 停止防火墙。 在主机上启动一些新的服务(比如httpd),再次从不同的位置进行端口扫描。 你能看到更多的http端口打开。

如果localhost不能在端口21上看到进程侦听,那么在nmap和服务器的主机之间就会有一些东西。 这就是为什么第4点是关于直接连接主机与nmap和服务器。

你一定要检查你的路由器是否没有把任何21端口转发到你的服务器,即使你没有运行任何FTP服务,如果路由器正在做转发工作,NMAP会列出端口为开放的。