web-dev-qa-db-ja.com

FTPをオフにする

新しいDebianサーバーをセットアップしていますが、FTPは必要ないので、削除したいと思います。 netstat -tapによると、ftpは何もリッスンしていません。ただし、外部でポートスキャン(nmap)を実行すると、ftpポートが開いていると表示されます(21)。 inetdは何も開始しておらず、xinetdはシステム上にありません。

私は何をすべきか?

netstatタップの結果

 obu1:/etc/pam.d# netstat -tap 
アクティブなインターネット接続(サーバーおよび確立済み)
 ProtoRecv-QSend-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

開始Nmap 4.90RC1(http://nmap.org)at 2009-07-13 10:47 Eastern Daylight Time 
 obu1.hostnameの興味深いポート(IPアドレス):
表示されていません:972個の閉じたポート、26個のフィルター処理されたポート
ポート状態サービス
 21/tcp open ftp 
 22/tcp open ssh 
 
 Nmap完了:3.60秒でスキャンされた1つのIPアドレス(1つのホストアップ)
1
Malfist

Windows XP(およびおそらく他のバージョン)にはFTP接続用の内部ラッパーがあることを知っておく必要があります(これの目的は、ファイアウォールやルーター)。

このラッパーは、ポート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はこの動作にだまされているということです。

4
FWH

apt-get remove --purge ftp

Ftpをパッケージが呼び出されるものに置き換えます。それが何であるかは正確にはわかりませんが、私の知る限り、コマンドは機能するはずです。

apt-きれいにする

これにより、アンインストール後にvarディレクトリがクリーンアップされます。

3
Troggy

以下のコマンドのいずれかを使用して、ポート21で実際にリッスンしているプログラムを確認します。

netstat -lp

lsof -i :21

これは、削除または再構成する必要がある特定のパッケージを見つけるのに役立ちます。

3
Matt

実行しているinetdと構成スタイルに応じて、/etc/inetd.conf/etc/xinetd.d、または/etc/xinetd.confでftpサービス定義を探します。見つかった場合は、破棄します。

2
chaos

正しいIPをスキャンしていますか? netstatはポート225と22を示し、nmapは21と22を示します...間違ったIPをスキャンしているか、その間にファイアウォールがあり、パケットを再ルーティングしているサーバーにいくつかのiptablesルールがあります。 'iptables -L -n'をチェックして、FTPに関連するものが何もないことを確認します。

2
davr

サーバーのIPアドレスに対して実行している外部nmapはありますか?ファイアウォールまたはルーターを通過している可能性があります。ローカルホストからnmapを実行するとどうなりますか?

1
hdanniel
  1. ホストのファイアウォールルールを確認してください

  2. さまざまなホストからnmapを試してみてください。すべて、ポート21が開いていることがわかりますか。

  3. すべてのコマンドをrootとして実行していることを確認してください。

  4. クロスケーブルを使用してサーバーに接続します。クロスケーブルを使用してサーバーとサーバーに接続したマシンの両方でファイアウォールを切り替え、nmapを再度実行します。

  5. 一部のホストからポート21へのTelnet。「続行するには任意のキーを押してください。」というメッセージが表示されたら、キーを押さないでください。次に、rootとしてこれらのコマンドを試してください

    netstat -lp lsof -i:21

  6. それでも運がない場合。ファイアウォールを停止します。ホスト(httpdなど)でいくつかの新しいサービスを開始し、別の場所からポートスキャンを再度実行します。追加のhttpポートが開いているのがわかりますか。

ローカルホストがポート21でリッスンしているプロセスを認識できない場合は、nmapを実行しているホストとサーバーの間に何かがあります。そのため、ポイント4は、ホストをnmapおよびサーバーに直接接続することです。

0

FTPサービスを実行していない場合でも、ルーターがサーバーに21ポートを転送していないことを確実に確認する必要があります。NMAPはポートをopenルーターが転送ジョブを実行している場合。

0
Mike