以下記事にあるオンプレミスのプロキシサーバインフラストラクチャをAzure上に構築する手順を記載する。ただし、Azureへの接続は既存のプロキシを経由するため、多段プロキシ構成となる。
テナント制限を使用して SaaS クラウド アプリケーションへのアクセスを管理する
1. 仮想マシンの作成
リンク先手順により仮想マシンを作成する
MicrosoftAzureでCentOS7の仮想マシンを作成する
ネットワークセキュリティグループ>受信セキュリティ規則で接続元アドレスから、TCP/3128への接続を許可設定する
2. Squidのインストール
仮想マシンにsshで接続し、以下の手順を実施
$ sudo yum -y install squid
$ yum list installed | grep squid
squid.x86_64 7:3.5.20-2.el7_3.3 @updates
squid-migration-script.x86_64 7:3.5.20-2.el7_3.3 @updates
3. Squid設定ファイルの編集
設定ファイルを以下の通り編集する
/etc/squid/squid.conf
http_port 3128
http_access allow all
request_header_add Restrict-Access-To-Tenants example.com
request_header_add Restrict-Access-Context 123ab456-78c9-0d12-e1f2-3456g7890h1i
4. Squid起動
$ systemctl status squid
● squid.service - Squid caching proxy
Loaded: loaded (/usr/lib/systemd/system/squid.service; disabled; vendor preset: disabled)
Active: inactive (dead)
$ sudo systemctl start squid
$ systemctl status squid
● squid.service - Squid caching proxy
Loaded: loaded (/usr/lib/systemd/system/squid.service; disabled; vendor preset: disabled)
Active: active (running) since 日 2017-07-16 13:30:21 UTC; 12s ago
Process: 1690 ExecStart=/usr/sbin/squid $SQUID_OPTS -f $SQUID_CONF (code=exited, status=0/SUCCESS)
Process: 1685 ExecStartPre=/usr/libexec/squid/cache_swap.sh (code=exited, status=0/SUCCESS)
Main PID: 1693 (squid)
CGroup: /system.slice/squid.service
├─1693 /usr/sbin/squid -f /etc/squid/squid.conf
├─1695 (squid-1) -f /etc/squid/squid.conf
└─1696 (logfile-daemon) /var/log/squid/access.log
$ systemctl enable squid
Created symlink from /etc/systemd/system/multi-user.target.wants/squid.service to /usr/lib/systemd/system/squid.service.
5. 疎通確認
確認用端末のブラウザに今回構築したプロキシを設定する。
サーバ上でログを確認し、プロキシを経由した接続になっていることを確認する。
tail -f /var/log/squid/access.log
また、検証用サイトにhttpで接続し、以下のヘッダ情報が付与されていることを確認する。
キー | 値 |
---|---|
HTTP_RESTRICT_ACCESS_TO_TENANTS | example.com |
HTTP_RESTRICT_ACCESS_CONTEXT | 123ab456-78c9-0d12-e1f2-3456g7890h1i |
6. SSLインターセプト設定(執筆中)
Dynamic SSL Certificate Generation
Feature: SslBump Peek and Splice
TLS1.2が使えない環境のためのProxy (squid)設定
/etc/squid/squid.conf
http_port 3128 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/usr/local/etc/squid/squidCA.pem
ssl_bump bump all
sslcrtd_program /usr/local/libexec/squid/ssl_crtd -s /var/db/ssl_db -M 4MB
http_access allow all
request_header_add Restrict-Access-To-Tenants example.com
request_header_add Restrict-Access-Context 456ff232-35l2-5h23-b3b3-3236w0826f3d