前提
下記の環境です
・windows11
・squidは下記のwindows console app
https://squid.diladele.com
実現したいこと
windowsでsquidを使ってwhitelistの設定を行いたいです。
設定値・発生している問題・エラーメッセージ
下記設定の場合ローカルホストからのアクセスをすべて許可にしているため、正常にリクエストが返ってきます。
squid.conf
1acl localnet src 10.0.0.0/8 # RFC1918 possible internal network 2acl localnet src 172.16.0.0/12 # RFC1918 possible internal network 3acl localnet src 192.168.0.0/16 # RFC1918 possible internal network 4acl localnet src fc00::/7 # RFC 4193 local private network range 5acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines 6 7acl SSL_ports port 443 8acl Safe_ports port 80 # http 9acl Safe_ports port 21 # ftp 10acl Safe_ports port 443 # https 11acl Safe_ports port 70 # gopher 12acl Safe_ports port 210 # wais 13acl Safe_ports port 1025-65535 # unregistered ports 14acl Safe_ports port 280 # http-mgmt 15acl Safe_ports port 488 # gss-http 16acl Safe_ports port 591 # filemaker 17acl Safe_ports port 777 # multiling http 18acl CONNECT method CONNECT 19 20http_access deny !Safe_ports 21http_access deny CONNECT !SSL_ports 22 23# ★ローカルホストからのアクセスをすべて許可 24http_access allow localhost 25 26http_access deny !localnet 27 28# ★ホワイトリストの設定 29# acl whitelist dstdomain .qiita.com 30# http_access allow whitelist 31 32# 上記以外はすべて拒否 33http_access deny all 34 35http_port 3128 36 37coredump_dir /var/cache/squid 38 39refresh_pattern ^ftp: 1440 20% 10080 40refresh_pattern ^gopher: 1440 0% 1440 41refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 42refresh_pattern . 0 20% 4320 43 44dns_nameservers 8.8.8.8 208.67.222.222 45 46max_filedescriptors 3200
curlで確認結果
cmd
1C:\work>curl https://qiita.com -x http://localhost:3128 -v 2* Trying 127.0.0.1:3128... 3* Connected to localhost (127.0.0.1) port 3128 (#0) 4* allocate connect buffer 5* Establish HTTP proxy tunnel to qiita.com:443 6> CONNECT qiita.com:443 HTTP/1.1 7> Host: qiita.com:443 8> User-Agent: curl/7.83.1 9> Proxy-Connection: Keep-Alive 10> 11< HTTP/1.1 200 Connection established
上の設定の星の箇所を下記のように修正しました。
これでローカルホストのすべてのアクセスが許可せれずに、whitelistのqiitaのみアクセスができると考えているのですが、下記の結果となります。
設定値
squid.conf
1acl localnet src 10.0.0.0/8 # RFC1918 possible internal network 2acl localnet src 172.16.0.0/12 # RFC1918 possible internal network 3acl localnet src 192.168.0.0/16 # RFC1918 possible internal network 4acl localnet src fc00::/7 # RFC 4193 local private network range 5acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines 6 7acl SSL_ports port 443 8acl Safe_ports port 80 # http 9acl Safe_ports port 21 # ftp 10acl Safe_ports port 443 # https 11acl Safe_ports port 70 # gopher 12acl Safe_ports port 210 # wais 13acl Safe_ports port 1025-65535 # unregistered ports 14acl Safe_ports port 280 # http-mgmt 15acl Safe_ports port 488 # gss-http 16acl Safe_ports port 591 # filemaker 17acl Safe_ports port 777 # multiling http 18acl CONNECT method CONNECT 19 20http_access deny !Safe_ports 21http_access deny CONNECT !SSL_ports 22 23# ★ローカルホストからのアクセスをすべて許可 24# http_access allow localhost 25 26http_access deny !localnet 27 28# ★ホワイトリストの設定 29acl whitelist dstdomain .qiita.com 30http_access allow whitelist 31 32# 上記以外はすべて拒否 33http_access deny all 34 35http_port 3128 36 37coredump_dir /var/cache/squid 38 39refresh_pattern ^ftp: 1440 20% 10080 40refresh_pattern ^gopher: 1440 0% 1440 41refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 42refresh_pattern . 0 20% 4320 43 44dns_nameservers 8.8.8.8 208.67.222.222 45 46max_filedescriptors 3200
実行結果
cmd
1C:\work>curl https://qiita.com -x http://localhost:3128 -v 2* Trying 127.0.0.1:3128... 3* Connected to localhost (127.0.0.1) port 3128 (#0) 4* allocate connect buffer 5* Establish HTTP proxy tunnel to qiita.com:443 6> CONNECT qiita.com:443 HTTP/1.1 7> Host: qiita.com:443 8> User-Agent: curl/7.83.1 9> Proxy-Connection: Keep-Alive 10> 11< HTTP/1.1 403 Forbidden 12< Server: squid/4.14 13< Mime-Version: 1.0 14< Date: Mon, 28 Nov 2022 15:12:29 GMT 15< Content-Type: text/html;charset=utf-8 16< Content-Length: 3389 17< X-Squid-Error: ERR_ACCESS_DENIED 0 18< Vary: Accept-Language 19< Content-Language: en 20< X-Cache: MISS from DESKTOP-DPHFI9G 21< Via: 1.1 DESKTOP-DPHFI9G (squid/4.14) 22< Connection: keep-alive 23< 24* Received HTTP code 403 from proxy after CONNECT 25* CONNECT phase completed 26* Closing connection 0 27curl: (56) Received HTTP code 403 from proxy after CONNECT
squidのログは下記の状態です
access.log
11669647778.854 6416 127.0.0.1 TCP_TUNNEL/200 211114 CONNECT qiita.com:443 - HIER_DIRECT/54.150.97.130 - ★whitelist未設定 21669648349.085 0 127.0.0.1 TCP_DENIED/403 3732 CONNECT qiita.com:443 - HIER_NONE/- text/html ★whitelist設定
基本的には初期設定なのですが、どこか悪そうな箇所やデバッグの方法等知っている方がいらっしゃいましたらご教授お願いいたします。
補足情報(FW/ツールのバージョンなど)
ここを参考に設定しました。
https://qiita.com/aiai_osaru/items/95feefe4787600b2f478
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/11/30 07:44