HOME | |
CeHttpで作るWebサーバの構築例 |
|
ここでは実際にCeHttpとADSLで作成する常時接続サーバの構築例について記述します。 あくまで例ですので、他にも様々なやり方があると思いますが参考にしてください。 WindowsCEとCeHttpでWebサーバを構築すると下記のようなメリットがあります。
逆にデメリットとしては
容量に制限がある、というのは最近のWindowsCEでは心配ないかもしれません。
|
|
機器構成 |
|
機器構成は下記のようになります。 一般的なADSL回線接続の例はこのようになると思います。 ルータが持つIPアドレスには
があります。 WindowsCE機は通常ルータを経由してインターネットと接続します。
上からルータ、WindowsCE機(シグマリオンI)、そしてLinuxサーバ、最下段にYahooBB!モデムです。 ※現在はmuseaを使っています。 |
|
CeHttpのセットアップ |
|
WindowsCE機をネットワークに接続します。IPアドレスはルータのDHCPから割り当てられるものではなくて、固定にしておきましょう。大体ルータの説明書にやり方が書いてあります。 ネットワークに接続したら、インターネットエクスプローラなどで、インターネットのサイト(http://www.yahoo.co.jp とか)を閲覧できることを確認します。 CeHttpをWindowsCE機にインストールします。インストール方法はオンラインマニュアルを読んでください。
|
|
ルータの設定 |
|
インターネットからWindowsCE機で動作するCeHttpにアクセスできるようにします。 ルータの設定で、インターネットからの接続を80番のポートをWindowsCE機に接続できるようにファイヤーウォールの設定を行います。 WebサーバはHTTPポート(80番)を利用しますので、これをWindowsCE機に通します。(ルーティングします)
|
|
外部からの接続確認 |
|
ファイヤーウォールの設定が終わると、次にインターネットから接続できるかどうか確認します。 インターネットからアクセスするにはグローバルIPアドレスを調べる必要があります。グローバルIPアドレスはルータの設定画面などで調べる事ができます。 一番簡単なインターネット接続の確認方法はケータイ(EZwebやiモード、Jスカイ等)からアクセスすることです。ケータイのブラウザから上記で調べたアドレスにアクセスします。ケータイからみれた場合、インターネットから接続できています。 ここまでで、インターネットから接続できるWEBサーバができたと言う事になります。
|
|
ダイナミックDNSの登録 |
|
グローバルIPアドレスは変動しますので、このままでは外部からのアクセスの度にIPアドレスを調べなくてはなりません。 ダイナミックDNSを利用して、IPアドレスが変動しても常に一定のURLでアクセスできるようにしましょう。 DNSとはDomain Name Systemの略で、IPアドレスを人間が理解しやすい文字列に変換してくれるものと考えておけばよいでしょう。 例えばこのサイトも http://cehttp.ddo.jp という名前がついていますが、IPアドレスに変換可能です。 ドメイン名とIPアドレスの関係はWindowsのコマンドプロンプトにて下記のようにして確かめることが可能です。
nslookup とはDNSに様々な問い合わせを行うコマンドです。 ダイナミックDNSはこのように変動するIPアドレスに固定的なドメイン名を割り当てるサービスです。現在は無料でダイナミックDNSを提供するサービスが数多くありますので、これを利用します。 このサイトが利用しているのはDynamic DO!.jpです。ここではこのサイトにすでに ドメイン名を登録している前提で設定方法を説明します。登録方法は上記サイトに詳しく書いてあります。 DynamicDNSへの登録を自動で行うSOCKETを導入します。
|
|
SOCKET.EXEのセットアップ |
|
SOCKETをWindowsCE機にインストールします。(→DOWNLOADへ) 上記DynamicDO!.jpのユーザ名とパスワードが下記のように設定されているとします。
SOCKETのインストール先(デフォルトでは\program files\isocket\)に下記のようなsocket.txtという名前のテキストファイルを設置します。
こうすることによって2時間毎にダイナミックDNSを更新する事が可能です。
|
|
WindowsCE機設置の際のポイント |
|
WindowsCE機を常時接続する際のポイントとしては、バッテリを抜いておく事と、蓋を閉めておく事です。バッテリは充放電を繰り返すと消耗しますので、抜いて保管しておきます。蓋を閉めておくのは液晶
のバックライトを保護するためです。 シグマリオンは蓋を閉めてもAC電源を入れておけばサスペンドしませんが、その他のWindowsCE機ではサスペンドしてしまうかもしれません。
|
|
掲示板の設置 |
|
掲示板を設置するにはBBS.CHXを利用します。(→DOWNLOADへ) これは掲示板用サンプル拡張ですが、簡単な掲示板ならば、これをインストールすれば事足りると思います。 またHTMLのカスタマイズ、管理者権限で投稿の削除などが行えます。
|
|
基本認証ディレクトリの設置 |
|
掲示板をそのままインストールすると、管理者用拡張スクリプトBBSADMIN.CHXも誰でも見れてしまいます。これを抑制するために、ユーザー名とパスワードを入力しなくては見れないディレクトリを作成し、大切なものはそちらに移します。 デフォルトでは下記のようなディレクトリ構成になっています。 /wwwroot ここで管理者用スクリプトを配置するディレクトリauthを /wwwroot/scripts 下に作成します。 /wwwroot この /wwwroot/scripts/auth 下に access.cha というテキストファイルを配置します。このテキストファイルには下記のように記述します。 taro:jiro こうすることによって、ブラウザから /wwwroot/scripts/auth 下にアクセスしようとすると、ユーザー名とパスワードを聞かれることになります。この際、ユーザー名に「taro」、パスワードに「jiro」と入力することで、アクセスが可能になります。 BBSADMIN.CHXや、DIR.CHX 等の他人に見られたくないファイルはこの下に配置すると良いでしょう。 もちろん普通のページもこのようにして閲覧制限を掛けることが可能です。詳しくはユーザーズマニュアルの4章「基本認証」を参照してください。 |
|
セキュリティの考察 |
|
http://cehttp.ddo.jp
ではシグマリオンをネットに直接接続し、つまりファイヤーウォールやルータを介さずにグローバルIPアドレスで運営していますが、特に問題なく連続稼動しています。通常はLinuxでも怖くてそんなことはなかなか出来ず、Windowsなら夜もオチオチ眠れない日々が続きますが、WindowsCE機ならば枕を高くして眠ることができます。 そもそもクライアント機なのでサーバとしてのサービスが存在していません。そのため攻撃対象がそもそも存在しないという点が挙げられます。 たいていのバッファオーバーフロー攻撃に対しても有効です。なぜなら大方のバッファオーバーフロー攻撃はIntelのPentium系に対して有効なように作成されているからです。WindowsCE機ではMIPSやARMなどのCPUが利用されている場合がほとんどな為に、この手の攻撃を受けても乗っ取り用コードが走ることはありません。一時期はやったNIMDAの攻撃も日々受けていましたが、特に大きな問題も無く動作していました。CEHTTPはバッファオーバーフロー攻撃を想定して防御しています。 ただしCEHTTPが持つ基本認証に関しては注意が必要です。HTTPプロトコル標準の基本認証はユーザー名とパスワードが平文のままインターネットに流れます。誰かがパケットウォッチをしてしまうと、パスワードがばれてしまいます。昨今のインターネットでこれを行うのは非常に難しくなっていますが、可能性が無いわけではありません。あまり過信しないように注意が必要です。 |
|
Copyright (C) 2005 Yuichiro Ishitani All rights
reserved.