No.14 セキュリティを考えてみよう5
プロキシサーバーを立ててみよう
  2001,8/18 再構成
 2001,8/19 追記
2003,1/3 リンク切れチェック
2003,1/13 再リンク

1.プロクシって何物?

プロクシって、クシとか串とかって名前でよく聞くけど"代理サーバー”ってこと以外どういうものなのか
よくわからなかったので用語辞典でいろいろ調べてみました。

一般的な用語説明 ASCII24 - アスキー デジタル用語辞典 複数の辞書を同時検索。
BizIT用語検索 右下に用語検索あり。
CNET用語説明サービス終了 (T_T) )
PC View用語説明 (2003,1/13 *1
かなり強力(だった・・・)。 2003,1/14
CNETがPC Viewとなって復活したそうです。
知らなかった! 2003,1/13 *1
SUNの用語週 ネットワーク関連メイン。
より突っ込んだ説明 TCP/IP ねっとわーく(インターネット)概論
(しくしくしく、リンクが切れました・・・
 わかりやすかったのになぁ・・・ 2003,1/4)

と思ってたら新しいサイトに移っていました。
TCP/IP ねっとわーく(インターネット)概論
 (2003,1/13 *1
くだけててわかりやすいです。

(metticeさんのBlind Alleyのサイトの
中にあります。 2003,1/13 *1 )
プロクシとは(同上 (T_T) 2003,1/4)
プロクシとは (2003,1/13 *1
Studying HTTPから。
これも非常にためになるサイトです。
2003,1/13 *1
HTTPの説明(同上 (T_T) 2003,1/4)
HTTPの説明 (2003,1/13)
下のほうに用語説明あり。
Wayback Machineから無理やり引っ張って
来ました。 (^_^;) 2003,1/13)

*1 ここのサイトを読んでいただいているコバさんからの情報でリンクがつながりました。 2003,1/13
  大事なリンクサイトの情報を教えていただきありがとうございました。 >コバさん


調べた内容を全部転載するわけにもいかないので抜粋してまとめて書き出して見ます。
ついでにファイアーウォールも調べてみました。

【プロクシ(Proxy)】
代理サーバー。セキュリティ確保が目的。ファイアーウォール上で動作させる。別名アプリケーションゲートウェイ。
ユーザーやアプリケーションを指定してプロクシサーバー経由でインターネットへアクセスすることにより
セキュリティを向上させる。
使用するアプリケーション(ブラウザ、FTPクライアント、メールなどなど、)ごとにプロクシとアプリケーションソフト
の双方が対応していないと使えない。パケットフィルタリングとは違う。
おまけでキャッシュがついてくることが多いが必須機能ではない。

【ファイアーウォール(firewall )】
防火壁。一般的に社内ネットワークとWANルータの間に設置され、ネットワークトラフィックを監視して、
ルールに基づいた正当な通信のみを行なえるようにする一方、不正な動きを検知する。
アプリケーションゲートウェイ(Proxy)、サーキットレベルゲートウェイ、パケットフィルタの3種類ある。

【パーソナルファイアーウォール(Personal Firewall)】
社内ネットワーク全体ではなく、個々のPCを保護する用途で使われる安価なファイアウォール。
通常のファイアウォールは、外部ネットワークと内部ネットワークの接続点に設置し、不正なパケットのフィルタリングを
行なうことで内部ネットワークのセキュリティを保つ。これに対し、パーソナルファイアウォールは導入を行なったPC宛に来た
パケットのみをフィルタリングする。

こうやってみるとファイアーウォール機能のひとつとしてプロクシ(別名アプリケーションゲートウェイ)が位置付けられていて
キャッシュ機能がついている事は多いがパケットフィルタリングなどの機能は別物のようです。
一方、プロクシを通してインターネットにアクセスするとアクセスしている人の個人情報(IPアドレスとか)が見えにくくなる
(細かく追っていけば付きとめる事はできるそうですが、)ので悪用されることもあるそうです。
プロクシの設定を甘くしていると見ず知らずの人に悪用されたりするので使用には細心の注意が必要ですね。


2プロクシって何のために入れるの?

今回、プロクシ(Proxy)サーバーを入れるのはNo.13のよい構成にして、セキュリティをアップしたいからです。
LANにぶら下がっているPCとサーバーを分離して少しでもハッキングしにくい環境にしたい
ということです。
(と、毎度の事ながら軽いノリで始めたのですがそうは問屋は下ろしませんでした・・・・本当に今回は難産でした。)


3.まずはケーブルを引き回そう

ところで、今までの我が家のPCの構成はNo.1で書いたように1階と2階に分散しています。
                ↓こんな感じです。


今回、新しく増えたサーバーを1階に置くか、2階に置くかかなり悩んだすえ、2階に置く事にしました。
一階にはノートとはいえ、サーバーを置くスペースがないのと、2階にメインPC(とーさんPC)がある
関係上、サーバーを2階で集中管理したかったからです。
一瞬、一階で空いている収納扉に放り込もうか、とも思いましたがいくら難燃材を使っているとはいえ
万が一サーバーが暴走→発熱したときに見えないところにあるのはまずかろう、という事で思いとどまりました。

ということで新しい我が家のPCの構成をこのようにすることにしました。
                 ↓


ISDNの電話回線を1階でルーターで受けた後、外を這わせて2階に持っていき、
新しくした外部公開用サーバーからハブを通して再び1階のハブにつなぐという構成になっています。
うーーん、めんどくさい!LANケーブルを二度も1階と2階の間にはわすのかぁ。かんべんしてくれ!
と文句をいいそうになりましたが、決めたのは自分でした。 (^_^;)
しかたなく20mのLANケーブルを買ってきて、エアコンや換気扇のダクトの隙間にケーブルを押しこんで、押しこんで、押しこんで、
何とか配線工事を終了しました。


4.さぁ、機材の準備だ

さて、次は新しく必要になる機材の買出しです。今回はルーターとLANカード2枚買ってきました。
気が付くとすべてcorega製です。今回ルーターとLANカード1枚は100BASE品を買ってみました。(落とし穴1)
これはきたるべきブロードバンドに備えてって事ですが2枚買わなかったのは失敗でした。なんか中途半端ですね。
LAN製品って色んなメーカーが似たような機種と価格でラインナップを揃えていますが、なぜかcoregaを買うことが
多いです。黄色いケースに惑わされてしまうのでしょうか? (^_^;)




5.まずはLANカードのセッティング・・・・あれ??

せっかくLANケーブルとルーターも買った事だし、今の構成のまま新しいルーターとカードを使ってみました。
これって単にLANカードをインストールして、ローカルIPアドレスとMACアドレスの関連付けを再設定する
だけなので(No.2参照)、ものの30分もあれば終わるだろう、と作業を始めたのですが、これがどうして
LANカードが動きません。
あーでもない、こーでもない、と4時間ほどかかって、Windows上のネットワーク上のハードウェア設定を
デフォルトのAuto-Negotiationから10BaseT(Twisted Pair)にするとちゃんとつながるようになりました。
                   ↓


大元のルーターも他のPCのLANカードも10Baseなので特に損をしているわけでは
ないのですが10Baseか100Baseか自動で判別してくれるはずなのになぁ。
納得できないものがありますが、動き出したので一旦はよしとしました。

※ プロクシを立ち上げた後”Auto-Negotiation”に戻したらちゃんと動くようになりました。
  一体なんだったんでしょうね??(2001,8・19追加)


6.プロクシサーバーは何使おう?
LANカードも動くようになったし、いよいよプロクシとして使うソフトの選定です。
インターネットで探してあーでもない、こーでもないといくつかピックアップしました。

Proxy
機能
キャッシュ
機能
ダイアル
アップ
www
サーバー
メール
サーバー
価格 コメント
WinGate × × 21,000円/6ユーザー
(スタンダード版)
高機能。ただしプロクシ機能を使うにはスタンダード版
を買う必要あり。高くて手が出ません。 (T_T)
Proxy伝説
(HTTPのみ)
△? × × 500円(シェアウェア) HTTPプロクシとしてはよさそうだけどFTPとメールが
使えないのは今回の目的を考えると厳しい。
BlackJunboDog フリーウェア 旧名WinProxy。とにかく多機能。
単語を設定してその単語が登場するサイトを閲覧禁止
にする、という機能とかもある。
AN HTTPD
× × フリーウェア 言わずと知れたwwwサーバーの老舗。
私も使っております。

こうやってみるとBlackJunboDogはフリーのなのにメールサーバーまでついているというのは心引かれるものがあります。 (^_^)
ここのドキュメントページは親切な解説書がてんこ盛りでとても役立つ情報が満載です。一読の価値あり!です!!

と、色々比較してみましたが私の非力なサーバーでソフトを増やして行くのは難しかろう、
ということでまずはwwwサーバーとして使っているAN HTTPDのプロクシ機能を使ってみる事にしました。
せっかくプロクシの機能もあるんだし、メモリー容量削減するためにも使わにゃ損々、って感じです。


7.LANの構成を大幅変更だ!!←ここが肝です

プロクシを導入するに当たりLANの構成を大幅に変える必要があります。
今回、AN HTTPDの作者である中田さんより助言をいただきこのような構成にしました。
NICというのは”Network Interface Card”(=LANカード)のことで、一つのPCにNICを二枚使うことを
NIC2枚挿しと呼ぶそうです。(知っていると物知りに見える便利な言葉。 (^_^;) )

− プロクシを導入したときのLANの構成 −


ポイントはですねぇ、領域1と領域2でIPアドレスの構成を変える、ということです。
具体的にいうと領域1は192.168.1.*、領域2は192.168.5.*にします。
この1.*と5.*のところは領域1と2でそれぞれ違う数字さえいれれば問題はないそうです。
こうすればサブネットマスクは255.255.255.0なので領域1と領域2はネットワーク的に分離する事ができるということみたいです。
ルーターが管理しているのは外部公開用サーバーのみでそのほかのローカルのPCはすべてプロクシ経由でインターネットにつながるようになります。
なーるほど、それでセキュリティが向上するのか!いまさらながら納得!!

こういうことってTCP/IPの基礎で、プロクシを入れるときには”当たり前のお約束”のようです。
しかし、基礎が出来ていない私にとってはまったく思い浮ばず、中田さんに教えていただくまでは
こんなことをやっていました。ほんとにお恥ずかしい限りです。中田さん、重ね々ありがとうございました。


8.ソフトの設定をしよう
つぎはソフトの設定です。
これもめんどうですがこまめに設定していきます。

- AN HTTPDの設定(サーバー側) −

1)プロクシ
AN HTTPDの設定は例によって”いとのページ”のプロクシとAN HTTPDのドキュメントを
参考にさせていただきました。



”サーバーIPアドレス”には領域2につながっているNIC2のIPアドレスを書きこみます。
”FTPユーザー名”はブラウザ上でFTPを使いプログラムやデーターをダウンロードするときに使うそうで
通常はユーザー名 ”anonymous”、パスワード 自分のメールアドレスでよいようです。
プロクシで追加、作製するヘッダに関してはチェックしていないとプロクシの匿名性が上がって不正利用
されたときにまずいのでチェックはつけたままにします。

2)ゲートウェイ
これも”いとのページ”のゲートウェイとAN HTTPDのドキュメントを参考に設定をしました。
メールの設定はちょっとめんどくさいですが説明通りにやれば問題なし。
FTPの設定は何もやらなくてもOKです。

3)キャッシュ
使うかどうか迷ったのですが、ブラウザにもキャッシュ機能があるし、今回は使わない事にしました。
なのですべてノーチェックです。

4)SOCKS
SOCKSとは何物?聞いた事あるけど知らないぞ?ということで調べてみたら、
”インターネットからLANへの侵入を防ぐファイアウォール技術の1つでSOCKSを実装したプロクシはファイアウォールとして機能し、
インターネット上のアプリケーションサーバーからLANのアクセス元のIPアドレス情報を知ることができなくなる。
SOCKSを使うにはプロクシとブラウザ・FTPクライアントの両方が対応していなければならない。”
って事だそうです。IEやNetscapeなどのブラウザはSOCKSに対応しているそうなのでこれは使えるかも知れない。
ってことで一通りチェックマークをつけて機能を有効にしました。

5)アクセス制御



デフォルトは”127.0.0.1, 192.168.*.* ”ですが実際に使うのはプロクシにぶらさがっているローカルPCだけなので
具体的にローカルPCのIPアドレスをずらずらと並べてみました。


- ルーターの設定−
やったのはフィルターを外したくらいで(というか、ルーターの電源を一瞬切ったらフィルターの設定が飛んじゃっただけなんですが、 (^_^;) )
それ以外、特に設定を変えなくていませんがちゃんと動作しました。


- ZoneAlarmの設定(サーバー側) −
ローカルPCのIPアドレスを買えたので、
No.11 セキュリティを考えてみよう2(ZoneAlarmを使ってみる)のここの設定をなおします。
これをやらないとローカルPCからプロクシにリクエストを出すたびに警報がでてうっとうしいです。


- LANカードの設定(サーバーのNIC2とクライアント側全部) −
”No.6 やった公開できたぞ”のここでLANカードのゲートウェイとDNSを設設定していましたが、
領域2ではルーターとは関係なくなるのでこのゲートウェイとDNSの設定を外してしまいます。
(この情報はBHLさんから教えていただきました、ありがとうございました。 >BHLさん)

※ ただし、サーバーのNIC2のDNSを外すとNIC1の方もDNSの設定がなくなってしまうので
  サーバー側のNIC2のみDNSの設定を残しました。
  とりあえずそれで動いていますがそういう考え方でいいんですかねぇ。


- ブラウザの設定(クライアント側) −
これも再び”いとのページ”のプロクシを読みながら設定します。
IEの場合は、

 ツール→インターネットオプション→接続→LANの設定

の”プロクシサーバーを使用する”にチェックを入れて、上の例だと、
 アドレス=192.168.5.30、ポート=8080
に設定します。

ネットスケープの場合は、

編集→設定→詳細→プロキシ→”手動でプロキシを設定する”をチェック→詳細

上の例だと、
 アドレス=192.168.5.30、ポート=8080
に設定します。

これでだけ設定してからいつものようにブラウザーを立ち上げ適当なホームページにアクセスしてみると、、、、

おぉ、ちゃんと表示するじゃぁないか!感動!!!!

まずはブラウザはプロクシ経由で動くようになりました。第一関門突破! (T_T)←感涙


- メールの設定(クライアント側) −
これも再び”いとのページ”のゲートウェイを参考に設定をしました。

POP3とSMTPサーバーの設定欄はプロクシのIPアドレス(上の例だと192.168.5.30)にして、
メールのアカウント名に”ユーザ名#POP3サーバ名”を設定します。
(ユーザー名とPOP3サーバー名を分離する文字は”@”と”#”のどちらでもOK!)
これで恐る恐るメールソフトを立ち上げて受信してみると、

おぉ、ちゃんと受信できるじゃぁないか!感動!!!!

返す刀で適当にメールを送ってみると、

おぉ、ちゃんと送信できるじゃぁないか!感動!!!!

というわけで第二関門突破!! (T_T)^2←感涙

なんか、調子が出てきたぞ。


- FTPクライアントの設定(クライアント側) −
これも”いとのページ”のゲートウェイに書いてあるように、FTPクライアントソフトの設定を変えます。
FTPサーバー名をプロクシのIPアドレス(上の例だと192.168.5.30)にして、 
ユーザ名に”FTPユーザ名@FTPサーバ名”を設定します。
こうしておいてFTPクライアントソフトを立ち上げFTPサーバーにつなげてみると、

おぉ、ちゃんとつながるじゃぁないか!感動!!!!

返す刀で適当にファイルの送受信をやってみると、

おぉ、ちゃんとファイルを送受信できるじゃぁないか!感動!!!!

というわけで第三関門突破!!! (T_T)^3←感涙

(しつこいっスか?でも、うれしかったので何度もやってみました。 (^_^;) )
屈折3週間。何とかプロクシサーバーが立ち上がりました。
Pentium133MHzのサーバーでは極端にスピードが遅くなったりしないだろうか?と心配していましたが、
気持ち遅くなったような気がするだけで大勢に影響はないようです。あーー、よかった。
これもみなみなさまのご助言のおかげです。ありがとうございました。
設定を済ませて使っている分には今までと変わりないですが、すべてプロクシサーバー経由で
インターネットから情報を持って来ているかと思うと不思議ですね。
「偉いぞプロクシサーバー!縁の下の力持ち!!」と励ましたくなります。

※ と、何とかプロクシも動作し始めて快適に使っているわけですが一点おかしな現象が出ています。
   パソコンの電源をオフしたあと、即、再起動をして使い出すとブラウザーやメールの動作が極端に遅くなるのです。
   遅くなるというよりつながらなくなると言ったほうがいいかもしれません。
   この現象は、
    ・パソコンの電源を切ってから1時間ほどおいて再起動する。
    ・ローカルPCのIPアドレスを一度変更して再起動→再び元のIPアドレスに設定しなおして再起動
  のどちらかで治ります。
  これってプロクシの問題というよりもLANの問題という気がしていますが根本的な解決方法がわかりません。
  ”原因はこれじゃないか?”と心当たりがある方はぜひともこちらまでお教え下さいぃぃ。
                         ↓
※ その後、ハブ1とハブ2を入れ替えても変化なし。→ハブの問題ではなさそう。
  次にサーバーのNIC2を別のLANカードに交換したら状況はだいぶ改善されました。
  (今までは再起動すると100%遅くなっていたのに、ちゃんと使えるようになった。
   ただし、2回、3回と再起動を繰り返すと再び遅くなる。)
  そーいや、NIC2に6年くらい前の古いLANカードを使ったらPC起動後15分くらいで
  サーバーにアクセスできなくなる、という問題が発生したこともありました。
  これっていわゆる相性の問題ってやつなんでしょうか?
  とりあえず程度がいい方のLANカードを使う事にしました。(2001,8・19追記)

というわけで、次回に続く...

←戻る  進む→
ホームに戻る