Blog ブログ
Archive
OLDER
2018.04(1)
2018.03(1)
2017.10(1)
2017.07(2)
2017.06(2)
2017.05(2)
2017.04(2)
2017.03(1)
2017.02(2)
2017.01(1)
2016.12(2)
2016.11(2)
2016.10(2)
2016.09(1)
2016.06(1)
2016.03(1)
2016.02(1)
2016.01(1)
2015.12(2)
2015.11(1)
2015.10(3)
2015.09(1)
2015.08(1)
2015.07(1)
2015.06(2)
2015.05(1)
2015.04(2)
2015.03(4)
2015.02(8)
2015.01(2)
2014.12(4)
2014.11(2)
2014.10(1)
2014.09(1)
プロトコル選択の重要性 ~うわっ…私のパスワード見えすぎ~
どうも、CCS田中でございます。
少しづつ暖かくなったからか、もはや駐車場に鹿が徘徊するようになりました。
これから、虫も増えてくるんで山支度も必要ですね。
お題
今回の題材が「通信の暗号化」です。
普段から暗号化を利用した通信のやり取りを行われてますでしょうか。
使っているツール、有名やつだから暗号化とかばっちりでしょ。とか思ってませんか? (ないか)
残念ながら、利用するプロトコルによりますので、暗号化がされているとは限りません。
残念ながら、利用するプロトコルによりますので、暗号化がされているとは限りません。
社内の情報が外部に漏れたりしたら一大事ですよね。
事前に防ぐためにも適切なプロトコルを利用する事が必要になります。
よく利用されているプロトコルを見て
どのような問題があるか見ていきましょう。
どのような問題があるか見ていきましょう。
FTPとSFTP
FTPという単語。エンジニア以外の方でもご存知かと思います。
ファイルやり取りを行うためのプロトコルで「File Transfer Protocol」の略称になります。
サーバ上にソースアップしたり、リソースデータアップしたりするアレです。
それでは、SFTPとは何でしょうか?
FTPにSがついたから、SuperなFTP。凄いFTPなのか! 高速ー! ひゃっふぉーい。
残念ながら、違います。
「SSH File Transfer Protocol」になります。
先頭にSSHがついただけですね。
簡単に言えば、暗号化した状態でファイルのやり取りを行うためのプロトコルになります。
通信の暗号化といえば、AESや3DESがあって、ソルトだの何だの。
技術を聞いた事があるが、普段見えない所なので
暗号化していると言われてもピンときませんよね。
ピンとこないのならば、見てみよう。そうだ、パケットを見よう。
暗号化していると言われてもピンときませんよね。
ピンとこないのならば、見てみよう。そうだ、パケットを見よう。
FTPの通信内容を見てみる
まず、事前準備でFTPサーバの準備。
Macだと一瞬です。
- # 終わったらunloadしておいてください
- launchctl load -w /System/Library/LaunchDaemons/ftp.plist
それでは、おなじみtcpdumpの登場です。
ノイズが入らないように、lo0インターフェイスで待ち受けしましょう。
- sudo tcpdump -X -i lo0
次にサーバに接続を行います。
- ftp -d localhost
- Name (localhost:hoge-taro): hoge-taro
- Password: xxxxxxxxx
- ftp>ls
はい。ファイル一覧が表示され、接続確認がとれたと思います。
(コマンドがあれでしたら、普段利用されているWinSCPやFileZilla等のツールでもOKです)
続いて、tcpdumpのログを見てみましょう。
やり取りの流れが見えると思います。
順番に見ていくと、見覚えのある文字列が見えてきたと思います。
- $.lI$.lA331.User
- .hoge-taro.accept
- ed,.provide.pass
- word...
そう、あなたのユーザ名。即ちこれらの後に…
- .B.......7......
- $..H$.lIPASS.hog
- ehoge..
パスワードです。そのまんまです。
ひゃっふぉい。
SFTPの通信内容を見てみる
続いて、SuperなFTPを見てみましょう。
SSHサーバを起動させておきます。
Macの場合、System Preference/Sharing/Remote Login から起動可能です。
それでは、接続です。
- sftp localhost
- Password: xxxxxxxxx
- sftp>ls
接続出来る事を確認しました。
それでは、tcpdumpを見てみましょう。
……。…。…。
デタラメな文字やバージョン情報が見受けられますが
ユーザ情報にパスワード, やり取りしている情報が見えないですね。
これがSSHの力です。通信内容が読み取れなくなりました。
(下手な情報乗ってたら駄目なので、意図的に結果を貼り付けてません)
(下手な情報乗ってたら駄目なので、意図的に結果を貼り付けてません)
最後に
パケットを見てみる事で、暗号技術の恩恵を身近に感じる事が出来たと思います。
他にもtelnetやhttpも平文で送られるプロトコルいくつか存在します。
同じ方法で、パケットを監視してみると面白いです。
同じ方法で、パケットを監視してみると面白いです。
暗号化の所、社内だけなら良いですが
データが社外に流れていくので特に注意する必要があります。
大変な事になる前に、適切なプロトコルを利用して安心した生活を送れるようにしましょう。
パケットシリーズ何回か続けられたらと思います。
本で学んだ知識だけにならず、実際動かしてみましょう。
すぐに試せるものですし。
すぐに試せるものですし。