セキュリティ
OpenSSH は厳格なセキュリティプロセスで開発されており、
これはあの OpenBSD グループで有名になったものと同じやり方です。
より詳しい情報については、
OpenBSD セキュリティページ
をご覧ください。
- OpenSSH は、 RC4 暗号の
パスワード破り (password cracking) や、
繰り返し (replay)、
変更 (modification)
などの攻撃にやられません。OpenSSH が始まった当時、
すでに SSH 1 が RC4 ストリーム暗号を完全に間違って使っている
ことが知られていたため、RC4 はサポートされていませんでした。
- OpenSSH は、暗号化されていない接続での
クライアント転送攻撃 (client forwarding attacks)
にもやられません。なぜなら OpenSSH では最初から、
暗号化されていない接続はサポートされていなかったからです。
- OpenSSH は、IDEA 暗号化アルゴリズムで起きる
最後のパケット攻撃 (attacks on the last packet)
にもやられません。IDEA アルゴリズムはサポートされていないからです。
IDEA の特許からして、これは OpenSSH に含むには不適当です。
- OpenSSH はたとえ localhost といえどもホスト鍵チェックを行います。
そのため
ホスト鍵認証バイパス (authentication bypass)
攻撃にもやられません。
- OpenSSH は、
制御不能な X11 転送 (uncontrollable X11 forwarding)
攻撃にもやられません。X11 転送はデフォルトでは許可されていませんし、
ユーザが禁止することもできるからです。
- OpenSSH は SSH 1 プロトコルの欠陥を持っています。このため、
困難ではあるものの「情報を挿入させる攻撃 (insertion attack)」を受ける可能性が残っています。
CORE-SDI の
攻撃回避メカニズム (deattack mechanism)
によりほとんどの場合は回避できます。でもこの問題の解決には調査が必要です。
なぜなら SSH 1 プロトコルはまだ死に絶えてはいないからです。
- OpenSSH は
「2001年 2月 5日: SSH-1 力ずくのパスワード解析による欠陥 (SSH-1 Brute Force Password Vulnerability)」
Crimelabs Security Note CLABS200101
にも影響を受けません。
- OpenSSH 2.1.1 およびそれ以降のバージョンでは
リモートの攻撃者が
UseLogin を使った際に、sshd の特権によって任意のコマンドを実行できてしまう
ようなことはありません。UseLogin はデフォルトでは禁止されています。
この問題は OpenSSH 2.1.1 で修正されています。
- OpenSSH 2.2.0 およびそれ以降のバージョンは
「2001年 2月 7日: SSH-1 セッション鍵復元による欠陥 (SSH-1 Session Key Recovery Vulnerability)」
CORE-SDI Advisory CORE-20010116 に対して安全です。
OpenSSH は接続速度に制限を課しており、この攻撃を実行不可能なものに
しています。これに加えて、Bleichenbacher oracle は
2001年 1月 29日以降、完全に閉じられています。
- OpenSSH 2.3.0 およびそれ以降のバージョンは
「2001年 2月 8日: SSH-1 デーモンにおける CRC32 埋め合わせ攻撃検出器の欠陥 (SSH-1 Daemon CRC32 Compensation Attack Detector Vulnerability)」
RAZOR Bindview Advisory CAN-2001-0144
に対して安全です。
CRC32 埋め合わせ攻撃検出器 (compensation attack detector) に存在したバッファオーバーフローは、
リモートでの root アクセスを可能にしてしまうものでした。
この問題は OpenSSH 2.3.0 では解決されています。しかしながら
これ以前のバージョンではまだやられてしまいます。
- OpenSSH 2.3.0 およびそれ以降のバージョンでは
悪意のあるサーバがクライアントの X11 ディスプレイあるいは ssh-agent にアクセスできてしまう
ようなことはありません。
この問題は OpenSSH 2.3.0 で修正されています。
- OpenSSH 2.3.1 は開発スナップショットのひとつで、
リリースはされていませんが、これには
「2001年 2月 8日: OpenSSH-2.3.1 で、認証を回避できる欠陥 (Authentication
By-Pass Vulnerability)」
OpenBSD Security Advisory
がありました。これはプロトコル 2 で公開鍵認証が許可されているときに、
認証をバイパスできてしまうというものです。この欠陥は
OpenSSH 2.3.1 にのみ存在します。これは 3週間の内部向け開発リリースで、
OpenSSH 2.3.0 およびこれ以後のバージョンには、この問題は
ありません。
- OpenSSH 2.9.9 およびそれ以降のバージョンは、
ユーザに
X11 転送が許可されているときに、"cookies" という名前のファイルを消させる
ようなことはしません。
X11 転送はデフォルトでは禁止されています。
- OpenSSH 2.9.9 およびそれ以降のバージョンは
「2001年 9月 26日: OpenSSH の SSH2 プロトコル公開鍵認証における、
接続元 IP ベースによるアクセス制限の脆弱性 (Weakness in OpenSSH's source IP based access control)」
OpenSSH Security Advisory
に対して安全です。
- OpenSSH 3.0.2 およびそれ以降のバージョンは
UseLogin が許可されているとき login(1) に環境変数を渡す
ことを禁じています。
すべての OpenSSH リリースで、UseLogin オプションはデフォルトでは
禁止になっています。
- OpenSSH 3.1 およびそれ以降のバージョンは
「2002年 3月 7日: 経路コードにおける“1バイトだけ行きすぎてしまう
(off-by-one)”エラー (Off-by-one error in the channel code)」
OpenSSH
Security Advisory
に対して安全です。
- OpenSSH 3.2.1 およびそれ以降のバージョンは
「2002年 4月 21日: AFS/Kerberos トークンパスコードにおける
バッファオーバーフロー
(Buffer overflow in AFS/Kerberos token passing code)」
OpenSSH
Security Advisory
に対して安全です。OpenSSH 3.2.1 以前のバージョンは、
AFS/Kerberos トークンパスの機能をつけてコンパイルされ、それが
(システムや sshd_config で) 許可されていると、
特権ユーザでのアクセスを許してしまいます。
- OpenSSH 3.4 およびそれ以降のバージョンは
「2002年 6月 26日: OpenSSH リモートチャレンジの脆弱性
(OpenSSH Remote Challenge Vulnerability)」
OpenSSH
Security Advisory
に対して安全です。
- OpenSSH 3.7.1 およびそれ以降のバージョンは
「2003年 9月 16日: OpenSSH バッファ管理におけるバグ
(OpenSSH Buffer Management bug)」
OpenSSH
Security Advisory および CERT Advisory
CA-2003-24
に対して安全です。
- 移植版 OpenSSH 3.7.1p2 およびそれ以降のバージョンは
「2003年 9月 23日: 移植版 OpenSSH 複数の PAM 脆弱性
(Portable OpenSSH Multiple PAM vulnerabilities)」
OpenSSH
Security Advisory
に対して安全です。(この問題は OpenBSD 専用バージョンには影響ありません)
www@openbsd.org
$OpenBSD: security.html,v 1.26 2005/09/03 16:41:44 saad Exp $