第五部 考慮事項

目次


第18章 比較的に一般的な考慮事項

Mozilla について理解しておく必要がある事柄をあげます。 幾つかはフリーソフト/オープンソースであるが故の特徴について。 残りの幾つかは Mozilla が持つ少々ややこしい事情に由来する誤解についてです。

18-1. Mozilla には保証がありません。

Mozilla はフリーソフトです。

Mozilla はその性格上、欠陥が無い事や仕様の通りに動作するかどうか、またユーザの目的通りに動作するかどうかは一切保証されません。

まさに「あるがまま」に提供されます

開発チームやテストに参加しているテスタにより Mozilla のテストが行われていますが、あらゆる条件の環境下におけるあらゆるテストが行われているわけではありません。 また、バージョンによっては開発途中の機能が試験的な意味で組み込まれている場合もあります。

このソフトウェアになんらかの欠陥が含まれていたとしても、仮に欠陥が存在する可能性が予め予告されていたとしても、充分に動作しなくても、その欠陥自身とそれが原因による直接的および間接的な損害については、Mozillaの配布元である mozilla.org やその開発者,提供者,当文書の著者などの関係者は一切の責任を負いません。

Mozilla の使用の可否は、使用を検討するユーザ自身の責任において決定してください。


18-2. Mozilla にはサポートサービスがありません

Mozilla はオープンソースとして全世界に向けて公開されています。 しかし、mozilla.org が想定する対象は開発者です。 (開発を行う者、テストを行う者、評価を行う者などを含めた広義の意味での「開発者」です)

Mozilla にはエンドユーザ向けのサポートサービスやエンジニア向けのテクニカルサービスは公式なものがありません。 mozilla.org にはその準備がありません。 (しかし mozilla.org にはエンドユーザ向けと銘打ったドキュメントは幾つかあります)

End user documentation
http://www.mozilla.org/docs/end-user/index.html
エンドユーザー資料
http://jt.mozilla.gr.jp/docs/end-user/index.html

インターネットやその他の場所には Mozilla の開発に関わっているエンジニアやテスト作業者あるいはユーザ同士で形成されているコミュニティや幾つかの Webサイトがあります。 それらではサポートに類似する情報交換が行われていますが、公式なものではありません。 それらは各コミュニティの参加者一人一人の貴重な自助努力と相互支援です。

コミュニティや Webサイトへ参加することによりサポートに類似した恩恵を得ることは可能ですが、企業などの営利活動に基づくサポートではないことに注意してください。 なにかの助けを求めたとしても応答があるとは限りません。 もちろん多くの場合は良い応答を得ることもできますが、その応答を行う責務を負う立場の者はいません。

なお、企業や団体が mozilla.org の成果を利用した派生製品をリリースしており、それらの中にはエンドユーザ向けのサポートを行っているものがあります。 たとえば Netscape は Mozillaを元に Netscape 6/7 を作成し、そのブラウザのエンドユーザ向けのサポートを提供しています。 更に Netscape はカスタマイズブラウザの配布の手助けを請け負っています。 (詳しくは Netscapeサイトや Nestcape 6/7 のヘルプをご覧ください) Netscape 以外にも類似した製品をリリースする企業や団体があるようです。


18-3. mozilla.org は Netscape ではありません(Netscape は mozilla.org ではありません)

よく誤解されますが、「第1章 Mozilla とは?」-「1-2. Netscape と mozilla.org」にあるように、mozilla.org と Netscape は異なる団体です。 Mozilla プロジェクトは Netscape の社外プロジェクトとして始められ、今でも多くの Netscape のエンジニア達が関わっていますが、それでもなお mozilla.org は Netscape ではありません。 Netscape はコミュニティの一員として mozilla.org の活動に加わっています。

Netscape の製品計画に mozilla.org は関与していません。 Netscape 6/7 のリリース作業を行っているのは mozilla.org のコミュニティではなく Netscape です。

mozilla.org による Mozilla Seamonkey のリリース計画は Netscape の製品計画から独立しています。 mozilla.org の開発スケジュールに対して Netscape はコミュニティの一員として意見を出すことはあるかもしれませんが、Netscape に決定権がある訳ではありません。


18-4. Mozilla は Netscape 6/7ではありません(Netscape 6/7 は Mozilla ではありません)

よく誤解されますが、Mozilla と Netscape 6/7 は別のソフトウェアです。 Netscape 6/7 は mozilla.org の成果である Mozilla をベースとして開発されていて、その構造は殆ど同じものです。 そういった意味では同じソフトウェアと言うことも出来ますが、幾つかの理由により別のソフトウェアと考えるべきです。

なお、Netscape 7 は 2002年5月23日現在は Preview Release 1 のみが存在し、これは一般のエンドユーザ向けではなく早期に評価を行いたいユーザに向けて公開されているものです。 正式な Version 7 ではなく、Netscape 6 と同等のサポートなどのサービスがない点にご注意ください。


第19章 セキュリティに関する考慮事項

Mozilla のセキュリティ面について考慮しておく方がよい事柄をあげます

なお、Mozilla のセキュリティに関する情報は下記にあります。

セキュリティ情報
セキュリティ情報
http://www.mozilla.gr.jp/docs/security/
Known Vulnerabilities in Mozilla
http://www.mozilla.org/projects/security/known-vulnerabilities.html
mozilla.org のセキュリティへの取り組みについて
Security Projects
http://www.mozilla.org/projects/security/
セキュリティプロジェクト
http://jt.mozilla.gr.jp/projects/security/
Mozilla.org's security bug policy(Handling Mozilla Security Bugs)
http://www.mozilla.org/projects/security/security-bugs-policy.html

19-1. プライバシーを理解する

mozilla.org が公開している文書をぜひご一読ください。

UNDERSTANDING PRIVACY
http://lxr.mozilla.org/mozilla/source/extensions/wallet/editor/privacy.html
プライバシーを理解する
http://jt.mozilla.gr.jp/lxr/mozilla/source/extensions/wallet/editor/privacy.html

19-2. 第三機関による検証がありません。

Mozilla は mozilla.org とその活動への参加者達により設計・開発・テストが行われています。 しかし、その設計やテストがセキュリティの面で充分であるかを mozilla.org や参加している開発者およびテスタ以外の第三機関が検証した事例を著者は知りません。 米国政府出資のイニシアチブが発足されましたが、日々変更され続けるプロジェクトに対してどの程度の効力をもつのかは不明です)

オープンソースは、数多くの開発者が参照しますので多くのバグは発見され修正されます。 しかし、そこに関わる開発者の全員がセキュリティの専門家という事はありません。 そしてセキュリティの専門家は、そう多くは無いのです。

最近になって Mozilla のセキュリティ問題が報告されるという事例が幾つか現れました。 このことは「セキュリティ問題が報告された」という事以外に意味はなく、「やっとみつかるくらいだからセキュリティ問題は少ない」と考えるのは大きな誤解です。

Mozilla以外のソフトウェアと同様に、Mozilla が未知の問題を含んでいる可能性は当然あります。 昨今の Webブラウザはショッピングサイトなどといった個人情報や財産情報を扱う用途にも使われます。 そのような場面においては重要な情報を使っているという事を充分に理解しておくべきです。


19-3. プロファイルのアクセス権限

プロファイルが保存されるディレクトリには大切な情報が保存されます。 たとえばパスワード情報です。 他にもプラバシーの観点から考えると、ブックマークやフォーム補完用データ,アクセス履歴やキャッシュ,プリファレンスファイル(prefs.js, user.js)なども大切なデータです。

マルチユーザOSにおいては Mozilla はプロファイルを Mozilla の実行ユーザのホームディレクトリに作成します。 マルチユーザOSではそのホームディレクトリは同じコンピュータを利用する他のユーザからアクセスできないようにアクセス制御が行われますので、プロファイルは保護されます。

しかし、ある環境では幾つかの理由によりホームディレクトリが同じコンピュータを利用する他のユーザからも見ることができるように設定されている場合があるかもしれません。 そのような環境ではプロファイルディレクトリが保護されず、他のユーザからのアクセスを許してしまいますので、プロファイルのアクセス権限をチェックするようにしてください。 また、たとえマルチユーザOSであってもプロファイルをデフォルトの場所以外の場所に作成した場合は同様の問題を持つ可能性があります。

なお、一部の OS ではアクセス制御の仕組みを持たないためためにアクセス制御によるプロファイルの保護はできません。 これは OS のファイルシステムの問題です。 回避できません。


19-4. 保存したパスワード情報

Password Manager で保存したパスワードはハードディスク上のデータファイルとして保存されます。 そのファイルは暗号化機能により保護することができますし、マスターパスワードによる保護もあります。

しかし、コンピュータを直接操作してそのデータファイルへ直接アクセスしてファイルをコピーするような行為までは、それらの機能で保護することはできません。

昨今のコンピュータの技術進歩を考えると、暗号化機能を使ってパスワードを暗号化していたとしてもそれが長期間にわたって破られないという保証は残念ながらありません。 (突破が可能であるという事ではなく、可能性が無いとは言えない、です) 利用状況によっては、必要に応じて Password Manager を使って保存している情報を削除するなどの配慮が必要になるかもしれません。


19-5. cookie(クッキー)

第16章 Preferences - Mozillaの設定について」-「16-5. Privacy & Security(プライバシとセキュリティ)」-「Cookies(クッキー)」に、cookie に関する設定があります。

cookieは Webサイトと Webブラウザの間で小さなデータをやり取りするデータのことで、会員制サイトやオンラインショッピング、掲示板やニュースサイトなどで用いられています。 会員制サイトなどでは Webサイトへアクセスするユーザを特定するための方法として cookie が用いられています。 しかし、その情報の扱い方によってはユーザのアクセス状況を調査することもできるため、そのような行為についてはプライバシーの問題として認識されています。 (全てのcookieが不適切ではなく適切な cookieもあることに注意してください)

Mozilla は Cookie の扱いについて、3つのルールから一つを選択することができます。 「全てを受け入れる」「アクセスしているサイトからの Cookieのみを受け入れる(それ以外のサイトからの cookieは拒否する)」「Cookieを全て拒否する」の3つです。 cookieを受け取りたびに警告画面で知らせるようにも設定することができます。

個人のプライバシーのポリシーの問題でもありますので、各自で判断するようにしてください。


19-6. ftpサイトへのパスワード

第16章 Preferences - Mozillaの設定について」-「16-6. Advances(詳細)」-「Advanced(詳細)」に ftpサイトへアクセスするときにftpサーバへ送信するパスワードを設定する項目があります。

古くからのやり方では ftpサイトへアクセスするときのパスワードは自分のメールアドレスを使います。 これは ftpサイトから利用者への連絡先として使われることを意図しているようですが、それ以外の用途に転用される危険性を懸念してメールアドレスを送信したくないと考える人も居ます。

個人のプライバシーのポリシーの問題でもありますので、各自で判断するようにしてください。 Mozilla はメールアドレスを送信する方法と送信しない方法の両方をサポートしています。


19-7. User Agent 文字列の送信

Webブラウザが Webサイトへアクセスするとき、Webサーバに対して Webブラウザの情報の一つとして「User Agent 文字列」を送信します。 User Agent 文字列とは、Webブラウザの種類を特定することができる名前です。

Webサーバ側では殆どの場合はアクセスのログを記録しており、その中に User Agent 文字列も含まれます。 この情報は Webサーバ側でアクセス統計を行ったり特定のブラウザに対する特別の応答などを行うための手がかりとして利用することが想定されていて、この情報を Webブラウザが送信することが http/1.1 で求められています。 (RFC 2616: 14.43 User-Agent)

しかし、その情報を利用してセキュリティの問題を持つブラウザに対してのみ特定の攻撃を仕掛けるという事も可能であるため、セキュリティの問題に慎重な人の中には本当の User Agent 文字列を送信したくないと考える人もいます。

user.js に下記の内容を記述すると User Agent 文字列を変更することができます。 (記述する内容には詳細な仕様があります。 詳しくは RFC 2616 などを参照してください)

user_pref("general.useragent.override", "User Agent 文字列");

19-8. http の Refrerrer の送信

Webブラウザが Webサイトへアクセスするとき、直前に表示していた Webページの URL を Referrer 情報として Webサーバに対して送信します。 これは場合によってはセキュリティの問題やプライバシーの問題となりますので、Webブラウザにはこの情報を送信するかしないかを設定する機構が求められます。 (RFC 2616: 15.1.2 Transfer of Sensitive Information)

Mozilla にはメニューなどから設定する仕組みはありませんが、user.js を記述することにより送信の有無を選択することが出来ます。

user.js に以下の内容を記述してください。 value は 0〜2 の数値が求められます。

user_pref("network.http.sendRefererHeader", value);

19-9. JavaScript

Mozilla は Webページに含まれている JavaScriptと呼ばれるスクリプト言語の有効/無効を設定することができます。

Webサイトの幾つかでは JavaScriptを使ってサービスを行っていますので、そのような場面では必要です。 しかし、JavaScriptを使ったイタズラ(Webブラウザのウィンドウを何枚も繰り返し表示して事実上の操作不能状態に陥るなど)に遭遇することを喜ぶ人はいません。 また、ブラウザの JavaScriptの実装のバグや Webサイト側のバグが原因となりセキュリティ上の問題となる可能性もあります。

ここで注意すべきは JavaScriptそのものが危険なのではなく、ブラウザや JavaScriptの実装が正しくなかった場合や Webサイト側のページ内容に問題が発生する点です。 (Webサイト側のページ内容に問題がある場合とは、たとえばクロスサイトスクリプティング脆弱性などが該当します。)

Webサイトにおけるクロスサイト スクリプティング脆弱性に関する情報(情報処理振興事業協会 IPA)
http://www.ipa.go.jp/security/ciadr/20011023css.html
クロスサイトスクリプティング(情報処理振興事業協会 IPA)
http://www.ipa.go.jp/security/awareness/vendor/programming/a01_02.html

以上の理由から JavaScriptを無効にした方が良い場面もあります。


19-10. ゾーンに基づいた JavaScript ポリシー

Mozilla のゾーンポリシー機能は、Webサイト毎(ゾーン毎)に JavaScript の振る舞いを制御するもので、JavaScript のオブジェクトとメソッド毎に利用を禁止することができます。

user_pref("capability.policy.default.Window.open", "noAccess");

例えば上記の例では、Window オブジェクトの open メソッドへのアクセスを禁止し、セキュリティマネージャが JavaScrirptの例外を発生させます。 default 部分がポリシー名(ゾーン名)を指定する個所です。 default は標準のゾーンとして予約されている名前で、全ての Webサイトおよびゾーングループに対して効果を表します。

特定のサイトに対して設定を行う場合、例えば www.foo.org に対して制御を行う場合は以下のように設定します。

user_pref("capability.policy.policynames", "strict"); // ポリシー名(ゾーン名)の定義
user_pref("capability.policy.strict.sites", "http://www.foo.org"); // サイトの登録
user_pref("capability.policy.strict.Window.alert", "noAccess"); // アクセス制御

アクセス制御のキーワードは以下のものがあります。

より詳しい制御方法については以下のドキュメントを参照してください。

Configurable Security Policies
http://www.mozilla.org/projects/security/components/ConfigPolicy.html
設定可能なセキュリティポリシー
http://jt.mozilla.gr.jp/projects/security/components/configPolicy.html

はじめての Mozilla 1.0
もじら組(mozilla-gumi) Copy All Rights Reserved.