暁の水平線にhttps通信はおいしいのか?を調べて刻んでみた。
公衆無線LAN・インターネット喫茶・学校・会社でhttps通信を行うとネットワーク管理者や他の得体の知れない第三者にどこまで読み取られるのか気になりました。デスクトップ画面をモニタリングしている・キーロガーが入っている等は考慮しません。あくまでもSSL通信に限ってに絞ります。
また、http通信時のパケットをキャプチャーしてベーシック認証のIDとパスワードが傍受できるかを試してみました。今ならおいしいイカちゃんの串焼きもあるよ♪
SSL通信は第三者等が読み取られるのかを調べてみる
結論、httpsではURLパスも暗号化されてProxyサーバーログにも残らない。サーバー名(FQDN)は見える
https の場合はどのファイルへアクセスしたかはログに残せず、どのホストへアクセスしたかのみをログに残します。
Wiresharkでhttp通信のベーシック認証の
パケットをキャプチャーしてみる
http通信でベーシック認証ができるデモサイトを探して、IDとパスワードが傍受できるか試してみます。
ベーシック認証をかけたデモページはこちら
ID:test PW:test になります。
傍受に成功しました。http通信での認証はよくないです。https通信は秘密鍵がないと復号化できません。
イカちゃんを入れてみる
しっくり来ません……
$ sudo apt install squid
$ sudo tail -f /var/log/squid/access.log
1604791319.862 1 10.8.0.2 TCP_DENIED/403 4033 CONNECT www.google.com:443 - HIER_NONE/- text/html
1604791320.038 0 10.8.0.2 TCP_DENIED/403 4033 CONNECT www.google.com:443 - HIER_NONE/- text/html
1604791320.624 0 10.8.0.2 TCP_DENIED/403 4033 CONNECT www.google.com:443 - HIER_NONE/- text/html
1604791320.687 0 10.8.0.2 TCP_DENIED/403 4081 CONNECT incoming.telemetry.mozilla.org:443 - HIER_NONE/- text/html
1604791332.093 0 10.8.0.2 TCP_DENIED/403 4033 CONNECT www.google.com:443 - HIER_NONE/- text/html
1604791576.625 91 10.8.0.2 TCP_MISS/200 854 POST http://ocsp.pki.goog/gts1o1core - HIER_DIRECT/172.217.161.67 application/oc
sp-response
ファイアフォックスでgoogleにアクセスしました。
次は【https://dlsoft.dmm.com/list/article=keyword/id=7405/】にアクセスしてみます。
1604792955.033 419 10.8.0.2 TCP_TUNNEL/200 23575 CONNECT dlsoft.dmm.com:443 - HIER_DIRECT/202.6.247.195 -
dlsoft.dmm.comしか読み取れませんでした。
次は【http://games.dmm.com/detail/kancolle/】にアクセスしてみます。
1604792094.329 521 10.8.0.2 TCP_MISS/200 12301 GET http://games.dmm.com/detail/kancolle/ - HIER_DIRECT/43.255.40.206 text/html
http://games.dmm.com/detail/kancolle/とURLが全て読み取れてしまいました。
次は【http://games.dmm.com/detail/kancolle/gallery/】にアクセスしてみます。
1604792363.381 412 10.8.0.2 TCP_MISS/200 10619 GET http://games.dmm.com/detail/kancolle/gallery/ - HIER_DIRECT/43.255.40.206 text/html
全て丸見えです。
次は【http://test:test@cly7796.net/wp/sample/restrict-access-with-htaccess/】でアクセスしてみます。 ※リンク生成はnoteの仕様です。
1604793443.724 81 10.8.0.2 TCP_MISS/401 722 GET http://cly7796.net/wp/sample/restrict-access-with-htaccess/ - HIER_DIRECT/182.48.49.47 text/html
http://test:test@cly7796.net/wp/sample/restrict-access-with-htaccess/と表示はされません。パケットキャプチャーを行えばIDとパスワードは傍受されてしまいます。
ならhttpsでは?
ヤマト決済デモサイト
管理画面:https://demo4.iplogic.co.jp/periodic/yamato/mysql/admin/
BASIC認証
ID:test
PASS:iplogic
【https://test:iplogic@demo4.iplogic.co.jp/periodic/yamato/mysql/admin/】
1604793828.964 206 10.8.0.2 TCP_MISS/200 1041 POST http://ocsp.int-x3.letsencrypt.org/ - HIER_DIRECT/23.44.172.72 application/ocsp-response
1604793834.023 5414 10.8.0.2 TCP_TUNNEL/200 4099 CONNECT demo4.iplogic.co.jp:443 - HIER_DIRECT/150.95.198.114 -
demo4.iplogic.co.jpのみの表示で傍受できることはありませんでした。
イカちゃんありがとう
$ sudo apt remove --purge squid
Please, remove /var/spool/squid yourself.
$ cd /var/spool/
$ ls
noteのリンク制御は意味不明
リンクを除去しているのに張らないでよ……
いくら除去しても再生成されます。
通信はおいしく頂いちゃいまーす♡
SSL通信時ではIDとパスワードが漏れることはないです。しかし、どのようなサイトを見たか?に関してはわかってしまいます。
たとえば【https://www.dmm.co.jp/digital/】や【https://www.dmm.com/rental/iroiro/】や【https://www.dmm.co.jp/mono/】であれば【dmmの何か】にアクセスしたと解釈されます。
【http://games.dmm.com/detail/kancolle/】であれば
【DMM GAMES】の【艦隊これくしょん -艦これ-】にアクセスしたとピンポイントで解釈されます。
わーお😁!
もしhttpアクセスをhttpsアクセスにリダイレクト処理を行うサーバーでhttpのアドレスでID:password@だと?
さぁ?どうでしょう。
SSL証明書の発行元の確認は必須ですよね?
もちろんです!