japan.internet.comThe Internet & IT Network
Twitter
RSS
  • ニュース
  • コラム
  • リサーチ
  • ヘッドライン
  • 特集
  • ブログ
  • プレスリリース
  • 専門チャンネル
  • イベント
  • ランキング
  • ニュースメール
2009年11月7日
文字サイズ文字サイズ小文字サイズ中文字サイズ大
任天堂が、大画面の「ニンテンドーDSi LL」を発表。欲しいと思いますか?
欲しい
欲しいと思わない
他のDS製品を持っているが欲しい
他のDS製品を持っているのでいらない
投票締切 11/9 12:00
LinuxTutorial2001年4月14日 00:00

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

海外海外internet.com発の記事
  • Post to Twitter
  • Post to Facebook
  • このエントリーを含むはてなブックマーク
  • この記事をクリップ!
  • Buzzurlにブックマーク
  • Yahoo!ブックマークに登録
  • newsing it!
  • この記事をokyuuへインポート
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 アドレスによるアクセス制限 >>



関連テーマ
  • プリンター用
  • 記事を転送
  • Post to Twitter
  • Post to Facebook
  • このエントリーを含むはてなブックマーク
  • この記事をクリップ!
  • BuzzurlにブックマークBuzzurlにブックマーク
  • Yahoo!ブックマークに登録
  • newsing it!
  • この記事をokyuuへインポート
最新トップニュース
プライバシー ジャパン・インターネットコム版
【プライバシー ジャパン・インターネットコム版】
認証がオンラインビジネスの鍵である理由(11月4日)
Copyright 2009 Japan Internet.com K.K. All Rights Reserved.http://www.internet.com/