LoginSignup
1
1

More than 3 years have passed since last update.

squidを利用してTenant Restrictionしてみる

Last updated at Posted at 2021-01-27

初めに

Azure ADのTenant Restriction機能を検証するため、
squidのSSL Bumpを利用して環境を構築してみたので手順をメモ。

※Tenant Restrictionの詳細はこちら
https://docs.microsoft.com/ja-jp/azure/active-directory/manage-apps/tenant-restrictions

※あくまで動作確認用の検証環境の構築手順です。セキュリティ面の考慮はしておりませんので、そのまま本番環境へ適用することはお控えください。

構築手順

  • Linuxサーバーを用意する。今回はCentOS8.2を利用。

  • サーバーにsshで接続し、まずはSquidをインストール

yum -y install squid

  • 念のためOpenSSLを最新化

yum update openssl

  • 自己証明書を作成

cd /etc/squid
openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 -keyout squidCA.pem -out squidCA.pem

  • クライアント用のルート証明書を作成

openssl x509 -in squidCA.pem -outform DER -out squid.cer

  • 作成した証明書にアクセス権を付与

chown squid:squid squidCA.pem
chmod 400 squidCA.pem

  • 証明書データベース用ディレクトリを作成して初期化

mkdir -p /var/lib/squid
/usr/lib64/squid/security_file_certgen -c -s /var/spool/squid/ssl_db -M 4MB
chown -R squid:squid /var/spool/squid

  • /etc/squid/squid.confを編集する

vi /etc/squid/squid.conf

以下の行を削除し、

http_port 3128

以下の行を追加

http_port 3128 ssl-bump generate-host-certificates=on >dynamic_cert_mem_cache_size=4MB cert=/etc/squid/squidCA.pem
request_header_add Restrict-Access-To-Tenants "テナント名" all
request_header_add Restrict-Access-Context "ディレクトリID" all

※テナント名、ディレクトリIDに指定する値は以下のリンクを参照。
https://docs.microsoft.com/ja-jp/azure/active-directory/manage-apps/tenant-restrictions#configuration

さらにファイルの末尾に次の行を追加

sslcrtd_program /usr/lib64/squid/security_file_certgen -s /var/spool/squid/ssl_db -M 4MB
sslcrtd_children 5
ssl_bump server-first all
sslproxy_cert_error deny all

  • 保存したらSquidを再起動

service squid restart

  • 正常に起動しているか確認。「active(runnning)」となっていればOK

sudo systemctl status squid

image.png

  • sshを終了し、作成したクライアント用のルート証明書をダウンロード

exit
scp -r <ユーザー名>@<サーバーアドレス>:/etc/squid/squid.der "C:\temp"

  • ダウンロードした証明書をクライアントにインポート
    (場所は「信頼されたルート証明機関」を指定)
    image.png

  • プロキシサーバーに「サーバーアドレス:3128」を指定
    image.png

※Pacファイルでプロキシサーバーを指定しても構いません。
その場合、以下のFQDNへの通信のみ対象としてください。
-login.microsoftonline.com
-login.microsoft.com
-login.windows.net

  • ブラウザを再起動し、指定したテナント以外にはつながらないことを確認 image.png
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1