ASH | サーバ | セキュリティ | Linux | FreeBSD | DB | Web | CGI | Perl | Java | XML | プログラム | ネットワーク | 標準 | Tips集

Webサーバのアクセス制御方法

 Webサーバ(Apache)のアクセス制御方法です。 特定のWebページのアクセスをユーザ名やIPアドレスによって制限することができます。
 ユーザ名によるアクセス制限を実施すると、ユーザー名とパスワードを知らなければ見れないようになります。
 この設定をするためには、Apacheのhttpd.conf(access.conf)のDirectoryタグ内のAllow Overrideディレクティブの値が、AuthConfigかAllなどで、定義ファイルの書き換えが可能となっている必要があります。

ユーザ名によるアクセス制限の方法

認証ファイルの作成方法

  1. htpasswd コマンドを実行します。
    unix# htpasswd -c ~joe/.htpasswd joe
    
  2. パスワードを2回、聞いてきますので正確に入力します。
  3. 認証を行いたいディレクトリに.htaccess ファイルを作成します。

.htaccessファイルの作成方法

  1. アクセス制限をしたいディレクトリ毎に .htaccess ファイルを作成します。
  2. .htaccessの内容
    AuthType Basic
    AuthName "Member Only"
    AuthUserFile /home/joe/.htpasswd
    <LIMIT GET>
    require user joe
    </LIMIT>
    

認証ファイルの追加方法

  1. ユーザを追加する場合は、-c を付けずに、htpasswd コマンドを実行します。
    unix# htpasswd ~joe/.htpasswd ash
    
  2. .htaccess ファイルの require 行を修正します。
    require user joe ash
    

IPアドレスによるアクセス制限の方法

.htaccessファイルの作成方法

  1. アクセス制限をしたいディレクトリ毎に .htaccess ファイルを作成します。 アクセス制限は、IPアドレスかホスト名で指定できます。 ただし、アクセス制限のないプロキシサーバを経由するとアクセスできます。
  2. .htaccessの内容
    order deny,allow
    deny  from all
    allow from 10.0.
    allow from 10.0.1.0/255.255.255.0
    allow from .lo.ash.jp
    

サーバの設定でアクセス制限する方法

 サーバのhttp.conf(access.conf)に以下の設定をすることでも、アクセス制限ができます。
 Directoryディレクティブで、アクセス制限するディレクトリを指定します。

<Directory アクセス制限するディレクトリパス>
order deny,allow
deny  from all
allow from 10.0.
allow from 10.0.1.0/255.255.255.0
allow from .lo.ash.jp
</Directory>


Copyright (C)1995-2002 ASH multimedia lab.
mail : info@ash.jp