Squid サービスでの SSL Bump の設定
Squid サービスで
を設定するには:- 使用している Squid サービスが必要なオプションをサポートしていることを確認します。この操作には、次のコマンドを実行します:
squid -v
configure options
パラメータの値に--enable-ssl-crtd および --with-openssl
が含まれている必要があります。 - Squid サービスのディレクトリに移動します。この操作には、次のコマンドを実行します:
cd /etc/squid
- 自己署名 SSL 証明書を作成します。この操作には、次のコマンドを実行します:
openssl req -new -newkey rsa:2048 -days <証明書の有効期間の日数> -nodes -x509 -keyout squidCA.pem -out squidCA.pem
自己署名 SSL 証明書のフィールドに入力するよう求められます。
- 自己署名 SSL 証明書のフィールドに入力します。
- ブラウザーにインポートするための信頼する証明書を作成します。この操作には、次のコマンドを実行します:
openssl x509 -in squidCA.pem -outform DER -out squid.der
- squid.der ファイルを、ローカルコンピューターユーザーのブラウザーにインポートします。
squid.der ファイルをブラウザーにインポートする方法は、ブラウザーの種別によって異なります。
- 自己署名証明書ファイルを使用するための権限を設定します。この操作には、使用しているオペレーティングシステムに応じて、以下のコマンドを実行します:
- CentOS、Red Hat Enterprise Linux、SUSE Linux Enterprise Server:
chown squid:squid squidCA.pem
chmod 400 squidCA.pem
- Ubuntu、Debian:
chown proxy:proxy squidCA.pem
chmod 400 squidCA.pem
- CentOS、Red Hat Enterprise Linux、SUSE Linux Enterprise Server:
- 将来の証明書のためのディレクトリを作成します。この操作には、使用しているオペレーティングシステムに応じて、以下のコマンドを実行します:
- CentOS、Red Hat Enterprise Linux:
mkdir -p /var/lib/squid
/usr/lib64/squid/ssl_crtd -c -s /var/lib/squid/ssl_db
chown -R squid:squid /var/lib/squid
- Ubuntu:
mkdir -p /var/lib/squid
/usr/lib/squid/ssl_crtd -c -s /var/lib/squid/ssl_db
chown -R proxy:proxy /var/lib/squid
- SUSE Linux Enterprise Server:
mkdir -p /var/lib/squid
/usr/sbin/ssl_crtd -c -s /var/lib/squid/ssl_db
chown -R squid:squid /var/lib/squid
- Debian では、Squid サービスは既定では SSL Bump をサポートしません。Squid サービスを SSL Bump のサポートを有効にしてコンパイルした場合は、今後の証明書のためのディレクトリを作成します:
mkdir -p /var/lib/squid
<コンパイル時に指定したパス>/ssl_crtd -c -s /var/lib/squid/ssl_db
chown -R <コンパイル時に指定したユーザー>:<コンパイル時に指定したグループ> /var/lib/squid
- CentOS、Red Hat Enterprise Linux:
- Squid サービスの設定を変更します。それには、ファイル /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
に置き換えます。- ファイルの末尾に次の行を追加します:
- CentOS、Red Hat Enterprise Linux:
sslcrtd_program /usr/lib64/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 4MB
sslcrtd_children 5
ssl_bump server-first all
sslproxy_cert_error deny all
- Ubuntu:
sslcrtd_program /usr/lib/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 4MB
sslcrtd_children 5
ssl_bump server-first all
sslproxy_cert_error deny all
- SUSE Linux Enterprise Server:
sslcrtd_program /usr/sbin/ssl_crtd -s /var/lib/squid/ssl_db -M 4MB
sslcrtd_children 5
ssl_bump server-first all
sslproxy_cert_error deny all
- Debian(Squid サービスを SSL Bump のサポートを有効にしてコンパイルした場合):
sslcrtd_program <コンパイル時に指定したパス>/ssl_crtd -s /var/lib/squid/ssl_db -M 4MB
sslcrtd_children 5
ssl_bump server-first all
sslproxy_cert_error deny all
- CentOS、Red Hat Enterprise Linux:
- 信頼するドメインの証明書の確認を除外する場合は、以下の行を追加します:
- CentOS、Red Hat Enterprise Linux:
sslcrtd_program /usr/lib64/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 4MB
sslcrtd_children 5
ssl_bump server-first all
acl BrokenButTrustedServers dstdomain <example.com>
sslproxy_cert_error allow BrokenButTrustedServers
sslproxy_cert_error deny all
- Ubuntu:
sslcrtd_program /usr/lib/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 4MB
sslcrtd_children 5
ssl_bump server-first all
acl BrokenButTrustedServers dstdomain <example.com>
sslproxy_cert_error allow BrokenButTrustedServers
sslproxy_cert_error deny all
- SUSE Linux Enterprise Server:
sslcrtd_program /usr/sbin/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 4MB
sslcrtd_children 5
ssl_bump server-first all
acl BrokenButTrustedServers dstdomain <example.com>
sslproxy_cert_error allow BrokenButTrustedServers
sslproxy_cert_error deny all
- Debian(Squid サービスを SSL Bump のサポートを有効にしてコンパイルした場合):
sslcrtd_program <コンパイル時に指定したパス>/ssl_crtd -s /var/lib/squid/ssl_db -M 4MB
sslcrtd_children 5
ssl_bump server-first all
acl BrokenButTrustedServers dstdomain <example.com>
sslproxy_cert_error allow BrokenButTrustedServers
sslproxy_cert_error deny all
- CentOS、Red Hat Enterprise Linux:
- すべてのドメインの証明書の確認を無効にする場合は、以下の行を追加します:
- CentOS、Red Hat Enterprise Linux:
sslcrtd_program /usr/lib64/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 4MB
sslcrtd_children 5
ssl_bump server-first all
sslproxy_cert_error allow all
sslproxy_flags DONT_VERIFY_PEER
- Ubuntu:
sslcrtd_program /usr/lib/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 4MB
sslcrtd_children 5
ssl_bump server-first all
sslproxy_cert_error allow all
sslproxy_flags DONT_VERIFY_PEER
- SUSE Linux Enterprise Server:
sslcrtd_program /usr/sbin/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 4MB
sslcrtd_children 5
ssl_bump server-first all
sslproxy_cert_error allow all
sslproxy_flags DONT_VERIFY_PEER
- Debian(Squid サービスを SSL Bump のサポートを有効にしてコンパイルした場合):
sslcrtd_program <コンパイルの設定に応じたパス>/ssl_crtd -s /var/lib/squid/ssl_db -M 4MB
sslcrtd_children 5
ssl_bump server-first all
sslproxy_cert_error allow all
sslproxy_flags DONT_VERIFY_PEER
- CentOS、Red Hat Enterprise Linux:
- Squid サービスを再起動します。この操作には、次のコマンドを実行します:
service squid restart
Squid サービスでの SSL Bump の設定が完了します。