nmapで自分のサイトを守ろう

nmap-5.51-setup.exe

今回紹介するのは、Linuxでは、良くご存知のポートスキャン(nmap)のWindows版のソフトウェアだ。 VPSサイトを運営していると自分の設定環境を客観的に評価しておく必要が出てくる。また、自分のパソコンが本当にファイヤーウォールに守られているのかとか、自分の作ったサーバーにつながらないけど、本当にポートは開いているの?といったことをサーチしてくれる便利なソフトである。

このような用途を提供してくれる外部サイトも、ない事はないが、パーソナルな環境で評価が可能であると何かと便利である。 実際のところ、このような操作は、他人のサイトに実施すると、違法とまではいかないが、ハッカーからの攻撃と解釈されても文句は言えない。
使用には充分エチケットを守って使うべきソフトだが、それじゃあ、実際自分のサイトの安全性は?と考えると、サイトを開いてしばらくすると、ハッキングのために、いろんなお客様が訪れて、びっくりすることになるのだが、ここは、FWを施してある程度の防御をしなくてはならなくなってくる。しかし、FWを設置したとしても、実質問題として、それが機能していなくては意味が無い。このソフトは、Linuxでいうところの、nmapをWindowsで手軽に実現できるソフトで、ターゲットURLを設定すると、代表的なサーチメソッドが、プルダウンリストから選べるようになっていて、ほぼ全自動で動作が可能である。
 また、この値を単なるtracerouteとして用いれば、コマンドラインベースでは、数値の羅列でしかなかったRoutingが線で結ばれた状態で表示することができる。ブローブ数を増やして、様々な拠点までのルートを測定しておくと、サーチ対象をまとめて、マップにして表示してくれる便利な機能もついている。ターゲットに対してInsenseScanを行うと、OS名や、対応するDaemonの名称、バージョン情報などが表示される。”実在するハッカーからは、このような情報を取得可能なのだ” といった再認識もできる。応答するDaemonが、最新のものでなかったり、脆弱なポイントが見つかれば、攻撃対象にもなりかねない。幸いにして、大抵のレンタルサーバーでは、このような脆弱ポイントを埋める作業を常に実施して、快適な状態でメンテナンスしてくれているので、そう気にする限りではないが、VPSであると、その管理は、ユーザー側の対応次第といったところもあるので、設定を変更したら、一度はnmapで自分のサイトの安全性を確かめておくと良い。
ただし、自分のサイトのみ行うことが、前提であり、決して他人のサイトをこのソフトでスキャンしてはいけない。

【ルートマップの例】
また、先に述べた便利な機能として、拠点までのルートをつき合わせてそれをマップに仕上げることができる機能があり、自分の拠点がどのようなバックボーンの恩恵にあずかっているかを簡単にサーチできる。Webのマップとして、どの拠点を経由して接続しているかを確認できて良い。ただ、この場合のサーチは、「Quick traceroute」という機能を使って、ネットにあまり負荷をかけない配慮は必要になってくる。光回線網とADSL回線網は、若干変わって見えるようだ。 本当は、手動でroute情報を追加出来る機能があれば、自分が借りているサーバーのバックボーンが、どのような位置に存在しているのかを見極めることも可能になってくるのだが、ここは、あまり深入りしないでおこうと思う。 要は、あまりに長い経路を辿ってしまうような場合は、DNSなどchaceを最新のものにする時期の見極めなどのインディケータとして使う程度にとどめておきたい。 国内データセンターを謳っておきながら、実際に接続されているのは、海外だった。などという、あまりにいただけない話も中にはあったりするので、それも、承知の上で、契約文をよく眺めてみて、参考にすると良いだろう。例えば、「国内データセンター内でお客様のデータを管理/24時間監視体制」とあっても、マシン本体が、国内にあるとは書いてないわけで、そういうことも稀にあったとしても、不思議ではないのである。また、早い=バックボーンが太いとは必ずしも言えず、あくまでもネットワークレスポンスは、測定する拠点から、ターゲットまでのルートが如何に最適化されているかという事と、マシン自体の抱えるオーバーヘッドがどの程度乗っているかを見極める必要があろう。 以上、このように、ネットワーク上の自分のサーバーは、常に危険に側面しているといった事を認識しつつ、快適なサーバー環境を構築して行きたいものである。 余談になるが… もし、可能であるならば、IPアドレスが二つ準備できるような場合には、仮想化して、Web公開用のアドレスと、秘密にしたいルートを分けておくと、煩雑な管理から解放されて便利なところもある。一般公開用のサーバーIPには、ドメインを結びつけておき、解放するポートは、極端に言ば、”Webポートとメール受信用のポートだけ”としておく。メンテナンスはもう一方のIPアドレスから同じマシンに接続して行なう。 実際のところ、ドメイン経由でWebDAV接続ができるような運用は、便利な半面リスクを伴うものである。暗号化しているから安心というところまでは良いが、一度ハッキングされてしまうと、サーバーは、ハッカーの思うがままになる。もし、ハッキングを検出したら、サーバーの再構築なども考えなくてはならないと、筆者は考えている。

言うまでもないが、公開サーバー上に自分の大切な個人情報を同居させるような運用は、すべきではないのだが、便利だからと、つい使ってしまうのも現実であり、こういった一面からセキュリティーを考えて行くと、”公開サーバーは公開サーバー機能のみ”として運用する。といったことが、最適解になるのかもしれない。

Serversmanの管理画面に入れなくなった

【SereversMan@VPSで、最新yum updateを適用すると、Serversmanの管理画面に入れなくなる件】

【原因】

httpd Aliasで宣言されている /var/www/cgi-bin へのパスが通っていない。
yum uptdateを実行すると、上記を定義してある部分が以下のようにコメントアウトされた状態になっていることが原因。

【対処策】 /etc/httpd/conf/httpd.conf を編集する

#
# ScriptAlias: This controls which directories contain serverscripts.
# ScriptAliases are essentially the same as Aliases, except that
# documents in the realname directory are treated as applicationsand
# run by the server when requested rather than as documents sent tothe client.
# The same rules about trailing “/” apply to ScriptAlias directivesas to
# Alias.
#
#ScriptAlias /cgi-bin/ “/var/www/cgi-bin/”  ←赤い#を 外し有効化する

変更
ScriptAlias /cgi-bin/ “/var/www/cgi-bin/”
#
# “/var/www/cgi-bin” should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
# <Directory “/var/www/cgi-bin”>
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>

【httpdの再起動】

#service httpd restart

上記の処置で、問題なくServersmanの管理画面が表示されるようになる。 サポートでは、yum updateを実行しないことを勧められたが、手動で確認しながら、CUIベースで、yum updateとして変更点を確認しながら作業することに決めているが、今回update対象に入っていたhttpdのアップデート

May 08 02:34:56 Updated: xmlsec1-1.2.9-8.1.2.i386
May 08 02:34:57 Updated: nss-3.12.8-4.el5_6.i386
May 08 02:35:34 Updated: httpd-2.2.3-45.el5.centos.1.i386
May 08 02:35:34 Updated: xmlsec1-openssl-1.2.9-8.1.2.i386
May 08 02:35:35 Updated: 1:mod_ssl-2.2.3-45.el5.centos.1.i386
May 08 02:35:36 Updated: nss-tools-3.12.8-4.el5_6.i386
May 08 02:35:39 Updated: 1:quota-3.13-5.el5.i386
May 08 02:35:41 Updated: 1:xorg-x11-font-utils-7.1-3.i386
May 08 02:35:42 Updated: jwhois-3.2.3-12.el5.i386
May 08 02:35:49 Updated: screen-4.0.3-4.el5.i386
May 08 02:35:51 Updated: sed-4.1.5-8.el5.i386
May 08 02:36:00 Updated: httpd-manual-2.2.3-45.el5.centos.1.i386
May 08 02:37:00 Updated: tzdata-2011g-1.el5.i386
May 08 02:37:43 Updated: python-libs-2.4.3-44.el5.i386
May 08 02:37:44 Updated: python-2.4.3-44.el5.i386

上記赤い部分が適用されたあとに、httpd.confが適宜、書き換えられているようだ。 むしろ、同ディレクトリ内に生成されるhttpd.conf.bakをhttpd.confへ上書きしても、症状は回復する。

例)
# cd /etc/httpd/conf
# mv httpd.conf httpd.conf.new
# cp httpd.conf.bak httpd.conf
# service httpd restart

これでも良いが、他にも変わっている箇所があると良くないので、最初に説明した方法が良い。 また、これで、システムに影響があるようなら、元に戻せるようにhttpd.conf.newとして温存した。 万一、動作不良に陥ったら

# cp /etc/httpd/conf/httpd.conf.new /etc/httpd/conf/httpd.conf

として元に戻しておく。

余談)

https://serversman.com /といった選択肢がないので、パスワードは平文でネットを流れるため、セキュリティ面では、不安が残るサービスであり、自前でWebDAVを生成したほうが、より安全に使えるのだが、標準サービスである機能が動作しないというのは、精神衛生上、よろしくない。

通常は、サービスを停止しているが、この停止という処理は、Seversmanサービスへの接続をOFFとして定義ファイルを書き換えるだけなの で、基本的にはそう変わらないかも知れないが、サービス承認を外部で行ってから、自分のサーバーへの接続が可能になるサービスなので、セキュ リティーそのものは、最悪と言う訳ではないが、ここは、いろいろな考え方があるだろう。

ちなみに、参照されるDAVディレクトリは、/var/serversman/htdocs となっている。 独自のcgiを組んで、Webへ公開したければ、このディレクトリー内のファイルを自分のhtmlルートにコピーもしくは、移動すれば良い。
動作としては、/etc/rc.d/init.d/serversmanがサービスとして動作しているようだが、Daemonとして常駐している訳ではなさそうだ。
service serversman stop としても、接続そのものが、切れるわけではない。
ちょっと迷ったら、以下のURLをたどって、調べておくと良い。(内容は、不定期で、比較的重要な情報が、アナウンスされている)

http://dream.jp/vps/manual/ 仮想専用サービス → マニュアル

すべて、自己責任で実施することになっており、基本サービス以外の保障はなく、どうしても立ち直れない場合は、システムの初期化を行う以外、選択肢は残されていない。
筆者の場合、このシステムの初期化を十数回実施している。
BlueOnyxそのものが動作しなくなると、システム全体に影響が及ぶので、カスタマイ ズは、その親和性を見ながら、慎重に実行して行くことになろう。
勇気と時間的余裕があるユーザーは、思い切って最新のシステムの初期化を実施すると、構成が若干異なってくるようで、システムが安定化する。筆者 の場合、不適切なglibcを適用したばっかっりに、元に戻らなくなり、4月27日に初期化を行った。
結果、yum updateを実施しても、特に致命的な不具合は起こらなくなった。ただ唯一、上記のリンクから辿って、

Webサーバーに突 然アクセスできなくなった場合の対処方法

を適用しておく必要はある。

サーバーの特性を見極めつつ、自分にあったシステム構築をおすすめする。
基本的には、全ての操作をBlueOnyx上から設定して行き、不足部分をコンソール操作で補うといったところが、
このサーバープランを使いこなす適切な方法である。

最初から全部構築してもいいと考えるならば、エンジニアリングパッケージを適用せずに、システムを初期化する手段もひとつの方法だ。

※本稿の前提条件:ServersMan@VPS Standard + エンジニアパッケージ

VPSは、通常のレンタルサーバーと比べると、root権限付きのありがたいサービスなのだが、時と場合によっては、手間隙がかかるサービスであり、サーバー構築には、ある程度の知識が要る。
反面、ServersMan@VPS + エンジニパック というサービスは、その中間的な位置で、最初から、LAMPな構成を実現しており、MySQL,PHP,Apache,DNS,Sendmailといった主要サービスをGUIベースで構築できるので、初心者には、うれしいサービスである。