セキュリティ対策 - Shinichi0713/security_specialist GitHub Wiki

目的

脅威に対するセキュリティ案をまとめる

SSH関係

SSHの手順

SSH はざっくりつぎのような手順。

① A と B の間で 鍵交換 が行われ、暗号化で使う情報を共有する ② ①と同時に ホスト認証 が行われ、B が本物の B であることを A が確認する ③ 通信を暗号化しながら ユーザー認証 が行われ、B が A を信頼し、接続を許可する

image

SSHの秘密鍵

クライアント側で生成されて、誰にも教えずに大切に保管するもの。

秘密鍵とサーバーに登録された公開鍵がペアで機能して、認証が行われる仕組み。

つまり、サーバーにアクセスする際の「本人確認」に使われる。

ssh agent forwarding

概要

ssh agentで登録させた情報を、接続後のssh接続に引き継ぐやり方。 ssh秘密鍵をサーバーにコピーしないで、ssh秘密鍵認証する際に使われる。

SSH秘密鍵認証 VS 公開鍵認証

SSH秘密鍵認証と公開鍵認証は、実は同じプロセスの中で使われる。

  1. 公開鍵認証 これは、サーバーに自分の公開鍵を登録しておいて、認証時にそのペアになる秘密鍵でログインする方法だよ。これによって、パスワードを使わずに安全にアクセスできる!
  2. 秘密鍵の役割 秘密鍵は、認証を行う本人だけが持っている鍵で、それを使ってサーバーからの挑戦(暗号データ)に正しい応答を返すことで本人確認が行われる。

image

a. サーバーA上にのみあるssh秘密鍵をサーバーAのssh agentに登録

b. サーバーBにssh公開鍵認証で接続

c. そのままサーバーBからサーバーCに接続する際に

d. ssh秘密鍵をサーバーAのssh agentから引き継ぎ、ssh公開鍵認証する