あなたのパソコンも覗かれている?

危険なアイコン このアイコンに要注意!! コントロールパネルにこのアイコンがあったら危険信号(^_^;

 これは私が実際に経験したことです。

■謎の現象発生

 ダイアルアップ接続でインターネットに接続していてふと気づいたらISDNルータ(MN128SOHO)のアクセスランプが点滅しているではありませんか。

 また、同時にハードディスクのアクセスランプも点滅します。

 この時特に他のWebサイトを開いているというわけでもなく、バックグラウンドでアクセスする要因も無いはずなのですが、念のため開いていたIE4.0のウインドウを全て閉じて様子を見るとなおアクセスランプが点滅しましハードディスクランプも同様です。

 何か変だなと思いつつ一旦PCをリセットして様子を見るとWin95が立ち上がった時点でまたアクセスランプが点滅します。

mn128.jpg (22063 バイト) 闇に光るMN128SOHOのアクセスランプ(^_^;

 モデムでも同様で勝手に光ったら要注意!

注)モデムを使ったダイアルアップの場合はパソコンをリセットするとシリアルポートもリセットされ接続が切れてしまいますが、MN128SOHO(パソコンとはEther Netカード経由で接続)の場合はMN128SOHOとプロバイダの接続はリセットされません。 パソコンが立ち上がると元通りの接続ルート(PC-MN128-プロバイダ)が構成されます。


 うっ、ウイルスでも仕込まれて勝手にデータを送信されているのか?


 冷や汗タラリ状態だったのですが、こういった時にWin95の標準ツールではどのような状態になっているのかをなかなか把握できません。

 とりあえずプロバイダへの接続を切り再度接続を行ってみるとひとまずアクセスランプの点滅は無くなりました。

 MN128SOHOがおかしかったのかな? と考えていたのですが、しばらくするとまた勝手にアクセスランプが点滅します。

 なぜだっ??

 再度接続を切ってしばらくしてから接続してみると今度は特におかしな状況になりません。

 う〜ん、プロバイダ側で何か問題が起こっているのか?(KCOMはここのところ障害が多発しているので怪しかったのです)

 そういう思いもあったためあまり深く追求せずに数日が経過しました。


■再び謎の現象が

 数日後、また同じ現象が発生します。

 MN128SOHOの問題かと思ってこれを開発したBugのホームページにアクセスしたところFAQ等にヒントとなる事項は無かったのですが、ユーザー間のメーリングリストアーカイブを見るとMN128SOHOでIP接続して自分のPCを公開する方法に関する記述があることに気づきました。

ん! これか? これだ!

 これまでインターネットアクセスは会社のプロキシサーバ経由で行っており特に意識する必要は無かったのですが、自宅のPCでPPP接続した場合はこちらがプロバイダからレンタルしたIPアドレスによってインターネットに直結されるためこちらから他のサーバーを見ることができると同様に相手からもこちらのサーバを覗かれてしまう可能性があるのです。

■接続概念図

会社でのルート

 Internet---[Proxy]--| <- イントラネッ ト   |--[ローカルサーバ]----[My PC]

 インターネット側からはプロキシサーバ上の内容にしかアクセスできずイントラネット側のサーバにはアクセスできません。(抜け道はあるけど基本的に一方通行)

自宅でのルート

nternet<---[プロバイダ]----[レンタルIPアドレス]---->[My PC]

 PPPで接続している場合はインターネットに直結された状態となり、自分のPC上でhttpサーバ等を動かしていた場合は外部から参照できるようになります。

 ただし、どんなパソコンでも覗かれるのかというと「httpサーバ」や「ftpサーバ」が稼働していなければ覗くことができません。(これはルータを使った場合で、モデム接続などしている場合はNetBIOSも通してしまい、ノーパスワードで「共有」しているフォルダとかが丸見えになるようです)

 私の場合はWindows 95上でMicrosoft Personal Web Server(PWS)を実行しています。

 これはMicrosoft Front Page 98をインストールする際に自動的にインストールされるものなのですが、PWSそのものは単体配布されていたり雑誌の付録にも収録されていたりします。

 PWSインストールすると家庭内LANやSOHO環境で簡単なWebサーバを構築できるため試験的に動かしている場合があるようです。

 FP98の場合はPWSを動かしておかないと機能をフルに利用できないため動作させてWebroot(httpサーバ上でデフォルトのルートフォルダになる場所)に該当する部分をZauBASE on Internetのフォルダに指定していました。

 この設定をした状態でPWSを実行しインターネットプロバイダにPPPで接続するとインターネットプロバイダからレンタルされたIPアドレスを通じてインターンネット上に自分のパソコンを公開してしまうということになります。


■本当に外部から参照できるのか?

 さて、基本的な部分がわかったので早速実験を開始します。

1.自分のIPアドレスを知る

 プロバイダにPPP接続するとプロバイダからIPアドレスが接続の間だけレンタルされます。

 IPアドレスというのはインターネット上でそのマシンを識別するためのユニークな番号ですが、一般的なPPP接続ではIPアドレスを意識せずに設定できるため(サーバからもらう設定が標準)自分のIPアドレスに関してはチェックすることはあまりないと思います。

 さて、これを知るにはどうしたら良いかとあれこれ調査してみるとWin95の場合winipcfg.exeというコマンドが標準で用意されている事がわかりました。(PC-AT互換機上でWin95を使っている場合、winpcfg.exeの部分をクリックすると実行するかダウンロードするかで実行を選択するとセキュリティに関して警告が出ますが動作させることができます< c:\windows\winipcfg.exe を指定しています。)

winipcfgの画面 winipcfg.exeを実行した様子

 この場合はダイアルアップ接続を完了した後でwinipcfg.exeを実行しています。

 PPP Adapterという欄がありますが、もしMN128SOHO経由で接続しているとこの欄はNovell 2000 AdapterなどEthernetカードの名称が入ります。

 IPアドレスに表示されるのが現在プロバイダからレンタルされているアドレスです。(ダイアルアップ接続の場合はデフォルトゲートウェイも同じアドレスになり、MN128SOHOなどのISDNルータ経由の場合はそのルータアドレスがゲートウェイアドレスになるようです)

(やばいところは全部モザイク入りです(^^; )

 プロバイダからレンタルされるIPアドレスは接続する度に変わるため一定ではないのですが、何度か接続していると一定範囲で連続していることがわかります。

 こういったことを調査するツールとしてCyberKit.exeがあります。(インプレスのインターネットウオッチ付録CDなどに収録されています)

CyberKitの画面 CyberKitでホスト名調査

 NS LookUpというのはホスト名からIPアドレスを表示させたりアドレスからホスト名を知るためのツールです。(DNSサーバを検索するツールです)

 Host or Addressの欄にwinipcfg.exeで表示されたIPアドレスを入力するとそのHostNameがわかります。

 IPアドレスは通常 AAA.BBB.CCC.DDD というように4つのブロックからなりそれぞれの数字は0〜255の数値を取るようです。

 有名どころでは www.sharp.co.jp のIPアドレスは 202.248.44.9 となります。(こういうアドレスは一般に公開されているもので別にハッキングとかしているわけじゃありませんよ(^_^;   JPNICでWhoISとかを使って調べればわかるのです)

 ブラウザのURLにこのIPアドレスを入力するとSHARPのホームページが表示されます。

 NS LookUpのHost or Addressにwinipcfg.exeで調べたIPアドレスを入力するとxxxxx.infoweb.or.jp などのようにホスト名が表示されます。(NIFTYのHyper ROAD接続すると infowebに繋がっているのがわかりました(^^)v)

 どのプロバイダも同じようにホスト名が表示されることからプロバイダがユーザーにレンタルするIPアドレスには必ずホスト名が付けられているようです。


2.外部から自分のパソコンを覗いてみる

 基本的なことがわかってきたので実際に外部から自分のパソコンに接続することができるのかを試してみました。

 私の環境はISDNにしてあるので2回線分利用できます。

 1回線をMN128SOHOでKCOMに接続しておいてMN128SOHOの設定を使ってIPアドレスを調べておきます。(モデムを使ったダイアルアップの場合はwinipcfg.exeのIPアドレスに実際のアドレスが表示されるのですが、MN128SOHOの場合はMN128SOHOのルータアドレスが表示されてしまい実際のIPアドレスは表示されません)

 次に別の1回線を利用して他のプロバイダに接続してみます。

 この時別のパソコンを利用して接続しても良いのですが、パワザウが手元にあるのでこれを使って接続してみます。

パワザウの設定画面 パワザウにIPアドレスを登録

 接続時間を短縮するためあらかじめIPアドレスを登録しておいたほうが良いでしょう。

 http://に続きwinipcfg.exeで調べたIPアドレスを登録しておき ます。

 IPアドレスではなく、NS Lookupなどで調べたホストネームを登録しても同じことになります。

接続してみると「!!」本当に見えるじゃないか!

がーん!! 見えてたのね プロバイダを経由してアクセスできてしまったページ

 この場合はFrontPage 98のデフォルトページなので特に問題はない(他のフォルダやファイルを指定していないため)はずですが、PWSのフォルダ構成は初期状態は一定のためその手の知識があると外部から参照できてしまいます。

この接続を行った場合の経路

[私のPC]---[MN128SOHO]---[KCOM].......Internet......[ASAHI-NET]---[パワザウ]

 Internetの先はNIFTYのHyperROADでも他のプロバイダでも同じでどこからでもアクセスできてしまいます。

 自分のパソコンの一部とはいえ意図せずに外部に公開していたのかと思うと怖いものを感じます。

 この後で気づいたのですが、MN128SOHOで接続した場合MN128SOHOでアクセスするとその設定画面が表示されたりしてさらに怖さを感じてしまいました。

 表示される画面はプロバイダのIDとかパスワード設定画面やDNS等の設定で外部から操作はできないもののIDは見えてしまいます。(パスワードは***に変換されているのでセーフ(^_^; )

 慌ててMN128SOHOにもパスワード設定を行ったのですが、もしかしたら特殊な操作で設定ファイルまで読み出されてIDやPASSWORDを入手されたのではという疑惑は残ります。

 即座にMN128SOHOの設定画面にパスワードを設定しました。


3.他人のパソコンも覗いてみる

 このようなことに気づいてしまうと他の人のパソコンも見えるのでは? と興味がわいてきます。(undocumentedが好きなものでつい(^_^; )

 CyberKitのNSLookUPを使って自分のプロバイダがユーザーにレンタルするIPアドレスの範囲に目安を付け次々とURLに指定してみるとかなり多くのパソコン上でhttpサーバが動作しており、意図しているのかしていないのかは明確にわかりませんが、内部向けとおもわれるWebコンテンツが外部から参照できてしまうことがわかりました。

あなたのも見えます 表示できた他の人のページ

 このページはPWSのデフォルトページです。

 URLにIPアドレスを入力するとこのページが結構表示されます。

 このページが表示されたといって実害はないのですが、これと一緒に動作するftpに問題があります。(後述)

 PWSによるものだけでなくNT4.0のIIS(PeerWebServer)やWinGateサーバなども見かけます。

 う〜ん、この人達、外部から参照されているのを知っているのかな(^^?

 ただし、中には明らかに外部から見えていることを意識しているページもあり、こういったホームページの公開方法もあるのかと感心したりしました。


■が、悪用されるととんでもないことが...

 ここでふと、PWSにはFTPサーバも含まれていて実験のために設定していたような?(PWSの標準ではftpサーバは動いていません) と思い、FTPサーバ用のフォルダを見てみるとそこには知らないファイルが数本登録されています。

 ファイル拡張子を見る限りexeファイルやdocファイルではなくtxtなので単純なテキストファイルのようです。

 念のため直接開くことはせず、一旦フロッピーにコピーして別のパソコンで開いてみると、そこには

「あなたのパソコン丸見えですよ」

 と、書かれているではありませんか!!

 うわ〜っ!!! 大変なことをしてしまったっ! と、その時は大慌てしました。

 外部から知らないうちに私のパソコン内部のファイルを操作されてしまったのです。

 その時はハッキングされたのか!?と焦ってたはずです。


■実害について検討する

 これは早急な対応が必要だと考えftpを一旦止めました。

PWSの設定画面 PWSの設定画面

 FTPサーバを停止状態にしてひとまず外部からのアクセスを防ぎます。

 その後冷静になってPWSの仕組みを見てみると、想定していたよりは実害がないことがわかりました。


1.PWSが提供する機能

 ホームページなどを公開(ファイル配信)させるためのhttpサーバとファイルのアップロードやダウンロード機能のためのftpサーバの機能が提供されます。

 このうちftpサーバは標準状態では起動していないため、ユーザーが意図的に設定しないと動作しません。

 httpサーバはPWSがインストールされるとパソコンの起動時に自動実行されるようです。(設定で自動実行しないように設定できますが、標準状態では自動実行になっています)


2.httpサーバが動作している場合

 PWSの場合、標準状態のインストールを行うとWindowsがインストールされているドライブに \Webshareというディレクトリが作成され、その中にWebrootやFtprootというディレクトリが作成されます。

ip_pws_directory.gif (1066 バイト) PWSをインストールした場合のディレクトリ作成状況

 この他にも管理用機能を提供するプログラムフォルダなどが作成されます。

 Webrootはhttpサーバで起点となるディレクトリ、Ftprootはftpサーバで起点となるディレクトリです。

 使っているパソコン上でhttpサーバが動作していてプロバイダに接続するとインターネットに接続されている他のパソコンからWebrootに登録されたファイルが参照できてしまいます。

 ただし、色々と調べていくと設定によっては外部からのアクセスを防ぐための認証設定やディレクトリ表示制限などを組み合わせて意図されないアクセスを防ぐことができることがわかりました。


・パスワードの認証

 標準では匿名を許可した状態となっており外部からの自由なアクセスを許していますが、許可しない設定にしておけばアクセス時にIDとパスワードを要求するようになります。

・ディレクトリ参照許可設定

 標準状態では多分許可していないと思いますが、許可しているとhttpのコマンドによりディレクトリやファイルの状況が読み出せてしまうはずです。(あまり詳しくないのですが、dirコマンドのようにファイル一覧が表示できるようです)

 もし、読み出せてしまうと上記のWebroot以下のフォルダが丸見えとなるわけで意図しないファイルまで見られてしまう可能性があります。

・デフォルトドキュメント

 標準状態でdefault.htmが指定されています。

 この設定はhttpサーバに接続した場合に最初に表示されるファイルを指定しています。

 一般的なプロバイダが提供しているホームページ用サーバでは index.htmやindex.htmlがデフォルトとなっているのですが、PWSやIISではdefault.htmがデフォルトになっているようです。

 PWSをインストールすると最小限のファイルやリンクしか参照しないdefault.htmも作成されるため意図しないフォルダ等を参照される可能性は低いのですが、自分でWebroot上のファイルを変更した場合、たとえばdefault.htmを削除してindex.htmなどにした場合はデフォルトドキュメントも変更しないと外部から参照したときにディレクトリ参照許可との組み合わせでWebroot以下の構成が見えてしまう場合があります。


●httpサーバ対策

 PWSの設定で自動起動とせず、必要に応じて起動するようにします。

 外部に公開したくないのであれば認証設定で匿名許可をしないように設定します。

 外部に公開することが前提となるならWebroot上に重要なファイルを配置しない方が無難ですが、FrontPage98などではどうしてもWebrootを起点にしたファイル構成をとるためディレクトリ参照許可設定とデフォルトドキュメントを正しく設定して外部からの不要な参照を防ぐようにします。(ただし、ディレクトリを類推されるとアクセスされる可能性が高くなります)


3.ftpサーバが動作している場合

 PWSではインストール後の標準状態では動作していないのですが、手動で起動するか自動起動設定をしておくと稼働状態となります。

 ftpサーバが起動していると外部からでもftpソフトなどでIPアドレスを直接入力して接続するとFtproot内のディレクトリやファイルを参照できるようになります。

httpサーバとftpサーバの危険な関係

 私自身の経験(上記のFtprootに勝手にファイルをアップロードされた事例)や他の人のPCにアクセスする実験でわかったこととしてhttpサーバを公開している場合の多くがftpサーバも公開しているという事実です。

 そのため、まずブラウザで片っ端からIPアドレスを入力して何らかのページが表示されたらそのIPアドレスをftpソフトに登録して反応を見るという行為がなされる可能性が高くなります。(実際に私もやった(^_^; )

 PWSでftpサーバを有効にしているということは複数のパソコンを家庭内LAN接続で繋いでファイル転送を簡単にできるように設定している可能性もあるわけで、そのままインターネットに接続されてしまうと外部からでも簡単にファイルをダウンロードされたり、逆にアップロードされてしまうことになります。

 私の場合もまさにそれで、ftpに関していい加減な設定をしていたため外部から丸見えだったわけです。

 唯一の救いはFtprootをFtpのホームにしていためここに登録してあったファイル以外を操作されなかった(と思うのですが(^_^? )ことでしょうか。

 Windows NTのSIIを動かしている場合はftpにも凝ったディレクトリ割り当てをしている場合が多くanonymous設定にしていると好き放題にダウンロードされてしまいます。

 偶然接続できたとある企業のパソコン(外部公開用ではなくイントラ用)などは内部通知掲示板がオープンになっており、ftpも書き込み許可付きで公開されていました。

 本来のネットワーク管理者以外が勝手にPWS等をインストールしてしまうと取り返しの付かないことが起こるかもしれません。(PWSのftpルートにプログラムファイルを転送しておいて相手が実行するとハードディスクの中身を探りだしたりネットワーク構成をチェックしその情報を送り出すようなトロイの木馬とか)

ip_ftp_env1.gif (3937 バイト) ftpサーバに関する設定項目

 匿名の接続を許可するにチェックが入っているとanonymousによるアクセスが可能になります。(ユーザー名をanonymousにしてパスワードをメールアドレスにするとログインできてしまいます)

ip_ftp_env2.gif (7593 バイト) ftpサーバで公開するディレクトリ設定

 ホームディレクトリをどこに置くのか、アクセス権限をどうするのかを設定します。 

 ftpサーバの初期設定ではアクセス権限の「書き込み」にチェックはなく外部からの書き込みや削除ができない状態となっています。


ftpサーバ対策

 こちらも動かさないのが一番ですが、動作させる場合の対策としては「匿名の接続を許可する」をチェックせず必ず認証を必要とする環境を作ることでしょう。

 また、もし外部から参照されることを前提とするなら「匿名の接続のみを許可する」設定を有効にしておいたほうが良いでしょう。(ここをチェックしないと万一パスワード破りにあった時に他のファイルまで覗かれる心配があります)

 また、ftpサーバを有効にしているとftp管理の項目に現在のセッションを表示する項目があります。

 もし、外部から接続されているとここにユーザーが表示されますのでもし何らかの異常を感じたら参照してみると接続されているのかいないのかがわかります。

ip_ftp_env3.gif (4901 バイト) ftp管理で接続ユーザーをチェックすると状況がわかります。

 もし、知らないユーザーがいたら怖いぞ〜(^_^)


■外部から参照されたかどうかのチェック

 外部から侵入されたかどうかはPWSのログファイル(標準で作成)上の痕跡からわかります。

192.168.0.2, -, 98/02/23, 2:47:55, W3SVC, MARUTO, 192.168.0.2, 1229, 320, 72, 304, 0, GET,
192.168.0.2, -, 98/02/23, 2:47:55, W3SVC, MARUTO, 192.168.0.2, 1185, 320, 72, 304, 0, GET,
203.141.XXX.XXX, -, 98/02/23, 2:55:20, W3SVC, MARUTO, 203.141.XXX.XXX, 238, 322, 1931, 200, 0, GET,
203.141.XXX.XXX, -, 98/02/23, 2:55:21, W3SVC, MARUTO, 203.141.XXX.XXX, 725, 253, 405, 200, 0, GET,
203.141.XXX.XXX, -, 98/02/23, 2:55:22, W3SVC, MARUTO, 203.141.XXX.XXX, 839, 245, 10091, 200, 0, GET,
192.168.0.2, -, 98/02/23, 2:59:36, W3SVC, MARUTO, 192.168.0.2, 222, 386, 1492, 200, 0, GET,
192.168.0.2, -, 98/02/23, 3:26:04, W3SVC, MARUTO, 192.168.0.2, 107, 191, 1858, 200, 0, GET,

 192.168.0.2というのはローカルIPアドレスですが、203.141.xxx.xxxというのは外部のIPアドレスです。

 この現状を目の当たりにしたときは震えがきました。

 よく企業サーバが乗っ取られる事態というのが報道されます(裏BBS等を見ると報道される以上に侵入されているようです)が、ファイル更新とかの目的でftpサーバを動かしてftpサーバそのものはインターネットに公開されていないと思い込んでセキュリティを甘くしているといとも簡単に侵入を許してしまうのだと実感しました。


■侵入された後の対策

 侵入されたといっても責任は無謀にftpサーバとかを公開した自分自身にあります。

 侵入した側は公開されているサイトを参照しただけです。(言い訳か(^_^? )

 なんらかの接続痕跡があり、ftp用のディレクトリにファイルが登録されていた場合はそのファイルの取り扱いには慎重にする必要があります。

 *.comや*.exe,*.batなどの実行可能ファイルの他、excelの*.xlsファイルやワードの*.docにもマクロウイルスが含まれている可能性もあるためむやみに開いてはいけません。

 一旦フロッピーにコピーしてファイル破壊プログラムやウイルスプログラムが実行されても困らないパソコンで開いてみましょう。


■外部から見えることによるメリットもあります

 PWS補完計画 などで公開されているプログラムのようにレンタルされたIPアドレスにリンクを張ったページを自動的に作成してftpでホームページ用サーバにアップロードして時間限定(テレホーダイタイムの間とか)で自分のパソコンをWebサーバとして公開したり、この仕組みを究極的に押し進めたHotLineサーバのようなものがあるようです。(HotLineは大変危険なものなので迂闊に手を出さないほうが無難です:検索で引っかかるエロサイトじゃありませんよ(^^;)

 このようにして独自のWebサーバを公開して様々な実験ができるようになります。

 公開することを前提にWebrootなどを設定しておけば深夜だけのHPを楽しんでもらえるのではないでしょうか(^_^;

 かねてから実験室ネタに上げてあるPDA用サーバの公開実験などもこの仕組みを利用してできると思われます。