暗号化というそもそもの意味と意義 ssh, httpsを具体的にtcpdumpで実証しました
今回は暗号化がどういうものなのかを説明します。
#6 暗号化というそもそもの意味と意義 ssh, httpsを具体的にtcpdumpで実証しました【講義】 - YouTube
ssh, https, vpn, ipv6などは暗号化されている技術の一つです。
なんとなく安全なものだとはわかっていても具体的にはイメージがつかない人も多いと思うので、実際tcpdumpを用いて動画をとりました。
まずは、phpからmysqlに接続してSQLを通信傍受できるかどうかを確認します。
insert文を実行して、それがtcpdumpで実際のinsert文を確認できました。
この環境ではmysqlの通信は暗号化されていないためSQLが丸見えとなります
この環境ではphpのlocalhostからmysqlのlocalhostなので丸見えでも問題ないですが例えばMySQLサーバーをパブリックな環境として公開してどこからでもアクセスできるようにした場合はそのデータが通るネットワークすべてに通信傍受される危険性があります
なので、一般的には内部ネットワークからのIPのみ許可する設定をしている事が多いです。
他にはSSHでポートフォワーディングして直接接続せず暗号化してから接続する方法もあります
MySQL Workbenchなどでも TCP/IP over an SSH connectionを選んで暗号化する方法もSSHのポートフォワーディングと実質的に同じです。
次にHTTP Sの暗号化の確認をしていきたいと思います。
まずはhttpでアカウントとパスワード入力してPOSTします。
そのPOSTのデータをtcpdumpで確認します。
POSTされたアカウントとパスワードが確認できました。
次にhttpsにしてtcpdumpしてみます。しかしPOSTされたデータが取得できませんでした。
このようにhttpでは容易にパスワードを傍受できてしまいます。
今ではほとんどのWEBページでhttpsになっているので第三者がデータを傍受できる事はできなくなってきてます。
昔はプロキシサーバーが社内のイントラネットにあって会社に不要なWEBページをブロックしたり、どういったアクセスや入力しているのかを管理していましたが、HTTPSが主流になってそういった事も少なくなりました
なぜならプロキシサーバーを立ててもHTTPSで暗号化されていてデータが見れないので管理ができないからです。
アイスマンがWiFiからクレジットカードのデータを盗んだ方法もおそらくhttpで通信傍受をして盗んだのではと思います。
こういったように実際tcpdumpでデータの中身を見れるかどうかを検証しながら説明するとわかりやすく理解できるのではと思いターミナルの画面を録画して説明してみました
登録日:
更新日: