はじめに
「SSL Bumpとはどんな仕組みなの?」
「SquidでHTTPS通信を確認したいけれど、どのように設定すればいいの?」と迷っていませんか。
社内ネットワークなどでSquidを使ってHTTPS通信を管理しようとしても、暗号化された通信をどの段階で処理するのか、証明書をどこに設定するのかが分からず迷ってしまうことがありますよね。
この記事では、SSL Bumpの基本的な仕組みからHTTPS通信との関係、Squidで利用するための設定方法まで順を追って説明していきます。
SSL Bumpとは?

SSL Bumpは、HTTPS通信をプロキシサーバーで中継し、暗号化された通信内容を確認できるようにする仕組みです。
ここでは、SSL Bumpの基本的な役割を確認したうえで、通常のHTTPS通信との違いと、通信内容を確認できる仕組みを順に説明します。
SSL Bumpの基本的な役割
SSL Bumpは、クライアントとWebサーバーの間にプロキシを置き、HTTPS通信を中継する仕組みです。
プロキシで通信をいったん復号して内容を確認し、再び暗号化してWebサーバーへ送信します。
通常のHTTPS通信とSSL Bumpを使った通信の違い
通常のHTTPS通信では、クライアントとWebサーバーが直接接続してデータを送受信します。
一方、SSL Bumpではプロキシが間に入り、クライアントとプロキシ、プロキシとWebサーバーの2区間に分けてHTTPS通信を行います。
SSL BumpでHTTPS通信を確認できる仕組み
SSL Bumpでは、暗号化されたHTTPS通信をプロキシでいったん復号することで、通信内容を確認できるようにします。
確認後は再び暗号化して送信するため、HTTPS通信を中継しながら内容を確認できます。
SquidでSSL Bumpを設定する基本的な流れ
SquidでSSL Bumpを利用するには、設定ファイルに項目を追加するだけでなく、事前に利用環境や証明書を準備する必要があります。
まずSSL Bumpを利用できるSquid環境か確認し、通信の中継に使用する証明書の準備と証明書データベースの初期化を行います。
そのうえでssl_bumpなどの必要な設定を追加し、Squidを再起動してHTTPS通信を確認するまでの流れを順に説明します。
SSL Bumpを利用できるSquid環境か確認する
設定を始める前に、使用しているSquidがSSL Bumpに対応しているか確認します。
squid -vを実行し、表示されるビルドオプションにOpenSSL関連の設定が含まれているか確認しましょう。
SSL Bumpで使用する証明書を準備する
SSL Bumpで使用するCA証明書と秘密鍵を、OpenSSLなどを使って作成します。
作成したファイルはSquidから読み込める場所に保存し、設定ファイルで指定するパスを確認しておきましょう。
CA証明書を自分で作成する方法が分からない場合は、自己署名証明書の仕組みや作成手順も確認しておくと設定を進めやすくなります。
▶SSLの自己署名証明書とは?作成方法やブラウザで警告が出る理由を解説
証明書データベースを初期化する
動的に生成される証明書を管理するため、Squidで使用する証明書データベースを初期化します。
環境に対応した証明書生成プログラムで作成し、Squidを実行するユーザーが読み書きできる権限になっているか確認します。
ssl_bumpなど必要な設定を追加する
Squidの設定ファイルに、HTTPS通信を受け付けるポートや証明書、証明書生成プログラムの設定を追加します。
あわせてaclとssl_bumpを設定し、SSL Bumpを適用する通信を指定します。
Squidを再起動してHTTPS通信を確認する
設定後は構文エラーがないか確認してからSquidを再起動し、クライアントからHTTPSサイトへ接続します。
正常に通信できない場合はSquidのログを確認し、証明書やSSL Bumpに関するエラーがないか確認しましょう。
SSL Bumpを使うときの注意点
SSL Bumpを利用するときは、HTTPS通信を中継する仕組み上、証明書の設定や通信内容の取り扱いに注意が必要です。
ここでは、証明書の信頼設定、エラーが発生する場合の確認点、通信内容を扱う際の注意点を順に説明します。
クライアント側で証明書を信頼させる必要がある
SSL Bumpを利用する場合は、Squidが使用するCA証明書をクライアント側の信頼済み証明書として登録します。
登録されていないとHTTPS接続時に警告が表示されるため、利用する端末ごとに正しく信頼されているか確認しましょう。
証明書エラーや接続エラーが発生することがある
SSL Bumpでは、証明書の検証やTLS接続に問題があるとエラーが発生することがあります。
接続できない場合はCA証明書の信頼設定や有効期限を確認し、Squidのログから証明書やTLSに関するエラーを確認しましょう。
証明書を設定してもSSLの検証エラーが続く場合は、CA証明書や証明書チェーンなど、エラーの原因を切り分けて確認してみましょう。
▶Failed SSL Validationとは?原因とSSL証明書エラーの対処法を解説
暗号化通信を復号するためプライバシーに配慮する
SSL BumpではHTTPS通信を復号して内容を確認できるため、利用目的や対象範囲をあらかじめ決めておくことが大切です。
必要のない通信まで復号せず、ログを保存する場合も閲覧できる管理者や保存対象を適切に限定しましょう。
まとめ
SSL Bumpは、Squidを経由してHTTPS通信の内容を確認するための仕組みです。
利用する際は、対応環境や証明書、ssl_bumpなどを正しく設定し、クライアント側でもCA証明書を信頼できる状態にしておきましょう。
HTTPS通信を復号する仕組みのため、すべての通信に適用するのではなく、目的に合わせて対象範囲を決めることも大切です。
設定後は実際にHTTPS通信を確認しながら、必要な範囲で安全に運用していきましょう。











