【ページ内/目次】
XREA/CORESERVERの場合の留意点 ↑
2007/11/20以降の最新のインストーラーであれば本欄の作業は無用です。 ↑
恐れ入りますが、2007-10-14 (日) 05:00:58 の段階で、インストーラーには不備があります。
mainfile.php を手動で修正願います。
【修正前】:
define('XOOPS_SSL_SERVER','ss2.xrea.com');
【修正後】:
define('XOOPS_SSL_SERVER','ss1.coressl.jp');
と、なりますように、編集願います。SSL暗号化通信を利用されない場合は無用です。
SSL接続を確認しましょう ↑
個人情報を扱うXOOPSですから、SSL接続をサポートするXREAサーバーを選んだわけです。ですから、最初の段階で、SSL暗号化通信の調整を行いましょう。SSL通信を行わない場合でも、実験しておいてください。SSL通信したくなければ、管理メニューの一ヶ所のパラメーターのYES/NOの切替だけですので。
| 500 |
|
「管理画面のシステム設定メイン」「一般設定」へ向かいます。 |
| 510 |
|
変更するべき個所は3箇所だけです。
|
| 520 |
|
上述の設定にミスが無ければ、XREAサーバーのSSL暗号化通信を即時、利用可能となりますが、 誰でも、ミスはするものです。それでは、ミスからどのようにリカバリーするべきでしょうか。 phpMyAdminを利用しましょう。「 prefix_config 」テーブル*1から、「 conf_name 」フィールドが「 use_ssl 」なデーターを探しましょう。 |
| 530 |
|
左の画像がSSL通信をONにした場合の、ログインブロックメニューです。オリジナル版と、どうやらかなり違います。 オリジナル版では、「ログイン認証のみSSLを利用する」模様ですが、本仕様では次のようになります。
|
| 540 |
|
SSL暗号化通信を行ってログインしてみてください。前のページで解説しました 「 Ujiki.oO製デバッグブロック 」はどうなりましたでしょうか? あなたのグローバルIPアドレスを表示できていないことが判明します! |
匿名プロキシーサーバー接続を禁止させる ↑
【以下の様に mainfile.php を改訂しましょうか】
/* if(XOOPS_XREA == 'on' && empty($_SERVER['HTTP_X_FORWARDED_FOR']))
exit("You may use Anonymous ProxyServer !<br>This site does not support it."); */
以上のコメント符号を削除します。XREAの場合ですが、Webサーバー変数「 HTTP_X_FORWARDED_FOR 」が不定の場合は、SSL通信を拒絶させます。
正しいリモートIPアドレスに書き換えよう! ↑
2007/11/20以降の最新のインストーラーの場合は対応済みです。 ↑
【以下の様に SSL通信中の mainfile.php を改訂しましょうか】
if(!empty($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] != "" && $_SERVER['HTTP_X_FORWARDED_FOR'] != $_SERVER['REMOTE_ADDR']) $HTTP_SERVER_VARS['REMOTE_ADDR'] = $REMOTE_ADDR = $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR'];
以上のコメント符号を削除します。XREAの場合ですが、書き換えられない変数もあります。後はXOOPSの各モジュールが間違った変数を参照しないことを祈りましょう。
正しいリモートIPアドレスに書き換えよう! その2 ↑
XREAサーバーの場合は以上の「SSL暗号化通信時にのみ配慮すれば十分ですが、世の中には、非SSL通信でも、リモートアドレスにローカルエリアなプライベートIPアドレスを返してくるサーバーがあります。例えば「オ○チサーバー」とか・・・・ そのような場合は、非SSL通信側の領域の「 mainfile.php 」のコメント符号も排除する必要があります!
正しいリモートIPアドレスに書き換えよう! その3 ↑
通常、SSL暗号化通信を行う場合は、そのSSLを利用する目的において「個人情報の漏洩の防止」があるわけですので、決してプロキシー経由にしない設定を、自己責任の範囲内によって、利用者のブラウザーで設定を行っているはずです。ここでは、非SSL通信に特化した処理を行います。
プロキシーサーバー経由で非SSL通信を行っている通信の場合には
$_SERVER['HTTP_X_FORWARDED_FOR']
に、接続者のグローバルIPアドレスが設定されると仮定できます。(プロキシーが1代の場合)
$_SERVER['REMOTE_ADDR']
は、プロキシーサーバーのグローバルIPアドレスが設定されると想定できます。(プロキシーが1代の場合)
mainfile.php ファイルに以下のスクリプトを追加しましょう。
define('XOOPS_SSL_CONNECT','off');
の直下に
if(!empty($_SERVER['HTTP_X_FORWARDED_FOR']) // && substr($_SERVER['HTTP_X_FORWARDED_FOR'],0,3)!='192' ) $HTTP_SERVER_VARS['REMOTE_ADDR'] = $REMOTE_ADDR = $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR'];
を必ず設定しましょう。
本設定の必要性とは、当該プロキシーサーバー経由でスパム投稿を検出した場合に、スパム排除モジュールが場合によっては接続IPアドレスをブラックリストに登録し、以後、接続を拒絶する仕組みとなっていますが、
プロキシーサーバーからの接続を拒絶してしまうと、悪意の無い利用者が、当該プロキシーサーバーを利用していた場合に、接続不能となってしまいます。
セキュリティーなり、サイトブロックを目的としている企業や学校では、プロキシーサーバーを利用します。例えば、ある学校の1つの端末より「スパム投稿」を行うことによって、XOOPSのモジュールの判断で接続IPアドレスとして当該プロキシーサーバーを拒絶してしまうと、当該学内全ての端末からの利用を拒絶することとなります。これでは「1人(?)の悪ふざけ(?)」によって、全ての学生と教員にとって弊害を来たします。
前段のスクリプトによって、1次プロキシーサーバーのグローバルIPアドレスで判断しないことは救済を目的として重要な処理と言えます。
|
|
以上の改訂を行った場合、プロキシーサーバーが返してくるIPアドレスがプライベートIPアドレスとなることを想定する必要があります。 左の画像は、XOOPSモジュールの「プロテクター」ですが、項目「信用できるIP」の初期値として、 ^192.168. が設定されています。今後は信頼できないこととなりますから、抜いておきましょうか。
|
もしも mainfile.php の根本が異常となったら。 ↑
迷わず、正規「 mainfile.php 」に戻しましょう。作業前に残したバックアップより復元するのも良し、インストーラーを再起動して、書き換えましょう。文法をミスしたなら・・・・インストーラーの起動が出来ないですね。やっぱり、作業前にはバックアップコピーは必須ですね。
| 550 |
|
上記改訂を行って、もう一度、 「 Ujiki.oO製デバッグブロック 」のレポートを調べてみましょう。どうでしょうか? 少なくとも、間違ったリモートIPアドレスを表示しなくなりましたか? ※ もう一度解説しますが、誤ったリモートIPアドレスが戻ってくるようでしたら、それらグローバルIPアドレスを用いたXOOPSの各モジュールは意味を為しません。 |
protector Version 3.04 に管理者のグローバルIPアドレスを登録するか ↑
includes/vote2007 を参照
| 匿名アンケート | |
|---|---|
| 年齢 | 性別 |
|
年齢・性別はこのPukiWikiで一度だけ
回答ください
|
|
| 本ページは役にたった | |
|---|---|
*1 prefixはみなさんのXOOPSテーブル名と読み替えてください。
添付ファイル:





