コンテンツにスキップ

Secure Shell

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。TAKAHASHI Shuuji (会話 | 投稿記録) による 2022年1月2日 (日) 13:00個人設定で未設定ならUTC)時点の版 (「ソフトウェア」セクションを作成して、「SSHサーバ」と「SSHクライアント」をその下に移動しました。また、リンクを修正しました。)であり、現在の版とは大きく異なる場合があります。

Secure Shell(セキュア シェル、SSH)は、暗号認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコルパスワードなどの認証部分を含むすべてのネットワーク上の通信が暗号化される。

概要

Secure Shell は、そもそもTelnetrshrloginなどといった、リモートホストのシェルを利用するための既存のプロトコルを代用する手段として考えられていた。TelnetやFTPは、ネットワーク上に平文でパスワードを送信してしまうため、パスワードをネットワーク経路上でのぞき見されてしまう(これを盗聴と呼ぶ)危険性が高く、商業的なインターネット空間では問題が大きかった。Telnet同様に、リモートホスト間でのファイルコピー用のコマンドrcpを代用するscpや、FTPを代用するためのsftpも用意されている。

SSHの暗号通信は、鍵交換アルゴリズム(ディフィー・ヘルマン鍵共有など)を用いて共通鍵暗号で使用するセッション鍵を生成し、共通鍵暗号トリプルDESAESなど)を用いて通信を暗号化し、公開鍵暗号RSADSA)を用いてホスト認証やユーザ認証を行なう、いわゆるハイブリッド暗号である。また、なりすましを防止するための認証の仕組みも充実している。認証方式も公開鍵認証の他にも、パスワード認証ワンタイムパスワードなどが提供されており、個々の情報セキュリティポリシーに合わせて選択できる。

現在は、バージョン1とバージョン2の2種類のプロトコルが共存している。脆弱性が発見されているため、バージョン1の利用は推奨されない。商用アプリケーションやフリーソフトウェアなど幾つかの実装があり、特許や互換性の問題などでやや混乱があったが、2006年にSSHのプロトコルおよびその関連技術がRFCとして制定された[1]。ただ、2008年の時点でもっとも一般に普及しているのは、オープンソースで開発されているOpenSSH[2]Linuxなどでも標準的に利用されているため、現在では単にSSHと言った場合、OpenSSHの実装系を指すことが多い。

ソフトウェア

SSHサーバ

  • OpenSSH (マルチプラットフォーム)
  • SSH Tectia Server (マルチプラットフォーム)
  • Reflection for Secure IT(マルチプラットフォーム)

SSHクライアント

SSHのセキュリティリスク

SSHクライアントの利用者がサーバ鍵の指紋を確認しない場合、意図しないリモートコンピュータに接続していても気づかず、通信内容を盗聴される恐れがある。

また、SSHサーバによっては、設定次第ではブルートフォースアタックによってシェルへのアクセスを許してしまう場合がある。例えば、IPAが発表している不正アクセスの届け出状況では、SSHポート経由でパスワードクラッキングが行われた例が繰り返して発表されている[3][4]。これらの事例を元に、「パスワード管理の徹底」「セキュリティパッチの適用」「アクセスログの監視による、攻撃の迅速な発見」のような対策に加えて、SSHサーバ運用時にはログインに公開鍵認証を採用することをIPAは推奨している。

脚注

  1. ^ RFC 4250RFC 4251RFC 4252RFC 4253RFC 4254RFC 4255RFC 4256 を参照。
  2. ^ Statistics from the current scan results”. 2009年3月8日閲覧。
  3. ^ コンピュータウイルス・不正アクセスの届出状況(2005年11月分)について”. 情報処理推進機構. 2013年5月18日閲覧。
  4. ^ コンピュータウイルス・不正アクセスの届出状況(2008年9月および第3四半期分)について”. 情報処理推進機構. 2013年5月18日閲覧。

関連項目