nmap でローカルマシンの脆弱性チェック
ポートスキャンは、対象のマシンと経路上のネットワークに負荷をかける。自分が管理していないマシンに対して実行した場合、不正アクセス禁止法などに触れる可能性がある。スキャンは、自分が管理するマシンに対してのみ実行する。
このページでは、自分が管理する Solaris マシンで、そのマシン自身に対して nmap を実行し、開いているポートを確認する手順をまとめる。
インストールと実行
nmap の最新の安定版は 7.991 である。ソースを取得し、ビルドしてインストールする。
cd /tmp wget https://nmap.org/dist/nmap-7.991.tar.bz2 bzip2 -cd nmap-7.991.tar.bz2 | tar xvf - cd nmap-7.991 ./configure make su make install exit
自分のマシンに対してポートスキャンを実行する。1 番目のコマンドは既定のスキャン、2 番目のコマンドは TCP コネクトスキャンである。「-Pn」は、事前の到達確認を省略するオプションである。
nmap localhost nmap -Pn -sT localhost
不要なサービスを止める
スキャンの結果、使っていないサービスのポートが開いている場合には、そのサービスを停止する。
Solaris 10、11 の場合
inetd 経由のサービスは SMF(サービス管理機能)で管理されている。次のサービスは、通常は使わないので停止する。
su svcadm disable svc:/network/echo:stream svcadm disable svc:/network/echo:dgram svcadm disable svc:/network/discard:stream svcadm disable svc:/network/discard:dgram svcadm disable svc:/network/daytime:stream svcadm disable svc:/network/daytime:dgram svcadm disable svc:/network/chargen:stream svcadm disable svc:/network/chargen:dgram svcadm disable svc:/network/time:stream svcadm disable svc:/network/time:dgram exit
次のサービスは、必要が無ければ停止する。ftp は、そのマシンで ftp の要求を受け付ける場合に必要である。printer は、そのマシンにプリンタを接続して共有する場合に必要である。
su svcadm disable svc:/network/ftp:default svcadm disable svc:/application/print/rfc1179:default exit
停止したことを確認する。
svcs -a | grep network
Solaris 9 以前の場合
/etc/inetd.conf の該当する行の先頭に「#」を付けてコメントアウトする。対象は、echo (7/tcp)、discard (9/tcp)、daytime (13/tcp)、chargen (19/tcp)、time (37/tcp) である。ftp (21/tcp) と printer (515/tcp) は、必要が無ければ同様にコメントアウトする。
編集後、inetd に設定を読み直させる。
su pkill -HUP inetd exit