備忘録/にわかエンジニアが好きなように書く

個人的にとりあえず仕組みを知るためにとりあえず動くまで構築や動作をみただけの単なる操作ログです。個人用の備忘録となり、最新の導入手順は個別に確認してください。 ※変な内容や間違いを書いているなどありましたらコメントやご指摘いただけると幸いです。

squid設定(随時更新)

squid.confの設定

■必須条件

・複数ドメインでのユーザ認証(NTLM)

・ホワイトリストとブラックリストでURLのフィルター対応(正規表現記載も可能)

 

■条件(認証)

 ・Windowsサーバと連携させ使用したユーザ認証 (NTLM or Kerberos)

 ・マルチドメイン対応(送信元IPを元に連携先をWindowsサーバ分ける)

 ・認証キャッシュを保持(時間指定可能)

■条件(URLフィルター)

 ・ドメイン毎にホワイトリストとブラックリストを保持

 ・全ドメインで共通のホワイトリストとブラックリストを保持

 ・送信元IPやユーザ名を元にホワイトリストとブラックリストを保持

 

■条件(Traffic制御)

 ・特定送信元の場合は通信量をコントロールする

 

ーーー

仮設定を検討していく

(動作可能なのか未確認、机上で作成のみ)

ーーー

■条件(Traffic制御)
# トラフィック制御の設定
delay_pools 1

# トラフィック制御を適用するIPアドレス
acl mynetwork src 192.168.0.0/24

# トラフィック制御の設定
# 128KB/sの速度に制限をかける
delay_class 1 1
delay_access 1 allow mynetwork
delay_parameters 1 128000/128000


■条件(認証)

# ドメイン1

acl ntlm_src1 src 10.0.0.0/8
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of=DOMAIN1\\group

# ドメイン2

acl ntlm_src2 src 192.168.0.0/16
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of=DOMAIN2\\group

# NTLM認証の基本パラメータ

auth_param ntlm children 5
auth_param ntlm max_challenge_reuses 0
auth_param ntlm max_challenge_lifetime 2 minutes
auth_param ntlm credentialsttl 4 hours


http_access allow ntlm_src1 ntlm_users
http_access allow ntlm_src2 ntlm_users

acl ntlm_group external ntlm_group DOMAIN\\group1
http_access allow ntlm_group
http_access deny all


■条件(URLフィルター)
acl allowed_urls url_regex "/etc/squid/allowed_urls.txt"
http_access deny !authenticated
http_access allow authenticated allowed_urls
http_access deny all

 

ーーー

設定の概要

ーーー

acl ntlm_src1 src 10.0.0.0/8 と acl ntlm_src2 src 192.168.0.0/16
これらのACLは、送信元IPアドレスが10.0.0.0/8か192.168.0.0/16の範囲内からのアクセスを許可することを意味しています。

auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of=DOMAIN1\group
この設定は、NTLM認証を行う際に使用するプログラムを指定し、そのグループに所属していることが必要なことを指定しています。

auth_param ntlm children 5
この設定は、NTLM認証用のプロセス数を指定しています。

auth_param ntlm max_challenge_reuses 0
この設定は、NTLMチャレンジの再使用回数を指定しています。

auth_param ntlm max_challenge_lifetime 2 minutes
この設定は、NTLMチャレンジの有効期限を指定しています。

auth_param ntlm credentialsttl 4 hours
NTLM認証が正常に完了した後に、クレデンシャル(認証情報)が有効な期間を指定しています。
4時間以内に再度アクセスする際には、再度認証を行うことなくアクセスできます。

 

ーーー