Secure Shell
Secure Shell(セキュア シェル、SSH)は、暗号や認証技術を利用して、安全にリモートコンピュータと通信するためのプロトコル。パスワードなどの認証を含むすべてのネットワーク上の通信が暗号化される。
概要
編集従来からTelnet、rsh、rloginなどリモートホストのシェルを利用するためのプロトコルは存在した。しかしながら、これらはネットワークに平文でパスワードを送信するため、パスワードを覗き見(盗聴)される危険性が高く、特にインターネット上では大きな問題であった。SSHは通信を暗号化した代替の通信プロトコルである。
オリジナルのSSHは、フィンランド出身のプログラマであるタトュ・ウルネン (Tatu Ylönen) により1995年に開発され、はじめフリーで公開された。しかし、同年12月には、SSH社 (SSH Communications Security) が設立され、プロプライエタリソフトウェアとなった。[1]
ファイルコピー用のコマンドrcpを代替するscpや、FTPを代替するsftpも用意されている。
SSHの暗号通信はいわゆるハイブリッド暗号であり:
- 鍵交換アルゴリズム(ディフィー・ヘルマン鍵共有など)で共通鍵暗号のセッション鍵を生成し
- 共通鍵暗号(トリプルDES、AESなど)で通信を暗号化し
- 公開鍵暗号(RSAやDSA)でホストやユーザ認証を行なう
認証方式は公開鍵認証の他にも、パスワード認証、ワンタイムパスワードなどが提供されており、各個人/企業の情報セキュリティポリシーに合わせて選択できる。
なりすましを防止するための仕組みも充実している。
現在はバージョン1と2の2種類のプロトコルが共存している。バージョン1は既知の脆弱性があり推奨されない。
商用、フリーソフトウェア含めて幾つかの実装があり、特許や互換性の問題などでやや混乱があったが、2006年にSSHおよびその関連技術がRFCとして制定された[2]。2008年の時点で最も普及しているのは、オープンソースのOpenSSHである[3]。Linuxなどでも標準利用されており、現在では単にSSHと言った場合、OpenSSHの実装系を指すことが多い。
ソフトウェア
編集SSHサーバ
編集- OpenSSH (マルチプラットフォーム)
- SSH Tectia Server (マルチプラットフォーム)
- Reflection for Secure IT(マルチプラットフォーム)
- Dropbear (Unix系)
SSHクライアント
編集セキュリティリスク
編集SSH接続時にサーバ鍵のフィンガープリントを確認しないと、意図しないリモートコンピュータに接続している事に気づかず、通信内容を盗聴される恐れがある。
SSHサーバによっては、設定次第でブルートフォースアタックでシェルへのアクセスを許してしまう。IPAが発表している不正アクセスの届け出状況では、SSHポート経由でパスワードクラッキングが行われた例が繰り返し発表されている[4][5]。「パスワード管理の徹底」「セキュリティパッチの適用」「アクセスログの監視による攻撃の迅速な発見」のような対策に加えて、公開鍵認証を採用することをIPAは推奨している。
2023年10月頃にTerrapin Attackという中間者攻撃法が報告された[6]。
脚注
編集- ^ デジタル・インフォメーション・テクノロジーが フィンランドのサイバーセキュリティ企業 SSH Communications Securityと協業 ~ベストな補完関係により特権管理ソリューションを提供へ~
- ^ RFC 4250、RFC 4251、RFC 4252、RFC 4253、RFC 4254、RFC 4255、RFC 4256 を参照。
- ^ “Statistics from the current scan results”. 2009年3月8日閲覧。
- ^ “コンピュータウイルス・不正アクセスの届出状況(2005年11月分)について”. 情報処理推進機構. 2013年5月18日閲覧。
- ^ “コンピュータウイルス・不正アクセスの届出状況(2008年9月および第3四半期分)について”. 情報処理推進機構. 2013年5月18日閲覧。
- ^ SSH接続への中間者攻撃を可能にするエクスプロイト「Terrapin Attack」が発見される (Gigazine, 2023年12月20日)