Webサイト(あるいはその一部)を特定のユーザーのみに公開したい場合がある。これを実現するのが「アクセス制限」だ。アクセス制限にはIP認証とユーザー認証の2種類があるが、今回はIP認証について解説する。
Webサーバのセキュリティには、大別して2つのアプローチがある。1つは、ファイルシステムに対する不正な書き込みやサーバ上での不正なプログラム実行の防御。もう1つは、ファイルの不正な読み込み操作や送受信する内容の盗聴の防御である。
Apache以外の領域の話になるが、「WebサーバはWebサーバに徹するべし」といいたい。WebサーバとMailサーバを兼ねさせるだけでも危険を助長しているのに、ファイルサーバやクライアントとして利用するなどもってのほかである。そうした“兼務”はセキュリティを弱体化させ、不正なアクセスを試みるすきを与える。
可能なら、コンテンツやサーバの管理もリモートアクセスではなく直接コンソールを使うべきとさえ考える。
前者については、サーバ上の不要なプログラムの停止やファイアウォールの構築など、Apache以外の領域において行うべき対策ポイントである。
後者こそが、Apacheの領域における問題となる。今回と次回は、この中でも特にファイルの不正な読み込み操作に焦点を絞ることにする。送受信する内容の盗聴については、それ以降に回を設けて解説したい。
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サーバにも負荷がかかる。
Copyright © ITmedia, Inc. All Rights Reserved.