next up previous contents
Next: G. sendmail の設定 Up: F.3 アクセス・コントロール Previous: F.3.1 ユーザ

F.3.2 ホスト名やIPアドレスによるアクセス制御

先の例では、Apache に登録されたユーザならば、外部からでも アクセスすることが出来ましたし、逆に内部のクライアントでも、 パスワードを知らないとアクセス出来ませんでした。つまり、 一種の秘密クラブを作るような例であった訳です。

ここでは、ページをネットワーク内部に限定する方法について 取り上げます。これは例えば、組織の中では公開しておきたいが、 組織の外部からはアクセス出来ないようにするなどのことが出来る 訳です。

<Directory /usr/local/www/data/inside>
order deny,allow
deny from all
allow from test.domain.jp
</Directory>

上の例では、アクセス制御は、/usr/local/www/data/inside の ディレクトリに含まれるすべてのページに対して制限が掛けられて います。次の行の、order 指定は、アクセスを制限する時の順序を 指定するためのもので、その順序は deny, allow の順になっています。 deny, allow が何かということについては、この時点ではまだ分かりません。

先の、deny や、allow が何を意味するかが書かれているのが、次の2行です。 (deny は英語で拒否、allow は許すという意味です)

deny from all を指定しているので、拒否するのは all つまり、 全部です。従って、このディレクトリは原則アクセスが禁止されたという 意味になります。

次に、allow で特別にアクセスを許す範囲を指定します。 この場合は、allow from test.domain.jp を指定しているので、 test.domain.jp からのアクセスは全て許すことになります。

但し、DNS を調べて、そのマシンが、test.domain.jp に所属する場合について アクセスを許すという仕組みになっているので、もしそのマシンが、 DNS に登録されていないと、test.domain.jp の中のマシンでもアクセスは 許されません。こうした場合には、IP アドレスを直接指定します。

<Directory /usr/local/www/data/inside>
order deny,allow
deny from all
allow from 192.168.0
</Directory>

この指定では、allow するのは、192.168.0.* になります。 複数の IP のみを許可する場合には、

<Directory /usr/local/www/htdocs/inside>
order deny,allow
deny from all
allow from 192.168.0.1 192.168.0.2
</Directory>

この場合には、192.168.0.1 と 192.168.0.2 の2つの IP からの アクセスだけを許すことになります。


Noriyo Kanayama