ja:security
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
wiki:ja:security [2008-06-13 05:52] – formatting fix... denden | ja:security [2014-09-30 03:12] (現在) – [IIS でのディレクトリへのアクセス拒否] sawachan | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | |||
+ | ====== セキュリティ ====== | ||
+ | |||
+ | DokuWiki は Web アプリケーションであり、多くの場合インターネットから到達可能な公開サーバ上で利用されています。これは、例えばデスクトップシステム上のローカルアプリケーションに比べると、悪意のある人々から攻撃されるリスクがより大きいということを意味します。 | ||
+ | |||
+ | DokuWiki はセキュリティを念頭に置いて開発されています。私たちはユーザビリティとセキュリティのバランスを取ろうと試みていますが、満足のいく妥協点が見つけられない場合はセキュリティを優先しています。 | ||
+ | |||
+ | このページでは、あなたの DokuWiki が安全であることを確認するためにはどのような面に気を配らなければならないのかについて、概要を説明します。 | ||
+ | |||
+ | ===== 報告と通知 ===== | ||
+ | |||
+ | DokuWiki にセキュリティの問題を発見した場合は、私たちにお知らせください。推奨される通知方法は以下の通りです。 | ||
+ | |||
+ | * [[: | ||
+ | * [[: | ||
+ | * [[andi@splitbrain.org]] 個人宛てにメールを送る | ||
+ | |||
+ | 非常に重大な、パッチが提供される前にバグを公開することで世界中の DokuWiki を危険にさらしてしまう可能性があるようなバグを除き、最初の 2 つの方法が推奨されます。 | ||
+ | |||
+ | これまでのすべてのセキュリティの問題は、[[http:// | ||
+ | |||
+ | 発見されたセキュリティの問題の重大性によって、将来のリリースの中で修正されるか (非常に小さな問題の場合)、もしくはバグ修正版リリースが作成されることになります。後者の場合、ユーザーには[[: | ||
+ | |||
+ | 古いバージョンの DokuWiki に対してはセキュリティ問題の修正が一切リリースされないため、**常に**最も新しいバージョンの DokuWiki を利用するべきです。 | ||
+ | |||
+ | ===== Web アクセスのセキュリティ ===== | ||
+ | |||
+ | DokuWiki は、設定データとページデータをファイルに保管します。これらのファイルは、絶対に Web から直接アクセスできてはいけません。DokuWiki の配布用 tar ボールには、通常 Apache Web サーバに対して特定のディレクトリへのアクセス拒否を指示するための '' | ||
+ | |||
+ | **もし Apache Web サーバを使用していない場合、もしくは Apache が '' | ||
+ | |||
+ | 以下に示すディレクトリは、Web からアクセスできては**いけません**。 | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | アクセス権限を調整する必要があるかどうかを確認するには、'' | ||
+ | |||
+ | もしディレクトリの安全が適切に確保されていない場合は、安全にする方法について、以下に示すサブセクションをお読みください。 | ||
+ | |||
+ | ==== Apache でのディレクトリへのアクセス拒否 ==== | ||
+ | |||
+ | 一番単純な方法は、Apache の設定で '' | ||
+ | [[http:// | ||
+ | |||
+ | DokuWiki には正しく設定された .htaccess ファイルが付属しています。 | ||
+ | 置かれているディレクトリへの全アクセスをブロックする .htaccess ファイルの内容は以下のとおりです: | ||
+ | |||
+ | < | ||
+ | order allow,deny | ||
+ | deny from all | ||
+ | </ | ||
+ | |||
+ | **備考**:Ubuntu で apache2 を使用した場合、.htaccess が機能しない! | ||
+ | |||
+ | 一般的になのか Ubuntu 特有なのか判らないですが、Apache2 は Apache1.x とは若干異なる設定になっているようです。 | ||
+ | |||
+ | /// | ||
+ | (http の代わりに https を使う場合は、// | ||
+ | |||
+ | ファイルには以下があるはずです: | ||
+ | |||
+ | < | ||
+ | NameVirtualHost * | ||
+ | < | ||
+ | ServerAdmin admin@site.com | ||
+ | |||
+ | DocumentRoot /var/www/ | ||
+ | < | ||
+ | Options FollowSymLinks | ||
+ | AllowOverride None | ||
+ | </ | ||
+ | < | ||
+ | Options Indexes FollowSymLinks MultiViews | ||
+ | AllowOverride none | ||
+ | Order allow,deny | ||
+ | allow from all | ||
+ | </ | ||
+ | </ | ||
+ | < | ||
+ | |||
+ | apache の設定を更新するために /// | ||
+ | |||
+ | (See http:// | ||
+ | |||
+ | [全体を変更する代わりに、例えば ''/ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | 他の方法は、'' | ||
+ | '' | ||
+ | '' | ||
+ | < | ||
+ | < | ||
+ | Order allow,deny | ||
+ | Deny from all | ||
+ | Satisfy All | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | // | ||
+ | '' | ||
+ | 私の意見では、.htaccess が利用できないか不十分な場合、ディレクトリ毎の制限をHost の設定ファイル内に直接置くのが最も安全な方法です。 | ||
+ | これ[[http:// | ||
+ | |||
+ | ---- | ||
+ | |||
+ | 例えば、他に wiki インストールがあるとか data|conf|bin|inc ディレクトリを含む別の " | ||
+ | 自分の wiki インストールフォルダーのみに LocationMatch 条件を拡張することで、この問題は回避できます。 | ||
+ | < | ||
+ | < | ||
+ | order deny,allow | ||
+ | allow from all | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | order allow,deny | ||
+ | deny from all | ||
+ | satisfy all | ||
+ | </ | ||
+ | </ | ||
+ | ==== IIS でのディレクトリへのアクセス拒否 ==== | ||
+ | |||
+ | 上記のディレクトリへのアクセスは、IIS の設定で無効にできます。 | ||
+ | |||
+ | IIS8+ (Servers 2012 and 2012R2) の場合: | ||
+ | |||
+ | - "IIS Request Filtering" | ||
+ | - " | ||
+ | - "Allow URL" をクリックします。 | ||
+ | - ポップアップボックスに "/ | ||
+ | - "Deny Sequence..." | ||
+ | - ポップアップボックスに "/ | ||
+ | - /conf/ /bin/ /inc/ ディレクトリに対して、" | ||
+ | |||
+ | {{http:// | ||
+ | |||
+ | IIS7 の場合: | ||
+ | |||
+ | - "IIS Request Filtering" | ||
+ | - " | ||
+ | - "Deny Sequence" | ||
+ | - ポップアップボックスに "/ | ||
+ | |||
+ | "/ | ||
+ | IIS 7.5 の場合、引用符を追加しないで下さい。 | ||
+ | URL 内の /data/media を読むでしょう。 | ||
+ | |||
+ | |||
+ | 注:デフォルトでは、Management Console snap-in for Internet Information Services 7 には "IIS Request Filtering" | ||
+ | [[http:// | ||
+ | |||
+ | 注2:"/ | ||
+ | そうでないと、" | ||
+ | |||
+ | **IIS 7+ の代替方法** | ||
+ | |||
+ | (共用ホストのように)IIS の設定オプションにアクセスできない場合、以下の方法が使用可能です。 | ||
+ | |||
+ | 代替方法1: | ||
+ | |||
+ | DokuWiki ルートディレクトリに次のファイルを配置できます: | ||
+ | |||
+ | <file xml web.config> | ||
+ | |||
+ | <?xml version=" | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | <add url="/ | ||
+ | </ | ||
+ | < | ||
+ | <add sequence="/ | ||
+ | <add sequence="/ | ||
+ | <add sequence="/ | ||
+ | <add sequence="/ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | 代替方法2: | ||
+ | |||
+ | 保護を必要とするディレクトリに次の web.config ファイルを配置できます。 | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | <file xml web.config> | ||
+ | |||
+ | <?xml version=" | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | IIS 6.5 以前の場合: | ||
+ | |||
+ | - 設定用のツールを起動します: | ||
+ | - 保護したいディレクトリまで進みます: | ||
+ | - フォルダを右クリックしてプロパティを選択 -> ディレクトリ セキュリティ -> IP アドレスとドメイン名の制限 -> 編集 | ||
+ | - 「規定では、すべてのコンピュータからの接続を: | ||
+ | - /data/ /conf/ /bin/ /inc/ ディレクトリに対して、これを繰り返します。 | ||
+ | ==== data ディレクトリを変更する ==== | ||
+ | |||
+ | 最も重要なことは '' | ||
+ | |||
+ | 具体的には data ディレクトリの名前を複雑なもの(例:英数字からなるランダムな文字列)に代え、その場所を '' | ||
+ | |||
+ | ==== ドキュメントルート外へのディレクトリの移動 ==== | ||
+ | |||
+ | 上述のディレクトリへのアクセスを避けるための最も安全な方法は、これらのディレクトリを、Web サーバのいわゆる「ドキュメントルート」の外側に移動してしまうことです。 | ||
+ | |||
+ | === data ディレクトリ === | ||
+ | |||
+ | - '' | ||
+ | - 新しい '' | ||
+ | |||
+ | 例えば、'' | ||
+ | |||
+ | $conf[' | ||
+ | |||
+ | === conf ディレクトリ === | ||
+ | |||
+ | - '' | ||
+ | - '' | ||
+ | |||
+ | 例えば、'' | ||
+ | |||
+ | <code php inc/ | ||
+ | <?php | ||
+ | |||
+ | define(' | ||
+ | </ | ||
+ | |||
+ | === bin ディレクトリ === | ||
+ | |||
+ | '' | ||
+ | |||
+ | === inc ディレクトリ === | ||
+ | |||
+ | '' | ||
+ | |||
+ | ===== DokuWiki の設定 ===== | ||
+ | |||
+ | DokuWiki には、インストールされた DokuWiki の様々なセキュリティ面に影響を与えるいくつかの設定項目があります。それぞれの設定項目が何を行うためのもので、推奨される設定がどのようなものであるかを知るには、以下のページを参照してください。 | ||
+ | |||
+ | * [[: | ||
+ | * [[: | ||
+ | * [[: | ||
+ | * [[: | ||
+ | * すべての[[: | ||
+ | * [[: | ||
+ | * [[: | ||
+ | * [[: | ||
+ | * [[: | ||
+ | * [[: | ||
+ | * [[: | ||
+ | * [[: | ||
+ | |||
+ | ===== プラグインのセキュリティ ===== | ||
+ | |||
+ | DokuWiki には、[[: | ||
+ | |||
+ | 以下に、インストールするプラグインを選ぶ際に役立ついくつかのヒントを示します。 | ||
+ | |||
+ | * インストールする// | ||
+ | * 疑わしい場合は、[[: | ||
+ | * プラグインは、外部から直接アクセス可能な '' | ||
+ | * プラグインは、DokuWiki プロジェクトとは直接関係のない開発者によって作成されています。彼らは経験不足であったり、悪意を持っていたり、危険にさらされたサーバ上でプラグインのソースコードをホストしている可能性があります。あなたが誰を信頼するかについて注意してください! | ||
+ | * セキュリティ警告の言及に備えてプラグインのページを確認し、新しいリリースが利用可能になった場合はプラグインをアップグレードしてください。 | ||
+ | |||
+ | プラグインの[[ja: | ||
+ | |||
+ | ===== アクセス制御について ===== | ||
+ | |||
+ | [[: | ||
+ | |||
+ | ===== 追加の読み物 ===== | ||
+ | |||
+ | 以下に、セキュリティに関する内部および外部のページをもう少し挙げておきます。 | ||
+ | |||
+ | * [[: | ||
+ | * [[: | ||
+ | * [[: | ||
+ | * {{http:// | ||
ja/security.txt · 最終更新: 2014-09-30 03:12 by sawachan