nmapでポートスキャン

電脳備忘録
以前、あるサーバでnmapによるポートスキャンを実施したことがあるのですが、そのときやったことを備忘録として残していませんでした・・・。(あったけど使えなかった・・・)

同じ轍を踏まない意味でも今回はちゃんと備忘録として残しておきます。

コマンドを実行したら「そんなコマンド無いよ」と起こられてしまいました。どうやらインストールしていないようです。というわけでnmapをインストール。

# yum -y install nmap
今回、スキャンタイプはTCP Connectスキャン(-sT)とUDPスキャン(-sU)を実施。

#nmap -sT -sU 192.168.***.***

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2010-01-21 23:33 JST
Interesting ports on 192.168.***.***:
Not shown: 3155 closed ports
PORT      STATE         SERVICE
21/tcp    open          ftp
22/tcp    open          ssh
80/tcp    open          http
110/tcp   open          pop3
143/tcp   open          imap
993/tcp   open          imaps
995/tcp   open          pop3s
1013/tcp  open          unknown
10000/tcp open          snet-sensor-mgmt
123/udp   open|filtered ntp
1007/udp  open|filtered unknown
1010/udp  open|filtered unknown

Nmap finished: 1 IP address (1 host up) scanned in 1.466 seconds

unknownってなんぞ?
「lsof」で1013ポートを使っているプロセスを表示させる。

# lsof -i:1013
COMMAND    PID    USER   FD   TYPE DEVICE SIZE NODE NAME
rpc.statd 2103 rpcuser    7u  IPv4   5434       TCP *:1013 (LISTEN)

# grep rpc.statd /etc/init.d/*
/etc/init.d/nfslock:    [ -x /sbin/rpc.statd ] || exit 5
/etc/init.d/nfslock:    # Make sure the rpc.statd is not already running.
/etc/init.d/nfslock:    if status rpc.statd > /dev/null ; then
/etc/init.d/nfslock:    daemon rpc.statd "$STATDARG"
/etc/init.d/nfslock:    killproc rpc.statd
/etc/init.d/nfslock:    status rpc.statd
/etc/init.d/nfslock:    /sbin/pidof rpc.statd >/dev/null 2>&1; STATD="$?"

nfslockというサービスが「rpc.statd」を起動していると・・・。
nfslockはNFSのファイル・ロック機能を提供するサービス。今回は使わないから停止。

service nfslock stop
NFS statd を停止中:                 [  OK  ]

自動起動しないようにする
# chkconfig nfslock off

確認
# chkconfig --list nfslock
nfslock         0:off   1:off   2:off   3:off   4:off   5:off   6:off

全部offになっていればOK

再度nmapでポートスキャン。

# nmap -sT -sU 192.168.***.***

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2010-01-21 23:50 JST
Interesting ports on 192.168.***.***:
Not shown: 3158 closed ports
PORT      STATE         SERVICE
21/tcp    open          ftp
22/tcp    open          ssh
80/tcp    open          http
110/tcp   open          pop3
143/tcp   open          imap
993/tcp   open          imaps
995/tcp   open          pop3s
10000/tcp open          snet-sensor-mgmt
123/udp   open|filtered ntp

Nmap finished: 1 IP address (1 host up) scanned in 1.402 seconds


不必要なサービスを停止し、unknownポートはふさぐことができましたとさ。
ん? よくみるとopen|filtered ntp ってなってる・・・。これは別の機会に調べることにします。

【備考】

-sTはTCPポートの検出。
-sUはUDPポートの検出

-pポート番号でスキャンするポートを指定できるとのこと。
例:-p 80

複数指定したい場合はカンマで区切る
例: -p 21,22,80

ポート間の指定。(例えば1番から80番までをスキャンする場合)
例: -p 1-80

【参照元】
@ITの記事
CentOS/不要サービスの停止


広告

ブログの維持費に充てるでございます・・・。