« クビ男 - IT業界でリストラされた男を成功に導いた11の法則 | メイン | 無料で差し上げます »

2006年01月23日

BASIC認証とIPアドレス制限の併用

先日公開した、主専攻振り分けの途中経過は、学内からアクセスする場合は、そのまま閲覧でき、学外からアクセスする場合は、BASIC認証が必要になるように設定しています。

特定のIPアドレスは通して、それ以外は、認証が必要。というページの作成は、結構需要があるような気がします。代表的なのは、自分のマシンは認証無しで、他の人が見る場合は、認証が必要とするということが挙げられます。

.htaccess で設定するわけですが、やり方を良く忘れてしまうので、メモしておくことに。

AuthType Basic
AuthDBUserFile /etc/webpass.coins
AuthName "Please input your coins's Account & Password"
Require valid-user

Satisfy Any

Order Allow,Deny
Allow from 130.158.0.0/16
Allow from 133.51.0.0/16

前半部分が、普通にBASIC認証の設定を行っています。後半は、IPアドレスによるアクセス制限を行っています。

IPアドレスによるアクセス制限について。

Order Allow,Deny

としているので、デフォルトでは、すべてのアクセスを拒否しています。許可したいのだけ Allow で設定するわけです。このIPアドレスは、筑波大学が保有しているIPアドレスで、前者は、筑波キャンパス(春日地区を除く)、後者は、春日地区だったような気がします。片方のクラスに統合すると言う話があったような気がしますが、流れたのでしょうか…

Order Deny,Allow
Deny from all
Allow from 130.158.0.0/16
Allow from 133.51.0.0/16

これと同値です。どちらかというと、こういった書き方のほうが多いような気が。Orderをいちいち変えると紛らわしいからでしょうか…

BASIC認証とIPアドレス制限の併用について。

Satisfy Any

肝は、この部分。

ホストレベルのアクセス制御とユーザ認証との相互作用を指定

なーんて説明されています。Apacheのドキュメントで。

Any と All が設定できて、前者は、どちらか片方の制限を満たせばよいです。後者は、両方の制限を満たしせばアクセスすることが出来ます。詳しくは、Satisfy ディレクティブ(Apache コア機能)をご覧ください。

情報学類で学外に見せたくないドキュメントがある場合は、ぜひこの方法を取り入れてくださいな。学内からしかアクセスできないのは、不便すぎますね… そもそも、教育の情報にアクセス制限が用いられることは、まれなような気がします。受験者も細かい講義内容を知りたがっているかもしれませんし。

余談ですが、情報学類では、1年生のときに受ける コンピュータ・リテラシ の授業で、BASIC認証を用いる場合は SSL で暗号化されたサーバを使いましょう。と指導されます。たしか。

【関連情報】 ・www3の認証方式について
 http://www.coins.tsukuba.ac.jp/ce/web-auth/
・Apache コア機能
 http://httpd.apache.org/docs/2.0/ja/mod/core.html

2006年01月23日 19:12 | Technology

トラックバック

このリストは、次のエントリーを参照しています: BASIC認証とIPアドレス制限の併用:

» htaccessによるBASIC認証(ベーシック認証)の設定方法 from サーバー管理やWeb開発のブログ
Webサイトでアクセス制限をかけたい場合、.htaccessを使用する方法があり... [続きを読む]

トラックバック時刻: 2009年02月28日 20:25

コメント

この方法だと、誰がアクセスしたか、パスワードは何入力したか簡単に知ることができます。皆さん気をつけましょうね。

投稿者 jf : 2006年01月26日 22:03

>> jf さん
ユーザーはわかってしまいますね…
この方法より安全にパスワードを送信する方法があれば、ご教授ください。

投稿者 ceekz : 2006年01月26日 22:40

ユーザーをテキストベースで管理するなら AuthDBUserFile の部分を AuthUserFile にする。

投稿者 ceekz : 2006年03月29日 15:24