【Squid】プロキシサーバ / Squid ~ Whitelist編 ~

■ はじめに

Proxyサーバの Squid の Whitelist (ホワイトリスト) について
触ったので、メモに残しておく。
ついでに、Blacklist(ブラックリスト)についても言及する。

目次

【1】ProxyサーバにおけるWhitelist
【2】設定手順
 1)設定ファイル「squid.conf」を修正する
 2)squid をリロードする
【3】Tips
 1)サブドメインも含めた指定をするには
 2)正規表現で指定したい場合
 3)ブラックリストを設定するには

【1】ProxyサーバにおけるWhitelist

ホワイトリストにドメインを追加することにより
その特定ドメインのみアクセスしか
プロキシを通過させないように制限をかける

【2】設定手順

1)設定ファイル「squid.conf」を修正する

* 構文などは、以下の関連記事を参照のこと。

プロキシサーバ / SquidLinux / 設定ファイル編 ~
https://dk521123.hatenablog.com/entry/2017/08/15/234457

/etc/squid/squid.conf

#############################
# ホワイトリストの設定
#############################
# ホワイトリストのパス
acl whitelist dstdomain "/etc/squid/whitelist"
# ホワイトリストで定義したURLへのアクセスを許可する
http_access allow whitelist

# これまで定義した以外のアクセスはすべて拒否する
http_access deny all

/etc/squid/whitelist

download.docker.com
hub.docker.com
...

2)squid をリロードする

# リロード
sudo systemctl reload squid

# 状態を確認 (Running)
sudo systemctl status squid

【3】Tips

1)サブドメインも含めた指定をするには

* 頭に「.」を付けているのは、サブドメインも含める
* 例えば、.abc.com と指定した場合、
 www.abc.com や zzzzz.abc.com などを受け入れることができる

例:/etc/squid/whitelist

# download.docker.com
.docker.com

2)正規表現で指定したい場合

* 別設定が必要
* 以下のサイトが参考になる

https://qiita.com/bashaway/items/e6bafcfd78345136324d
https://qiita.com/aiai_osaru/items/95feefe4787600b2f478

/etc/squid/squid.conf

acl whitelist_regex url_regex "/etc/squid/whitelist_regex"
http_access allow whitelist_regex

/etc/squid/whitelist_regex

^(https*://)*([^/][^/]*\.)*slack(-edge)*\.com(:443|:80)*(/.*)*$

3)ブラックリストを設定するには

/etc/squid/squid.conf

# /etc/squid/blacklistファイルに拒否するドメインを記載
acl blacklist dstdomain "/etc/squid/blacklist"
http_access deny blacklist

参考文献

https://nwengblog.com/squidfilter/
https://tech-mmmm.blogspot.com/2018/01/squid.html

関連記事

【ネットワーク】プロキシ / Proxy
https://dk521123.hatenablog.com/entry/2017/08/08/224300
プロキシサーバ / SquidSquid for Windows編 ~
https://dk521123.hatenablog.com/entry/2017/11/12/211732
プロキシサーバ / SquidLinux / 初期設定編 ~
https://dk521123.hatenablog.com/entry/2017/06/23/223438
プロキシサーバ / SquidLinux / Basic認証編 ~
https://dk521123.hatenablog.com/entry/2017/06/26/224311
プロキシサーバ / SquidLinux / SSLプロキシ構築編 ~
https://dk521123.hatenablog.com/entry/2017/06/24/235123
プロキシサーバ / Squid ~ 設定ファイル編 ~
https://dk521123.hatenablog.com/entry/2017/08/15/234457
プロキシサーバ / Squid ~ ログ編 ~
https://dk521123.hatenablog.com/entry/2024/02/01/000000
Squid に関するトラブルシュート
https://dk521123.hatenablog.com/entry/2017/08/10/235733
Linux ~ Proxy環境下でLinuxを使用する ~
https://dk521123.hatenablog.com/entry/2023/11/24/000000
aptコマンド ~ Proxy環境下でaptを使用する ~
https://dk521123.hatenablog.com/entry/2017/08/11/180933
Docker ~ Proxy環境下でDockerを使用する ~
https://dk521123.hatenablog.com/entry/2023/11/30/004707
Java ~ Proxy環境下でJavaを使用する ~
https://dk521123.hatenablog.com/entry/2017/06/28/235639
SBT ~ Proxy環境下でSBTを使用する ~
https://dk521123.hatenablog.com/entry/2023/11/23/000000
curl コマンド
https://dk521123.hatenablog.com/entry/2017/12/05/233100
Proxy環境下でdocker pullしたらエラー
https://dk521123.hatenablog.com/entry/2024/02/08/144941