japan.internet.com
LinuxTutorial2001年4月14日 00:00
文字サイズ文字サイズ小文字サイズ中文字サイズ大

セキュリティと Apache:初級必読本 4

この記事のURLhttp://japan.internet.com/linuxtutorial/20010414/2.html
著者:Ken Coar
海外internet.com発の記事
Apache のセキュリティ処理フェーズ

Apache では、受け取ったすべての要求はフェーズを通過させて処理している。 Apache の各モジュールは、要求がそれぞれのフェーズを通過する際にそれらを処理することができるが、ほとんどのモ ジュールが属するのは 1 つあるいは 2 つのフェーズだけだ。

Apache にはセキュリティ チェックに関係した 3 つの処理フェーズがあり、それらは次のような順序で移行する。

  1. access_checker このフェーズでは強制アクセスのチェックが適用される。たとえば、 mod_access によって、クライアントの IP アドレスがドキュメントへのアクセスを許可されているか どうかがチェックされる。
  2. check_user_id これは認証フェーズだ。 mod_auth のような DAC モジュールにより、ユーザーの証明情報がデータベース中にあってそれが有効 かどうかがチェックされる。
  3. auth_checker このフェーズでは承認が行われる。 mod_auth などのモジュールにより、上のフェーズで認証されたユーザーにドキュメントへのアクセス が許可されているかどうかがチェックされる。

任意アクセス チェックを課すモジュールは、通常、後の 2 つのフェーズに加わっている。

基本認証とダイジェスト認証
ユーザー名とパスワードはどのようにしてネットワーク中を送信されるのだろうか? 2000 年初頭における状況は、あま りいいとはいえないが、これはデータ送信に関する技術的な問題というよりは、哲学的な問題と言えるだろう。

現在、証明情報の受け渡しには、主に基本認証ダイジェスト認証という 2 つの方法がある。ダイ ジェスト法は非常にセキュアな方法だが、残念なことに実際にはあまり使われていない。 Web 上でのほとんどの認証に は、より低いセキュリティしか持たない基本認証のメカニズムが使われている。

基本認証では、ユーザー名とパスワードを base64 エンコードしたものをサーバーへ送信しているにすぎない。こ れは、通信を傍受すればユーザー名とパスワードを知ることができるということだ。もちろん、それらの情報が正しく て認証に成功しないと意味がないが。一方、ダイジェスト認証では、証明情報は容易にデコードできない方式で送信さ れる。

ユーザー名とパスワードは基本認証のメカニズムではほとんど保護されておらず、複数の保護領域で、ユーザー情報 を格納するために使用される認証データベースは同じものが使われる。ダイジェスト認証メカニズムでは、証明情報が 有効な保護領域の名前がエンコードされるので、ダイジェスト法を使った保護領域では、それぞれ個別の認証データベ ースをもつ必要がある。

Apache の構成時に任意制御を設定するには、AuthType 指示子が必要だ。設定は、より高 位のディレクトリや場所から継承されるが、継承される値はあらかじめ設定する必要がある。デフォルト値はない。

強制および任意制御の組み合わせ Satisfy 指示子
任意および非任意アクセス制御を組み合わせて使いたい場合もあるだろう。たとえば、ローカル ネットワークにいるユ ーザーは自由にドキュメントへアクセスできるが、それ以外はユーザー名とパスワードを入力する必要がある、という 風に設定したいような場合だ。

このような設定を行うには Satisfy 指示子を使う。これは次のようなキーワードを 1 つとる。

All
Satisfy All 指示子が適用されるドキュメントにアクセスするには、クライアントはすべて の非任意チェック (AllowDeny 指示子) および任意チェック (Require 指示子など) の両方にパスする必要がある。
Any
Satisfy Any 指示子が適用されるドキュメントにアクセスするには、クライアントは非任意 チェック (最初に行われる) または任意チェックのどちらかにパスすればいい。

たとえば次の設定では、ローカル ネットワーク (IP アドレスが 10.*.*.*) にいるクライアントは、 foo.html ページへ自由にアクセスできるが、それ以外の人にはすべて、ユーザー名とパスワードを要 求する。

<Files foo.html> Order Deny,Allow Deny from All Allow from 10.0.0.0/255.0.0.0 AuthName "Insiders Only" AuthType Basic AuthUserFile /usr/local/web/apache/.htpasswd-foo Require valid-user Satisfy Any </Files>

IP アドレスによるアクセス制限 >>



japan.internet.comのウエブサイトの内容は全て、国際法、日本国内法の定める著作権法並びに商標法の規定によって保護されており、その知的財産権、著作権、商標の所有者はインターネットコム株式会社、インターネットコム株式会社の関連会社または第三者にあたる権利者となっています。
本サイトの全てのコンテンツ、テキスト、グラフィック、写真、表、グラフ、音声、動画などに関して、その一部または全部を、japan.internet.comの許諾なしに、変更、複製、再出版、アップロード、掲示、転送、配布、さらには、社内LAN、メーリングリストなどにおいて共有することはできません。
ただし、コンテンツの著作権又は所有権情報を変更あるいは削除せず、利用者自身の個人的かつ非商業的な利用目的に限ってのみ、本サイトのコンテンツをプリント、ダウンロードすることは認められています。

Copyright 2012 internet.com K.K. (Japan) All Rights Reserved.