![FTPをオフにする](https://rvso.com/image/488052/FTP%E3%82%92%E3%82%AA%E3%83%95%E3%81%AB%E3%81%99%E3%82%8B.png)
新しい Debian サーバーをセットアップしていますが、FTP は必要ないので削除したいと思います。netstat -tap によると、ftp は何もリッスンしていません。ただし、外部でポート スキャン (nmap) を実行すると、ftp ポートが開いている (21) と表示されます。inetd は何も起動しておらず、xinetd はシステム上にありません。
どうすればいいですか?
netstat タップの結果
obu1:/etc/pam.d# ネットスタット -tap アクティブなインターネット接続(サーバーと確立済み) プロトコル 受信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: ユーザー名
非ローカルからのNMap
2009-07-13 10:47 東部夏時間より Nmap 4.90RC1 ( http://nmap.org ) を起動 obu1.hostname (ipaddress) の興味深いポート: 表示されていないもの: 972 個の閉じたポート、26 個のフィルターされたポート 港湾国サービス 21/tcp オープン ftp 22/tcp オープンssh Nmap 完了: 1 つの IP アドレス (1 つのホストが稼働中) を 3.60 秒でスキャンしました
答え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 clean
これにより、アンインストール後に var ディレクトリがクリーンアップされます。
答え3
以下のコマンドのいずれかを使用して、実際にポート 21 でリッスンしているプログラムを確認します。
netstat -lp
lsof -i :21
これにより、どの特定のパッケージを削除または再構成する必要があるかがわかります。
答え4
正しい IP をスキャンしていますか? netstat はポート 225 と 22 を示し、nmap は 21 と 22 を示します...間違った IP をスキャンしているか、間にファイアウォールがあって何かが起こっているか、またはサーバー上の iptables ルールがパケットを再ルーティングしているかのいずれかです。FTP に関連するものがないことを確認するために、「iptables -L -n」をチェックすることをお勧めします。