こんにちは横部です。
これはTECHSCORE Advent Calendar 2018の12日目の記事です。
前回は Sophos UTM を使ってHTTPプロキシの導入を行いました。
今回はHTTPSプロキシを稼働させてみます。
HTTPSプロキシの有効化
HTTPSプロキシの有効化は、
Webプロテクション → Webフィルタリングの「HTTPS」タブから行えます。
「復号化してスキャン」をチェックして適用することで、HTTPSでもフィルタリングが有効になります。
しかしこれを有効にすると、SSL警告が発生します。
クライアントとプロキシ間のセッションは、Sophos UTM の認証局で発行した自己署名証明書が使用されるため、クライアントはプロキシから送付された公開鍵証明書が信頼できません。
そのためクライアントに Sophos UTM の認証局の証明書を登録する必要があります。
Sophos UTM のCA証明書を入手する方法は2種類あります。
一つは、Webプロテクション → フィルタリングオプションの「HTTPS CA」タブから入手する方法です。
「署名CA」を「ダウンロード」して証明書を信用することで、その証明書を使ってHTTPS通信が行われ、警告が回避できます。
もう一つはユーザポータルから証明書を入手する方法です。
マネジメント → ユーザポータルのグローバルタブから「ユーザポータル」を有効化できます。
ただこちらも不用意にオープンにすると不正アクセスに利用されるリスクがあるので注意が必要です。
接続を制限して許可されたネットワークまたはインスタンス経由でポートフォワードを利用してアクセスするとより安全です。
1 |
ssh -i /path/to/key -t -L 4443:${PRIVATE_IP}:443 ec2-user@${EC2_HOST} |
https://loccalhost:4443/ ( または https://127.0.0.1:4443/ )
ログインすると「Webフィルタリング」タブから「WebフィルタCA証明書のインポート」が実行できますので、そこから証明書をダウンロードできます。
HTTPプロキシと同様の手順でHTTPSプロキシの設定を行いテストすれば、動作を確認することができます。
余談ですが、HTTPSプロキシなのにポート番号が8080のままだと不都合がある場合は、
Webプロテクション → フィルタリングオプションの「詳細」タブでポート番号の変更が可能です。
ユーザ認証の設定
特定のユーザのみにプロキシの利用を許可したい場合はユーザ認証を設定します。
Webプロテクション → Webフィルタリングの「グローバル」タブから設定を行えます。
オペレーションモードの「デフォルト認証」を「基本ユーザ認証」にして適用を行います。
「ポリシー」タブに移動し、承認するユーザを追加します。
例えばadminユーザでの認証を許可する場合は、adminユーザを追加します。
「フィルタアクション」を追加して「Default content filter action」を選択して保存します。
この状態になるとプロキシ利用時にIDとパスワードを入力しないとプロキシが利用できないようになります。
検証
試しにユーザ認証とHTTPSプロキシのテストを行います。
各ブラウザでHTTPプロキシを設定します。
${PUBLIC_IP}:8443
不正アクセス防止のためにポートを制限している場合は、前回と同様にポートフォワードを忘れずに設定します。
Sophos UTM へのssh接続が許可されたネットワーク内からポートフォワード
1 |
ssh -i /path/to/key -t -L 8443:localhost:8443 loginuser@${PUBLIC_IP} |
Sophos UTM へのポート番号8080通信が許可されたインスタンスにssh接続してポートフォワード
1 |
ssh -i /path/to/key -t -L 8443:${PRIVATE_IP}:8443 ec2-user@${EC2_HOST} |
localhost:8443 または 127.0.0.1:8443
そしてポリシーに追加したユーザのIDとパスワードを入力します。
試しに以下のサイトに接続します。
接続できたら成功です。
終わりに
以上のように Sophos UTM を使えば、HTTPSプロキシの導入とユーザ認証の設定が簡単に設定できます。
これを使うことで、通信を監視してウィルスチェックを行うセキュアなHTTPSプロキシが簡単に作成できますので、セキュリティの向上に検討されてはいかがでしょうか?
参考文献
Astaro Security Gateway 上で独自の HTTPS Proxy CA 証明書を使用する方法 - Sophos Community
Sophos ASG/UTM Web Protection (プロキシ) CA の導入方法 - Sophos Community
https://ja.wikipedia.org/wiki/公開鍵証明書