##はじめに
HTTPSプロキシについてちょっと勉強する機会があったのでまとめます
##構成
クライアントがプロキシー通ってインターネッツの世界へ
##構築手順
プロキシーサーバには「CentOS7.5」と定番「squid」を使用する
・squidのリポジトリを準備
/etc/yum.repos.d/squid.conf
[squid]
baseurl=http://www1.ngtech.co.il/repo/centos/$releasever/$basearch/
failovermethod=priority
enabled=1
gpgcheck=0
・epelの有効化
/etc/yum.repos.d/epel.repo
[epel]
…
# 常時利用、基本リポジトリと同様に利用
enabled=1
priority=1
・インストール
yum install perl-Crypt-OpenSSL-X509 squid
・/etc/squid/squid.confを編集
とりあえず最終行に以下を追記
sslproxy_options NO_SSLv2,NO_SSLv3,NO_TLSv1,SINGLE_DH_USE
forwarded_for off
request_header_access Referer deny all
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny all
・squidのリスタート
systemctl restart squid
##テスト
クライアント側から以下コマンドでプロキシーサーバ経由でHTTPSとHTTPへのアクセスを行い違いをみる
ここではプロキシーサーバのIPとportは172.168.0.210:3128である。
curlでコンテンツダウンロードしてみる
curl -L -O --proxy 172.168.0.210:3128 https://xxxxxx/xxx/xxxx
curl -L -O --proxy 172.168.0.210:3128 http://xxxxxx/xxx/xxxx
##ログ確認
HTTPへのアクセス
1538383639.389 0 172.168.3.201 TCP_MEM_HIT/200 14740 GET http://www.xxxxx.tokyo.jp/xxxxxx.html - HIER_NONE/- text/html
HTTPSへのアクセス
1538383760.574 151 172.168.3.201 TCP_TUNNEL/200 301405 CONNECT www.xxxxx.com:443 - HIER_DIRECT/180.235.251.31 -
##まとめ
プロキシーをする場合でもやはりHTTPSではアクセスの中身は見えない。がURLについては確認できる。
ということはHTTPSアクセスについてもURLフィルタリングは可能ということ。(コンテンツフィルタリングは不可能)
ただ一般的にHTTPSの場合証明書不一致のエラーをブラウザが表示する。回避するにはクライアントープロキシー間で別の証明書を用意する必要があるが不特定多数が使用する環境では準備をするのが難しいため意図的にプロキシーサーバをおいてフィルタリングするのはいろいろ問題となる。
(ホテルによくある無料WIFIシステムなどがこれに近い)
自分だけの環境であればアクセス元をウヤムヤにできたりIP制限回避できたり、自分用のログとったりまぁ使いみちありそう(普通は使わない)。
*URLフィルタリング・・・URLを判断基準にした、見せたくないページを見せない行為・機能・仕組み
*コンテンツフィルタリング・・・ページの中身を判断基準にして見せたくないページを見せない行為・機能・仕組み
###参考になりましたm(_ _)m
http://kikumoto.hatenablog.com/entry/2016/06/04/124922