目次

~~SLIDESHOW thesis~~

sshの公開鍵認証について考えてみよう

↑タイトル横右端のスライドっぽい絵をクリックしたらスライド表示になります.JavaScript有効にしてくださいね. <div style="line-height: 1.2em; font-weight: bold; font-size: 1.2em;"><a href="http://www.ten-forward.ws/">加藤泰文 / TenForward</a></div> <script language="javascript"> var foodiv; if (document.getElementById) { foodiv = document.getElementById('footer'); } else { foodiv = document.footer; } foodiv.innerHTML = '<h1>sshの公開鍵認証について考えてみよう</h1><h2>第2回関西アンカンファレンス 2011.01.08</h2>'; </script>

自己紹介

ssh の公開鍵認証が意外に理解されていない事件に何度か遭遇しました.

おさらい ~ ssh

おさらい ~ 暗号

暗号で防ぐモノ.

おさらい ~ 公開鍵暗号

話はそれますが

暗号通信で大事な事.

ssh を使わないと

ssh で暗号化

ssh で公開鍵認証

  1. 公開鍵をサーバに登録
  2. アクセス時に秘密鍵を持っている事を宣言
  3. サーバは秘密鍵に対応する公開鍵があるかどうか確認し,本当に秘密鍵を持っているかどうかの証明を求める
  4. 秘密鍵の所有を証明する
  5. サーバでその証明を確認

ssh で公開鍵認証

ここで ssh の公開鍵認証に関する勘違いの事例を見て何が間違っているか考えてみましょう.

事例 (1)

サーバ管理者とアプリケーションの管理者が分かれているサーバ環境で管理を行うケースでのエンジニア同士の会話…

<color blue>サーバ管理者</color> : 「アプリケーションやコンテンツの管理は ssh 経由で行います.セキュリティを考えて ssh は公開鍵認証のみ許可します.公開鍵を root ユーザに登録しますので,アクセスして管理を行って下さいね」

<color green>アプリ管理者</color> :「秘密鍵と公開鍵を作成しましたので送りますね! 秘密鍵のパスワードは xxxxx です! 登録お願いします」

メールで公開鍵と<color red>秘密鍵が</color>送られてきました.:-(

事例 (2)

公開鍵認証のみ有効の ssh サーバでアプリを管理しているサーバで,アプリ管理者がサーバにアクセスできなくなってサーバ管理者に相談… アプリ管理者の公開鍵は root ユーザに登録されています.

<color green>アプリ管理者</color>: 「サーバにアクセスできなくなりました.調べてもらえますか? 私のパスワードは xxxxx です」

仕組みをちゃんと理解して,その意味を考えて使いましょう.(sshに限らず)

秘密鍵の扱い

パスフレーズ(1)

パスフレーズ(2)

まとめ

参考

ありがとうございました