SSH安全なネットワークプロトコル

982 ワード

SSH(Secure Shell)とは?
SSHは、コンピュータ間の暗号化されたログインのためのネットワークプロトコルです.
1人のユーザ , SSH (ローカルコンピュータ上でサーバ上のログを表示してSSHログインを使用する)であれば、このログインは安全であり、途中でキャプチャされてもパスワードが漏洩しないと考えられます.
基本的な使い方
SSHは主にリモートログインに用いられる.ユーザー名userでリモートホストhostにログインすると仮定します.簡単なコマンドでいいです.
ssh user@host

SSHのデフォルトポートは22です.つまり、ログイン要求はリモートホストの22ポートに送信されます.pパラメータを使用して、このポートを変更できます.
ssh -p 2222 user@host

仲介者攻撃
SSHのセキュリティは公開鍵暗号化を採用しているためである.プロセス全体は,(1)リモートホストがユーザのログイン要求を受信し,自分の公開鍵をユーザに送信する.(2)ユーザはこの公開鍵を用いて,ログインパスワードを暗号化して送り返す.(3)リモートホストは自分の秘密鍵を用いて,ログインパスワードを復号し,パスワードが正しい場合はユーザのログインに同意する.
しかし、この過程で仲介者に攻撃される可能性がある.このプロセス自体は安全ですが、ログイン要求をキャプチャし、リモートホストと偽って偽造された公開鍵をユーザーに送信する人がいると、ユーザーは真偽を判別しにくいというリスクがあります.httpプロトコルとは異なり、SSHプロトコルの公開鍵は証明書センター(CA)公証がないため、つまり、すべて自分で発行されている.
攻撃者がユーザとリモートホストとの間(例えば、共通のwifi領域)に挿入された場合、偽造された公開鍵でユーザのログインパスワードを取得することが想定される.このパスワードでリモートホストにログインすると、SSHのセキュリティメカニズムがなくなります.このリスクは有名な「仲介者攻撃」です