第9回 IP認証によるアクセス制限のテクニック

Webサイト(あるいはその一部)を特定のユーザーのみに公開したい場合がある。これを実現するのが「アクセス制限」だ。アクセス制限にはIP認証とユーザー認証の2種類があるが、今回はIP認証について解説する。

一志 達也<ichishi@pochi.tis.co.jp>
TIS株式会社
2001/9/29

Apacheでできるセキュリティ対策

 Webサーバのセキュリティには、大別して2つのアプローチがある。1つは、ファイルシステムに対する不正な書き込みやサーバ上での不正なプログラム実行の防御。もう1つは、ファイルの不正な読み込み操作や送受信する内容の盗聴の防御である。

コラム WebサーバはWebサーバに徹するべし
 Apache以外の領域の話になるが、「WebサーバはWebサーバに徹するべし」といいたい。WebサーバとMailサーバを兼ねさせるだけでも危険を助長しているのに、ファイルサーバやクライアントとして利用するなどもってのほかである。そうした“兼務”はセキュリティを弱体化させ、不正なアクセスを試みるすきを与える。

 可能なら、コンテンツやサーバの管理もリモートアクセスではなく直接コンソールを使うべきとさえ考える。

 前者については、サーバ上の不要なプログラムの停止やファイアウォールの構築など、Apache以外の領域において行うべき対策ポイントである。

 後者こそが、Apacheの領域における問題となる。今回と次回は、この中でも特にファイルの不正な読み込み操作に焦点を絞ることにする。送受信する内容の盗聴については、それ以降に回を設けて解説したい。

アクセス制限を実現する2つの方法

 Webサーバは、不特定多数に情報を発信するのが使命である。しかし、場合によっては情報を発信する対象を限定する必要が生じる。例えば、会員制のコンテンツやビジネスパートナー限定の情報、社員にのみ公開する社外秘の情報などだ。

 そこで考えなくてはならないのが、Webサーバ上のコンテンツに対して個別のセキュリティを施し、限定された対象者にのみ情報を発信する方法である。これには、

  • アクセスする機器(クライアント)を特定、制限する方法
  • ユーザー名とパスワードの入力を要求するユーザー認証の方法

が考えられる。

 今回は、通信する機器(クライアント)を限定する方法について解説する。通信する機器を特定するには、ドメイン名(atmarkit.co.jpなど)やホスト名(www.atamrkit.co.jpなど)を用いる方法と、IPアドレス(172.16.0.5など)を用いる方法の2種類が考えられる。

コラム 「なりすまし」に注意
 いずれにしても注意しなければいけないのが、クライアントの「なりすまし」である。なりすましとはIPアドレスを偽る行為であり、これを行われてしまうと意図しない相手に対して正規のアクセスとしてコンテンツが提供されてしまう。

 「なりすまし」を防ぐのは容易ではないから、IP認証とともにユーザー認証(次回解説)を併用することをお勧めする。さらに、今後紹介する予定のSSLも利用すれば、なりすましに対しても強靭なセキュリティ環境を構築できる。

 どちらの方法でも構わないのだが、ドメイン名やホスト名を用いる場合には、それを特定するために「DNSの逆引き」と呼ばれる処理が必要になる。これは、Webサーバにアクセスするクライアントの情報がIPアドレスのみで、ドメイン名やホスト名は含まれないからである。ちなみに、ApacheではDNSの逆引き設定(HostNameLookupsディレクティブ)を変更しなくても、必要であれば自動的にDNSの逆引きを行うように作られている。

 変更される可能性のあるIPアドレスよりも、ホスト名やドメイン名を用いる方が運用しやすいのは事実ではある。しかし、アクセス数が多くなればなるほどDNSの逆引き処理に時間がかかるため、Webサーバにも負荷がかかる

 
1/2

Index
ApacheによるWebサーバ構築
Apacheでできるセキュリティ対策
 アクセス制限を実現する2つの方法
  Apacheのセキュリティ機能の構成要素と設定
 .htaccessファイルで制限可能な範囲の設定
 IP認証を定義する3つの要素と記述方法
 アクセス制限を行う範囲の指定
 .htaccessのアクセス制限記述方法
  次回はユーザー認証

連載 ApacheによるWebサーバ構築


 Linux Squareフォーラム サーバ構築・運用関連記事
連載:Heartbeatでかんたんクラスタリング(連載中)
オープンソースソフトウェアの「Heartbeat」を使ってHAクラスタを実現し、サービスを「落とさない」仕組みを実現します
特集:Apache 2.2でWebサイトをパフォーマンスアップ!
最新安定版Apache 2.2は、何が変わったのか? 最新のApacheを新機能の使い方とともに解説する
連載:実用 Apache 2.0運用・管理術(全8回)
本連載では、Apache 2.0の運用や管理方法を解説する。まず必須設定と基本的なセキュリティ対策を行い今後の運用に備える
連載:実用 BIND 9で作るDNSサーバ(全15回)
本連載では、BIND 9の構築/運用方法を解説していく。実際に役立つことを目的に、セキュリティや大規模運用などのテーマを取り上げていく
連載:実用qmailサーバ運用・管理術(全14回)
本連載を通して、qmailによるメールサーバの高度な構築・運用・管理術を紹介。SPAM対策やML管理からサーバでのウイルスチェックなどまで
特集:Samba 3.0の全貌 改訂版
Samba 3.0リリースから8カ月。ここであらためて、Samba 3.0系列の新機能、インストール方法、国際化の現状を解説する

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します

TechTargetジャパン

Linux Square フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ



- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH