- PR -

多段 Proxy における squid の動作について

1
投稿者投稿内容
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2004-01-22 10:53
お世話になります.

squid の動作について,ご存じの方がおられたらご教示ください.

現在下記のような環境
Client -- AntiVirus -- Microsoft ISA Server -- Internet
から
Client -- AntiVirus -- squid -- Microsoft ISA Server -- Internet
という環境への移行中です.

Client は Windows2k で基本的に IE 5.5 で,
Active Directory に参加しています.
※つまり上記の他に Active Directory Domain Controller があります.
AntiVirus では InterScan が動いていて,
HTTP での通信上の Virus 検索をしています.
Microsoft ISA Server(以下 ISA)は Proxy + Firewall の統合モードで,
Active Directory でユーザー認証しています.
Client は AntiVirus を,AntiVirus は ISA をそれぞれ
上位 Proxy として設定しています.

旧環境では,Active Directory で
Internet access 許可 users
を user group として作成して ISA で接続制限し,
ip address での制限も AntiVirus のみ許可しています.
通常であれば,「Internet access 許可 users」に所属するユーザーは
全く制限無く Internet へ接続できます.
そうでない場合はユーザー認証のためのダイアログが出力されて,
Internet への接続を抑制されてしまいます.
ここまでは想定したとおりの動作でした.

新環境へ移行するにあたり,
RedHat Linux Advanced Server 2.1 に squid を実装して,
旧環境で実施していたユーザー単位ので接続制限を実現しようと考えています.
そこで,Client は AntiVirus を上位 Proxy とする設定はそのままで,
AntiVirus は squid を,squid は ISA を上位 Proxy として設定しました.

当初は,旧環境と遜色なく利用できていましたが,
いろいろな URL に接続しているうちにおかしな現象が散見されました.
(おそらく)特定の URL に接続すると,
ユーザー認証のためのダイアログが出力されるのです.
良く画面を見ると,目的の URL は表示されています.
ですが,一部の画像が表示されていません.
何度か "Shift" を押下しながら reload させると,
全く不規則にダイアログが出力されます.
こういった現象は,「検索機能」がある site に多く見られるようですが,
必ずしも「検索機能」がある site で発生するというわけでもありません.
※ちなみに http://www.google.co.jp/ では発生します.

squid ,ISA どちらの log を見ても,
ダイアログ出力の有無に違いがないように見えます.

squid が AntiVirus と ISA の間に入ったために
発生したであろう事は想像できますが,
何が起きているのか?
が把握できかねています.

もし何かお心当たりの事例や事象をご存じの方がおられましたら,
何卒ご教示いただけますよう,お願いいたします.
足りない情報などあれば,ご指摘ください.

下記,squid.conf の内容です.
※実際には ISA は二つあり,特定の Domain は一方の ISA を,
※それ以外はもう一方の ISA を上位 Proxy としています.
※本現象はどちらにも発生しています.
※また,cache も log も平常時は採取していません.

http_port 3128
icp_port 0
hierarchy_stoplist cgi-bin ?
acl another dstdomain "/etc/squid/another.txt"
acl allowip src 10.x.1.5/255.255.255.255
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_dir ufs /var/spool/squid 10 64 256
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow allowip
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny all
cache_peer 10.x.1.2 parent 8080 0 proxy-only no-query
cache_peer 10.x.1.8 parent 8080 0 proxy-only no-query
cache_peer_access 10.x.1.8 allow another
cache_peer_access 10.x.1.2 allow !another
never_direct allow all
no_cache deny all
cache_store_log none
cache_log /dev/null
cache_access_log /dev/null
error_directory /usr/lib/squid/errors/Japanese

kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2004-01-22 14:22
お世話になります.

いろいろ確認してみて,これまで判ったことを追加情報として書き込ませていただきます.

Client -- AntiVirus -- squid -- Microsoft ISA Server -- Internet
という環境を,AntiVirus を抜いて
Client -- squid -- Microsoft ISA Server -- Internet
としても同様でした.ちなみに,ISA でユーザー認証しない状態にすると全く問題は起こりません.
更に,yahoo や google に接続して検索をすると,同様の現象が発生します.検索した頁を reload すると,ランダムで表示されない画像が変わっていきます.つまり,その画像の表示のためにユーザー認証要求が返されている状態です.

squid の log を見ていると,result code が
TCP_MISS/304
TCP_MISS/407
の二つが入り乱れていて,407 の場合は
407 -> 407 -> 304
という場合と,単に 407 が logging されている場合があります.後者の場合にユーザー認証要求が発生します.
ここでキャンセルすると画像が表示されず,普通に許可ユーザーで認証すると画像が表示され,result code も TCP_MISS/304 と logging されます.

以上,ご参考までに.
1

スキルアップ/キャリアアップ(JOB@IT)