« Ticketの属性等の管理を行うことができる権限を追加する | Main | SquidでGETは許可するがPOSTは拒否したい »

2010.02.28

Squidでユーザー毎にアクセス可能なURLを制御する

最近の企業では、従業員のWebアクセスのログ取得も結構行われているようで。また、従業員の役職毎、あるいは業務毎にアクセス可能なURLを使い分けているというケースも。i-Filterなんかがその用途のソリューションですね。

さて、Squidで同じようなことをできるかどうか、試してみました。

とりあえず、アクセス可能なURLグループを2つ(URLグループ1、URLグループ2)、ユーザーグループを2つ(グループ1、グループ2)を定義し、「グループ1はURLグループ1のみアクセス可能」「グループ2はURLグループ1とURLグループ2の両方にアクセス可能」という制御を行ってみることにします。

まずは、普通に認証の設定。今回はBasic認証で行ってみることにします。パスワードファイルは htpasswd でmd5で作成しておきます。パラメータの内容は、ファイルのパス以外はデフォルトのままです。

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/.passwd
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off

グループ設定に関して以下のように記述。

acl acceptdomain1 dstdom_regex "/etc/squid/whitelist1.dat"
acl acceptdomain2 dstdom_regex "/etc/squid/whitelist1.dat" "/etc/squid/whitelist2.dat"
acl auth_group1 proxy_auth "/etc/squid/group1.dat"
acl auth_group2 proxy_auth "/etc/squid/group2.dat"

group1.datおよびgroup2.datファイルには、グループに含めるユーザーIDを1行1IDで記述しておきます。

http_access allow acceptdomain2 lan auth_group2
http_access allow acceptdomain1 lan auth_group1

のような感じでアクセス設定を関連付けを記述。

Squidを再起動(あるいは設定ファイルの再読込)を実行し、とりあえず目的としているアクセス制御を実施することができました。

|

« Ticketの属性等の管理を行うことができる権限を追加する | Main | SquidでGETは許可するがPOSTは拒否したい »

Linux」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/47679041

Listed below are links to weblogs that reference Squidでユーザー毎にアクセス可能なURLを制御する:

« Ticketの属性等の管理を行うことができる権限を追加する | Main | SquidでGETは許可するがPOSTは拒否したい »