ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11.1 の管理: セキュリティーサービス Oracle Solaris 11.1 Information Library (日本語) |
パート II システム、ファイル、およびデバイスのセキュリティー
10. Oracle Solaris のセキュリティー属性 (参照)
22. Kerberos エラーメッセージとトラブルシューティング
Secure Shell デーモン (sshd) は通常、ネットワークサービスが開始されるブート時にブートされます。デーモンは、クライアントからの接続を待機します。Secure Shell セッションは、ssh、scp、または sftp コマンドが実行されると開始します。接続を受信するたびに、新しい sshd デーモンがフォークされます。フォークされたデーモンは、鍵の交換、暗号化、認証、コマンドの実行、およびクライアントとのデータ交換を行います。Secure Shell セッションの特性は、クライアント構成ファイルとサーバー構成ファイルによって決定されます。コマンド行引数は、構成ファイルの設定をオーバーライドできます。
クライアントとサーバーは、相互に認証する必要があります。認証に成功したあと、ユーザーはコマンドをリモートで実行でき、ホスト間でデータをコピーできます。
サーバー側の sshd デーモンの動作は、/etc/ssh/sshd_config ファイルのキーワードを設定することで変更できます。たとえば、sshd_config ファイルにより、サーバーにアクセスするときに使用する認証タイプを変更できます。サーバー側の動作は、sshd デーモンを起動するときに、コマンド行オプションによって変更することもできます。
クライアント側の動作は、Secure Shell のキーワードで変更できます。キーワードの優先順位は次のとおりです。
コマンド行オプション
ユーザーの構成ファイル (~/.ssh/config)
システム全体の構成ファイル (/etc/ssh/ssh_config)
たとえば、ユーザーは、コマンド行で -c aes256-ctr,aes128-ctr,arcfour を指定することによって、aes128-ctr を優先しているシステム全体の構成 Ciphers の設定をオーバーライドできます。これで、最初の暗号化方式 aes256-ctr が優先されるようになります。
Secure Shell プロトコルは、クライアントユーザー/ホストの認証、およびサーバーホストの認証をサポートしています。Secure Shell セッションを保護するために、暗号化鍵が交換されます。Secure Shell は、認証と鍵交換のためのさまざまな方法を提供します。その中には、任意のものもあります。クライアント認証メカニズムは、表 15-1 に一覧表示されています。サーバーは、既知のホスト公開鍵を使用して認証されます。
認証については、Secure Shell はユーザー認証と、通常はパスワードを必要とする汎用対話型認証をサポートしています。Secure Shell はまた、ユーザー公開鍵と信頼できるホスト公開鍵による認証もサポートしています。鍵は、RSA の場合と DSA の場合があります。セッション鍵の交換は、サーバー認証手順で署名される Diffie-Hellman 短期鍵の交換で構成されます。さらに、Secure Shell は認証に GSS 資格を使用することもできます。
Secure Shell で認証のために GSS-API を使用するには、サーバーが GSS-API のアクセプタの資格を持ち、クライアントが GSS-API のイニシエータの資格を持つ必要があります。mech_dh および mech_krb5 がサポートされています。
mech_dh では、サーバーは、root が keylogin コマンドを実行すると、GSS-API アクセプタの資格を持ちます。
mech_krb5 では、サーバーは、サーバーに対応するホスト主体が /etc/krb5/krb5.keytab で有効なエントリを持つと、GSS-API アクセプタの資格を持ちます。
クライアントは、次のどちらかによって、mech_dh に対するイニシエータの資格を持ちます。
keylogin コマンドが実行された。
pam_dhkeys モジュールが pam.conf ファイルで使用されている。
クライアントは、次のどちらかによって、mech_krb5 に対するイニシエータの資格を持ちます。
kinit コマンドが実行された。
pam_krb5 モジュールが pam.conf ファイルで使用されている。
Secure RPC での mech_dh の使用方法については、第 18 章ネットワークサービスの認証 (タスク)を参照してください。mech_krb5 の使用方法については、第 19 章Kerberos サービスについてを参照してください。メカニズムの詳細は、mech(4) および mech_spnego(5) のマニュアルページを参照してください。
認証が完了すると、ユーザーは通常、シェルまたはコマンド実行を要求して Secure Shell を使用します。ユーザーは、ssh のオプションを使用して、要求を行うことができます。要求には、擬似端末の配置、X11 または TCP/IP の接続の転送、セキュアな接続上での ssh-agent 認証プログラムの有効化などがあります。
ユーザーセッションの基本手順は次のとおりです。
ユーザーがシェルまたはコマンドの実行を要求し、セッションモードを開始します。
セッションモードでは、クライアント側では、データは端末を通して送受信されます。また、サーバー側ではシェルまたはコマンドを介して送受信されます。
データの転送が完了すると、ユーザープログラムは終了します。
既存の接続を除いて、すべての X11 接続と TCP/IP 接続の転送を停止します。既存の X11 接続と TCP/IP 接続は、開いたままです。
サーバーは、終了ステータスのメッセージをクライアントに送信します。開いたままになっていた転送先のポートなど、すべての接続が切断されると、クライアントはサーバーへの接続を切断します。その後、クライアントが終了します。