このサイトの「ホームページ」
『PHPサイバーテロの技法──』 まずは攻撃方法を学ぶ : 亜細亜ノ蛾 で紹介した本を読んで、セキュリティの勉強中です。よくよく考えたら、このサイト上には放置してある Web アプリケーションが結構あります。MT の事ばかり情報を集めてきましたが、放置してある Web アプリケーションに脆弱性があった場合、いくらでも悪意のある攻撃を受ける可能性があります。──いままで目立った被害がないのは、単なる幸運と考えた方がいいですね。というか、現在進行形で情報を抜き取られている可能性も……。
ということで、このサイトの顔であるトップページからセキュリティ対策を施すことにしました。誰も(スパマ以外は)知らないと思いますが、このサイトの「ホームページ(入り口)」は XOOPS v2 で作られています。──まぁ、現在(数年前から)リニューアル中でたいした物は置いてませんが。
今日までトップページは XOOPS 2.0.7 で構築していました。──これって結構古いのかな、と XOOPS の日本公式サイトを見てみました。
XOOPS Cube日本サイト – Simple, Secure, Scalable
──ん? いつの間にか、XOOPS v2.x 系は「XOOPS Cube」という名称になっている? と思って XOOPS Cube日本サイト – ダウンロードを見てみると、
- XOOPS v2.0.x 系 : XOOPS v2
- XOOPS v2.1.x 系 : XOOPS Cube
という名称のようです。XOOPS v2 の最新バージョンは「XOOPS 2.0.16a JP」とのこと。──「XOOPS 2.0.7 < XOOPS 2.0.16a JP」なのが微妙に違和感がありますが、「7 < 16」ということですね。かなり古いバージョンで放置していたことが判りました。さっそく対策として、XOOPS をバージョンアップすることにしました。
──まさかこんなに苦労するとは思いもよらず……。
asiamoth てきな XOOPS アップグレード
「XOOPS 2.0.7」(自分の場合)から「XOOPS 2.0.16a JP」(最新バージョン)にアップグレードする方法を紹介します。必要なファイルはすべて、上記の「ダウンロード」ページにあります。
まずは公式のアップグレード方法です。
- 「XOOPS 2.0.7→2.0.10 JP」をダウンロード、上書きアップロードする
- 「XOOPS 2.0.10/2.0.10.1/2.0.10.2 JP →2.0.11 JP」をダウンロード、上書きアップロードする
- 「XOOPS 2.0.11/2.0.11.1 JP→2.0.12 JP」をダウンロード、上書きアップロードする
- 「XOOPS 2.0.13 JP→2.0.13a JP」をダウンロード、上書きアップロードする
- 「XOOPS 2.0.13/2.0.13a JP→2.0.14 JP」をダウンロード、上書きアップロードする
- 「XOOPS 2.0.14/2.0.14a JP→2.0.15 JP」をダウンロード、上書きアップロードする
- 「XOOPS 2.0.15 JP→2.0.16a JP」をダウンロード、上書きアップロードする
ちょ w しかし、これはネタではありません。それぞれのアップグレードに必要なファイルしか同梱されていないので、一つでも手順を抜かすとアップグレードに失敗する、はずです。XOOPS 2.0.7 よりも古いバージョンを使っていた場合は……。
しかも、XOOPS Cube日本サイト – 重要ニュース : XOOPS 2.0.16a JPリリースに書いてあるアップグレード方法をみると、
から延々と「こちらのニュース記事をご参照ください」でたらい回しにされます。ちょっとこれは、ヒドいなぁ。
XOOPS 2.0.14 JPより前のバージョンからのアップグレード
で、泣きながら(嘘)上記の手順でアップロード完了したのですが──トップページが真っ白になりました。幸いにして管理画面にログオン状態でアップロードしたので、管理画面は操作可能なのですが、何をやってもトップページや Wiki が見られない。すべてのモジュールが閲覧不可、まったく何も出力されない状態になっていました。
ということで、実際に自分が行ったアップグレード方法は、
- 「XOOPS 2.0.16a JP コアパッケージ(安定版)」を ダウソロード
- 何も考えずに上書き うp
- 運を天に任せて待つ
──で、けっきょく上手く行きました。アップグレードの場合に重要なのは“mainfile.php”を保守することですね。この中にデータベースへの接続情報などが入っています。
XOOPS Protector
XOOPS ユーザは、前述の PHPサイバーテロの技法―攻撃と防御の実際の著者、GIJOE 氏のサイトは必見です。
PEAK XOOPS Support&Experiment – XOOPS site for my test and support で公開されている XOOPS v2.x 用モジュール「XOOPS Protector」は是非とも導入しましょう!
このモジュールでは、以下の攻撃を防ぎます。
- DoS
- 悪意あるクローラー(メール収集ボットなど)
- SQL Injection
- XSS (といっても、ごく一部のパターンだけですが…)
- システムグローバル変数汚染
- セッションハイジャック
- ヌルバイト攻撃
- ディレクトリ遡り攻撃
- いくつかの危険なCSRF (XOOPS 2.0.9.2以下に存在するもの)
- Brute Force (パスワード総当たり)
- 拡張子偽装画像ファイルアップロード (すなわち、IE Content-Type XSS)
- 実行可能なファイルをアップロードする攻撃
- XMLRPC関連
これらの攻撃からあなたのXOOPSを守り、ログに記録します。
コメント
>XOOPS Protector
昔むかし、これをインストールして、自分をスパマーとして弾いてしまった人が居ましたとさ。
今日は3時間でさーばー(なぜかPerl部分のみ)落ちた・くそスパマめ!
最近403を返すサーバ多いんだけど・・・、みんな御隠れになってるんでしょうか?