Go to main content
Oracle® Solaris 11.3 での Secure Shell アクセスの管理

印刷ビューの終了

更新: 2017 年 3 月
 
 

Secure Shell の OpenSSH 実装

Oracle Solaris では Secure Shell の 2 つの実装が提供されており、sunssh パッケージのレガシーの SunSSH 実装と、オプションの openssh パッケージの OpenSSH 実装です。Oracle Solaris の OpenSSH は、バージョン 7.2p2 に加えて Oracle Solaris 環境に特有の追加機能に基づいて構築されています。

SunSSH がデフォルトですが、新しい OpenSSH 実装に切り替えることができます。一度に使用できる実装は 1 つだけです。


Caution

注意  -  Oracle Solaris 11.3 SRU 5 からは、OpenSSH は、システム管理者からの積極的な注意が必要なバージョンにアップグレードされています。OpenSSH への Oracle Solaris の変更および OpenSSH への Oracle Solaris の追加機能を参照してください。


OpenSSH への Oracle Solaris の変更

OpenSSH 7.1p1 への前回のアップグレード後、Oracle Solaris 11.3 では Secure Shell の openssh 実装が OpenSSH 7.2p2 にアップグレードされています。


注 -  システムがまだ SunSSH を使用している場合、OpenSSH の変更は、システムの動作に影響を与えません。

Secure Shell プロトコル 1 サポートが削除される

Oracle Solaris 11.3 SRU 5 からは、Secure Shell プロトコル 1 (v1) サポートは、サーバー側とクライアント側の両方で OpenSSH から削除されました。v1 のみをサポートするネットワークエンティティーは、ほとんどが古いネットワークルーターです。このようなデバイスには OpenSSH の Oracle Solaris 11.3 実装を使用して接続できなくなりました。ただし、Oracle Solaris 10 ユーザーは SunSSH を使用して、v1 を使用するシステムに引き続きアクセスできます。さらに、Oracle Solaris 11.3 ユーザーも SunSSH を使用して、v1 を使用するシステムに引き続きアクセスできます。

安全でないアルゴリズムが OpenSSH から削除される

安全でないアルゴリズムを削除するように、暗号化規格および MAC のデフォルトセットが変更されました。Oracle Solaris 11.3 SRU 5 リリース以降、デフォルト構成で次の暗号化規格および MAC のみが有効になります。

Ciphers
----
chacha20-poly1305@openssh.com
aes128-ctr
aes192-ctr
aes256-ctr
aes128-gcm@openssh.com
aes256-gcm@openssh.com

MACs
----
umac-64-etm@openssh.com
umac-128-etm@openssh.com
hmac-sha2-256-etm@openssh.com
hmac-sha2-512-etm@openssh.com
hmac-sha1-etm@openssh.com
umac-64@openssh.com
umac-128@openssh.com
hmac-sha2-256
hmac-sha2-512
hmac-sha1

サポートされているすべての暗号化規格および MAC を一覧表示するには、次のコマンドを使用してください。

root@source# ssh -Q cipher
root@source# ssh -Q MACs

詳細は、sshd_config(4) および ssh_config(4) のマニュアルページを参照してください。

diffie-hellman-group1-sha1 がデフォルトで無効になる

diffie-hellman-group1-sha1 鍵交換は、もうセキュアでないと見なされているため、Secure Shell のクライアント側およびサーバー側の両方で無効になります。

サーバーが diffie-hellman-group1-sha1 のみをサポートする場合は、diffie-hellman-group-exchange-sha256 をサポートするようにそれらをアップグレードしてください。または、2 番目の選択肢として、diffie-hellman-group14-sha1 をサポートするバージョンに Oracle Solaris をアップグレードしてください。

ピアをアップグレードすることを選択できない場合、diffie-hellman-group-exchange-sha256diffie-hellman-group14-sha1、または diffie-hellman-group-exchange-sha1 をサポートしないシステムに接続しているユーザーは、次のように diffie-hellman-group1-sha1 を有効にできます。

root@source# ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 user@system1

Secure Shell の OpenSSH 実装の場合、サーバー管理者は、セキュアでない鍵交換方式を明示的に有効化することで、セキュアな鍵交換方式をサポートしないシステムからのログインを許可できます。この行を /etc/ssh/sshd_config ファイルに追加してください。

KexAlgorithms 
diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,
diffie-hellman-group-exchange-sha256

それから、Secure Shell サーバーを再起動します。


注 -  KexAlgorithms キーワードは OpenSSH 実装に固有であるため、SunSSH 実装によって認識されません。

詳細については、Using OpenSSH with Legacy SSH Implementationsを参照してください。

ssh-dss 鍵がデフォルトで無効になる

ssh-dss および ssh-dss-cert-* ホストおよびユーザー鍵タイプは本質的に弱いため、実行時にデフォルトで無効になります。

公開鍵認証で ssh-dss 鍵を使用していた場合は、新しい ssh-rsa 鍵を作成し、既存の ssh-dss 鍵をすべての authorized_keys ファイルから削除してください。新しい鍵の作成手順については、Secure Shell で使用する公開鍵と非公開鍵のペアを生成する方法を参照してください。

ssh-rsa および ssh-dss ホスト鍵がまだ存在しない場合、svc:/network/ssh:default が両方を作成します。したがって、Oracle Solaris サーバーは通常 ssh-dss ホスト鍵と ssh-rsa 鍵を持ちます。まれに、サーバーに ssh-dss ホスト鍵だけがプロビジョニングされていた場合には、ssh_rsa ホスト鍵を追加してください。鍵を作成できない場合、ユーザーはこれらのサーバーに接続して ssh-dss 鍵タイプを有効にできます。

root@source# ssh -oHostKeyAlgorithms=+ssh-dss user@somehost

詳細については、Using OpenSSH with Legacy SSH Implementationsを参照してください。

OpenSSH の UseDNS のデフォルト値が No

sshd_config ファイルで UseDNS 値が指定されていない場合、UseDNS のデフォルト値は No です。以前のデフォルト値にはセキュリティー利点がありませんでした。

UseDNS 値が No であることは、ssh サービスを構成するときにホスト名を使用できないことを意味します。

2 つの選択肢があります。

  • sshd_config ファイルで明示的に UseDNS yes を指定できます。

  • 次の例のように、sshd_config ファイルでホスト名の代わりに IP アドレスを使用できます。

    • sshd_config ファイルの Match ブロックセクションで、Host 条件の代わりに Address 条件を使用します。

      たとえば、Match Host somehost.domainMatch Address 192.168.0.10 に置き換えます。

    • AllowUsersAllowGroupsDenyUsers、および DenyGroupssshd_config エントリで、ホスト名の代わりに IP アドレスを使用します。

      たとえば、AllowUsers jsmith@somehost.domainAllowUsers jsmith@192.168.0.10 に置き換えます。

    • /etc/ssh/shosts.equiv または ~/.shosts エントリで、ホスト名の代わりに IP アドレスを使用します。

      たとえば、somehost.domain192.168.0.10 に置き換えます。

    • ~/.ssh/authorized_keys エントリで、from オプションを指定するときにホスト名の代わりに IP アドレスを使用します。

      たとえば、これを

      from="somehost.domain" ssh-rsa AAAAB3...Q== jsmith@work

      次と置き換えます

      from="192.168.0.10" ssh-rsa AAAAB3...Q== jsmith@work

OpenSSH で TCP ラッパーがサポートされていない

OpenSSH は TCP ラッパーをサポートしません。以前に TCP ラッパーによって適用されていた構成を保持するには、sshd_config ファイルを変更するかファイアウォールを使用する必要があります。


注 -  Secure Shell の openssh 実装は引き続き TCP 接続を使用します。TCP ラッパー関数 libwrap のみがサポートされなくなります。

TCP ラッパーを使用していた場合は、ログインを許可または拒否するために /etc/hosts.allow または /etc/hosts.deny を使用していました。sshd_config ファイルで Match ブロックを使用して同等の構成を設定できます。

たとえば、10.163.0.0/16 サブネットからのログインのみを許可するため、TCP ラッパーを次のように設定していたとします。

root@jsmith-cz:~# cat /etc/hosts.allow
    sshd : 10.163.
    root@jsmith-cz:~# cat /etc/hosts.deny
    ALL : ALL 

sshd_config ファイル内の次のエントリは、同等の制約を設定します。

Match Address *,!10.163.0.0/16
            MaxAuthTries 0

別の選択肢は、ファイアウォールを構成してアクセスを制御することです。これらの例に似た設定をファイアウォールで適用できます。ファイアウォールアクセス制御は、ネットワーク接続がカーネル内で確立される前に発生します。

OpenSSH への Oracle Solaris の追加機能

OpenSSH は、システムにインストール可能なオプションパッケージ openssh です。機能が openssh 実装に追加されていますが、OpenSSH プロジェクトとの互換性は維持されています。

次の Oracle Solaris 機能が openssh 実装に追加されました。

  • Secure Shell クライアントからのバナーメッセージの表示を無効にするために使用できる DisabledBanner キーワード。詳細は、ssh_config(4) のマニュアルページを参照してください。

  • PAM のサポート。

    sunssh 実装内にある PAMServiceName および PAMServicePrefix キーワードは、openSSH 実装に移行されました。

  • Oracle Solaris 監査サポート。

  • 書き込み不可のホームディレクトリで Xforwarding が機能します。

  • RFC 4462 で規定されている GSS-API 認証 Diffie-Hellman 鍵交換。

  • ホストに基づく認証のための役割のログインが可能です (PAM および sshd で適切に構成されている場合)。

OpenSSH の委任された資格は、資格がほかのプラットフォーム上に格納される方法とは異なる方法で Oracle Solaris に格納されます。

  • 委任された資格を /tmp/krb5cc_101_WO4082 などのデフォルト以外の資格キャッシュに格納する OpenSSH プロジェクトとは異なり、Secure Shell の openssh 実装では、/tmp/krb5cc_101 などのデフォルトの資格キャッシュが使用されます。

  • デフォルトの資格キャッシュ内の資格は、Kerberos によって保護される NFS ファイルシステムにアクセスするために使用できます。

    詳細は、Oracle Solaris 11.3 での Kerberos およびその他の認証サービスの管理を参照してください。


注 -  Secure Shell の openssh 実装は FIPS 140-2 モードで実行するように構成できません。また、OpenSSH の sftp 転送は、Oracle Solaris 監査サービスに統合されていません。

Secure Shell パッケージおよび構成ファイル

openssh IPS パッケージが導入されたため、Oracle Solaris では 4 つの Secure Shell パッケージが提供されます。

network/ssh

sunssh 実装のコンポーネント

network/openssh

openssh 実装のコンポーネント

net/work/ssh/ssh-utilities

2 つの実装が共有する Secure Shell ユーティリティー

/service/network/ssh-common

SMF サービスおよび 2 つの実装が共有する Secure Shell システム構成ファイル

    SunSSH および OpenSSH は次の Secure Shell システム構成ファイルを共有します。

  • /etc/ssh/ssh_config

  • /etc/ssh/sshd_config

  • /etc/ssh/moduli