48.2.8. リッスンしているポートの確認
ネットワークサービスを設定したら、システムのネットワークインターフェイスで実際にリッスンしているポートに注意することが重要です。開いているポートはすべて、侵入によるものです。
ネットワーク上でリッスンしているポートを一覧表示する基本的な方法は 2 つあります。信頼性が低いアプローチは、netstat -an や lsof -i などのコマンドを使用してネットワークスタックをクエリーすることです。この方法は、これらのプログラムはネットワークからマシンに接続されないため、信頼性は低くなりますが、システムで実行されているものを確認してください。このため、これらのアプリケーションは攻撃者が交換するためのターゲットを頻繁に使用します。クラッカーは、netstat と lsof を独自の修正バージョンに置き換えて、承認されていないネットワークポートをオープンした場合に、その追跡をカバーしようとします。
ネットワーク上でリッスンしているポートを確認するためのより信頼性の高い方法は、nmap などのポートスキャナーを使用することです。
以下のコマンドは、ネットワークから TCP 接続をリッスンするポートを決定します。
nmap -sT -O localhost
このコマンドの出力は、以下のようになります。
Starting nmap 3.55 ( http://www.insecure.org/nmap/ ) at 2004-09-24 13:49 EDT Interesting ports on localhost.localdomain (127.0.0.1): (The 1653 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 22/tcp open ssh 25/tcp open smtp 111/tcp open rpcbind 113/tcp open auth 631/tcp open ipp 834/tcp open unknown 2601/tcp open zebra 32774/tcp open sometimes-rpc11 Device type: general purpose Running: Linux 2.4.X|2.5.X|2.6.X OS details: Linux 2.5.25 - 2.6.3 or Gentoo 1.2 Linux 2.4.19 rc1-rc7) Uptime 12.857 days (since Sat Sep 11 17:16:20 2004) Nmap run completed -- 1 IP address (1 host up) scanned in 5.190 seconds
この出力は、
sunrpc
サービスが存在するため、システムが portmap を実行していることを示しています。ただし、ポート 834 には mystery サービスもあります。ポートが既知のサービスの公式リストに関連付けられているかどうかを確認するには、以下を入力します。
cat /etc/services | grep 834
このコマンドは出力を返しません。これは、ポートが予約済み範囲(0 から 1023)にあり、root アクセスが開いているのに対し、既知のサービスに関連付けられていないことを示しています。
次に、netstat または lsof を使用してポートに関する情報を確認します。netstat を使用してポート 834 を確認するには、次のコマンドを使用します。
netstat -anp | grep 834
このコマンドは、以下の出力を返します。
tcp 0 0 0.0.0.0:834 0.0.0.0:* LISTEN 653/ypbind
netstat に開いているポートが存在するのは、クラッカーがハッキングシステムで誤ってポートを開くことは、このコマンドで認識できない可能性が高いためです。また、
[p]
オプションは、ポートを開いたサービスのプロセス ID (PID)を表示します。この場合、オープンポートは ypbind (NIS)に属します。これは、portmap サービスとともに処理される RPC サービスです。
lsof コマンドは、開いているポートをサービスにリンクできるため、netstat と同様の情報を表示します。
lsof -i | grep 834
このコマンドからの出力の関連部分は以下のとおりです。
ypbind 653 0 7u IPv4 1319 TCP *:834 (LISTEN) ypbind 655 0 7u IPv4 1319 TCP *:834 (LISTEN) ypbind 656 0 7u IPv4 1319 TCP *:834 (LISTEN) ypbind 657 0 7u IPv4 1319 TCP *:834 (LISTEN)
これらのツールは、マシンで実行しているサービスのステータスについて非常に多くのことを示しています。これらのツールは柔軟で、ネットワークサービスおよび設定に関する情報を提供します。詳細は、lsof、netstat、nmap、および
services
の man ページを参照してください。