JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 11.1 の管理: セキュリティーサービス     Oracle Solaris 11.1 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

パート I セキュリティーの概要

1.  セキュリティーサービス (概要)

パート II システム、ファイル、およびデバイスのセキュリティー

2.  マシンセキュリティーの管理 (概要)

3.  システムアクセスの制御 (タスク)

4.  ウイルススキャンサービス (タスク)

5.  デバイスアクセスの制御 (タスク)

6.  BART を使用したファイル整合性の検証 (タスク)

7.  ファイルアクセスの制御 (タスク)

パート III 役割、権利プロファイル、特権

8.  役割と特権の使用 (概要)

9.  役割に基づくアクセス制御の使用 (タスク)

10.  Oracle Solaris のセキュリティー属性 (参照)

パート IV 暗号化サービス

11.  暗号化フレームワーク (概要)

12.  暗号化フレームワーク (タスク)

13.  鍵管理フレームワーク

パート V 認証サービスと安全な通信

14.  プラグイン可能認証モジュールの使用

15.  Secure Shell の使用

Secure Shell (概要)

Secure Shell 認証

企業における Secure Shell

Secure Shell と OpenSSH プロジェクト

Secure Shell と FIPS-140

Secure Shell の構成 (タスク)

Secure Shell の構成 (タスクマップ)

ホストに基づく認証を Secure Shell に設定する方法

Secure Shell のポート転送を構成する方法

Secure Shell デフォルトのユーザーおよびホスト例外を作成する方法

sftp ファイルのための切り離されたディレクトリを作成する方法

Secure Shell の使用 (タスク)

Secure Shell の使用 (タスクマップ)

Secure Shell で使用する公開鍵と非公開鍵のペアを生成する方法

Secure Shell の公開鍵のパスフレーズを変更する方法

Secure Shell を使用してリモートホストにログインする方法

Secure Shell でのパスワードのプロンプトを減らす方法

Secure Shell を使用して ZFS をリモートで管理する方法

Secure Shell のポート転送を使用する方法

Secure Shell を使用してファイルをコピーする方法

ファイアウォール外部のホストへのデフォルトの Secure Shell 接続を設定する方法

16.  Secure Shell (参照)

17.  簡易認証セキュリティー層の使用

18.  ネットワークサービスの認証 (タスク)

パート VI Kerberos サービス

19.  Kerberos サービスについて

20.  Kerberos サービスの計画

21.  Kerberos サービスの構成 (タスク)

22.  Kerberos エラーメッセージとトラブルシューティング

23.  Kerberos 主体とポリシーの管理 (タスク)

24.  Kerberos アプリケーションの使用 (タスク)

25.  Kerberos サービス (参照)

パート VII Oracle Solaris での監査

26.  監査 (概要)

27.  監査の計画

28.  監査の管理 (タスク)

29.  監査 (参照)

用語集

索引

Secure Shell の構成 (タスク)

Secure Shell は、インストール時に構成されます。デフォルトを変更するには、管理者の介入が必要です。次のタスクは、デフォルトの一部を変更する方法を示しています。

Secure Shell の構成 (タスクマップ)

次のタスクマップでは、Secure Shell の構成手順を示します。

タスク
説明
参照先
ホストに基づく認証を構成します。
クライアントとサーバーでのホストに基づく認証を構成します。
接続待ち時間を処理するためのバッファーサイズを増やします。
待ち時間の長い高帯域幅ネットワークのために、TCP プロパティー recv_buf の値を増やします。
ポート転送を構成します。
ユーザーがポート転送を使用できるようにします。
Secure Shell システムデフォルトの例外を構成します。
ユーザー、ホスト、グループ、およびアドレスに対して、システムデフォルトとは異なる Secure Shell を指定します。
sftp 転送のために root 環境を切り離します。
ファイル転送のための保護されたディレクトリを提供します。

ホストに基づく認証を Secure Shell に設定する方法

次の手順によって公開鍵システムが設定され、クライアントの公開鍵がサーバー上での認証に使用できるようになります。また、ユーザーは、公開鍵と非公開鍵のペアを作成する必要があります。

この手順での「クライアント」および「ローカルホスト」という用語は、ユーザーが ssh コマンドを入力するマシンを指しています。「サーバー」および「リモートホスト」という用語は、クライアントがアクセスを試みるマシンを指しています。

始める前に

root 役割になる必要があります。詳細は、「割り当てられている管理権限を使用する方法」を参照してください。

  1. クライアントで、ホストに基づく認証を有効にします。

    クライアントの構成ファイル /etc/ssh/ssh_config で、次のエントリを入力します。

    HostbasedAuthentication yes

    このファイルの構文については、ssh_config(4) のマニュアルページを参照してください。

  2. サーバーで、ホストに基づく認証を有効にします。

    サーバーの構成ファイル /etc/ssh/ssh_config で、同じエントリを入力します。

    HostbasedAuthentication yes

    このファイルの構文については、sshd_config(4) のマニュアルページを参照してください。

  3. サーバーで、クライアントが信頼されるホストとして認識されるようにするファイルを構成します。

    詳細については、sshd(1M) のマニュアルページの「FILES」のセクションを参照してください。

    • サーバーの /etc/ssh/shosts.equiv ファイルへのエントリとしてクライアントを追加します。
      client-host
    • または、クライアント用のエントリをサーバー上の ~/.shosts ファイルに追加するようにユーザーに指示することもできます。
      client-host
  4. サーバーで、sshdデーモンが信頼されるホストのリストにアクセスできるようにします。

    /etc/ssh/sshd_config ファイルで、IgnoreRhostsno に設定します。

    ## sshd_config
    IgnoreRhosts no
  5. 使用するサイトの Secure Shell のユーザーが両方のホストでアカウントを持つようにします。
  6. クライアントの公開鍵をサーバー上に置くために、次のどちらかを行います。
    • サーバー上の sshd_config ファイルを変更後、クライアントの公開ホスト鍵を ~/.ssh/known_hosts ファイルに追加するようにユーザーに指示します。
      ## sshd_config
      IgnoreUserKnownHosts no

      ユーザーへの指示については、「Secure Shell で使用する公開鍵と非公開鍵のペアを生成する方法」を参照してください。

    • クライアントの公開鍵をサーバーにコピーします。

      ホスト鍵は、/etc/ssh ディレクトリに格納されます。鍵は、通常、最初のブート時に sshd デーモンによって生成されます。

      1. サーバー上の /etc/ssh/ssh_known_hosts ファイルに鍵を追加します。

        クライアントで、バックスラッシュなしで 1 行に次のコマンドを入力します。

        # cat /etc/ssh/ssh_host_dsa_key.pub | ssh RemoteHost \
        'cat >> /etc/ssh/ssh_known_hosts && echo "Host key copied"'
      2. プロンプトが表示されたら、ログインパスワードを入力します。

        ファイルがコピーされると、「Host key copied」というメッセージが表示されます。

        /etc/ssh/ssh_known_hosts ファイルの各行は、スペースで区切られたフィールドで構成されています。

        hostnames algorithm-name publickey comment
      3. /etc/ssh/ssh_known_hosts ファイルを編集して、コピーしたエントリの最初のフィールドとして RemoteHost を追加します。
        ## /etc/ssh/ssh_known_hosts File
        RemoteHost <copied entry>

例 15-1 ホストに基づく認証を設定する

次の例では、各ホストがサーバーおよびクライアントとして構成されます。一方のホストのユーザーが、他方のホストへの ssh 接続を開始できます。次の構成によって、各ホストがサーバーおよびクライアントになります。

Secure Shell のポート転送を構成する方法

ポート転送によって、ローカルポートをリモートホストに転送することができるようになります。指定すると、ソケットはローカル側で、そのポートを待機します。また、リモート側のポートを指定することもできます。


注 - Secure Shell のポート転送では、TCP 接続を使用する必要があります。Secure Shell は、ポート転送のための UDP 接続をサポートしていません。


始める前に

root 役割になる必要があります。詳細は、「割り当てられている管理権限を使用する方法」を参照してください。

  1. ポート転送ができるようにリモートサーバーで Secure Shell の設定を構成します。

    /etc/ssh/sshd_config ファイルで AllowTcpForwarding の値を yes に変更します。

    # Port forwarding
    AllowTcpForwarding yes
  2. Secure Shell サービスを再起動します。
    remoteHost# svcadm restart network/ssh:default

    永続的なサービスの管理については、『Oracle Solaris 11.1 でのサービスと障害の管理』の第 1 章「サービスの管理 (概要)」および svcadm(1M) のマニュアルページを参照してください。

  3. ポート転送が使用できることを確認します。
    remoteHost# /usr/bin/pgrep -lf sshd
     1296 ssh -L 2001:remoteHost:23 remoteHost

Secure Shell デフォルトのユーザーおよびホスト例外を作成する方法

この手順では、条件付きの Match ブロックを /etc/ssh/sshd_config ファイルのグローバルセクションのあとに追加します。Match ブロックのあとに続くキーワードと値のペアは、一致するものとして指定されたユーザー、グループ、ホスト、またはアドレスの例外を示しています。

始める前に

solaris.admin.edit/etc/ssh/sshd_config 承認が割り当てられている管理者になる必要があります。デフォルトでは、root 役割がこの承認を持っています。詳細は、「割り当てられている管理権限を使用する方法」を参照してください。

  1. /etc/ssh/sshd_config ファイルを編集します。
  2. デフォルト設定とは異なる Secure Shell 設定を使用するようにユーザー、グループ、ホスト、またはアドレスを構成します。

    それらの Match ブロックをグローバル設定のあとに配置します。


    注 - このファイルのグローバルセクションには、デフォルト設定が一覧表示される場合もされない場合もあります。それらのデフォルトについては、sshd_config(4) のマニュアルページを参照してください。


    TCP 転送の使用を許可すべきでないユーザーが含まれている場合があります。次の例では、グループ public のユーザーと、test で始まるユーザー名はすべて TCP 転送を使用できません。

    ## sshd_config file
    ## Global settings
    
    # Example (reflects default settings):
    #
    # Host *
    #   ForwardAgent no
    #   ForwardX11 no
    #   PubkeyAuthentication yes
    #   PasswordAuthentication yes
    #   FallBackToRsh no
    #   UseRsh no
    #   BatchMode no
    #   CheckHostIP yes
    #   StrictHostKeyChecking ask
    #   EscapeChar ~
    Match Group public
     AllowTcpForwarding no
    Match User test*
     AllowTcpForwarding no

    Match ブロックの構文については、sshd_config(4) のマニュアルページを参照してください。

sftp ファイルのための切り離されたディレクトリを作成する方法

この手順では、sftp 転送専用に作成された sftponly ディレクトリを構成します。ユーザーは、この転送ディレクトリの外部のどのファイルまたはディレクトリも表示できません。

始める前に

root 役割になる必要があります。詳細は、「割り当てられている管理権限を使用する方法」を参照してください。

  1. Secure Shell サーバー上で、chroot 環境として切り離されたディレクトリを作成します。
    # groupadd sftp
    # useradd -m -G sftp -s /bin/false sftponly
    # chown root:root /export/home/sftponly
    # mkdir /export/home/sftponly/WWW
    # chown sftponly:staff /export/home/sftponly/WWW

    この構成で、/export/home/sftonly は、root アカウントのみがアクセスできる chroot ディレクトリです。ユーザーには、sftponly/WWW サブディレクトリへの書き込み権があります。

  2. そのままサーバー上で、sftp グループのための一致ブロックを構成します。

    /etc/ssh/sshd_config ファイル内で sftp subsystem エントリを見つけ、このファイルを次のように変更します。

    # pfedit /etc/ssh/sshd_config
    ...
    # sftp subsystem
    #Subsystem       sftp    /usr/lib/ssh/sftp-server
    Subsystem       sftp    internal-sftp
    ...
    ## Match Group for Subsystem
    ## At end of file, to follow all global options
    Match Group sftp
          ChrootDirectory %h
          ForceCommand internal-sftp
          AllowTcpForwarding no

    次の変数を使用して chroot のパスを指定できます。

    • %h – ホームディレクトリを指定します。

    • %u – 認証されたユーザーのユーザー名を指定します。

    • %%% 記号をエスケープします。

  3. クライアント上で、構成が正しく機能することを確認します。

    実際の chroot 環境内のファイルは異なる可能性があります。

    root@client:~# ssh sftponly@server
    This service allows sftp connections only.
    Connection to server closed. No shell access, sftp is enforced.
    root@client:~# sftp sftponly@server
    sftp> pwd sftp access granted
    Remote working directory: /chroot directory looks like root directory
    sftp> ls
    WWW             local.cshrc     local.login     local.profile
    sftp> get local.cshrc
    Fetching /local.cshrc to local.cshrc
    /local.cshrc    100%  166     0.2KB/s   00:00user can read contents
    sftp> put /etc/motd
    Uploading /etc/motd to /motd
    Couldn't get handle: Permission denieduser cannot write to / directory
    sftp> cd WWW
    sftp> put /etc/motd
    Uploading /etc/motd to /WWW/motd
    /etc/motd     100%  118     0.1KB/s   00:00user can write to WWW directory
    sftp> ls -l
    -rw-r--r--    1 101  10    118 Jul 20 09:07 motdsuccessful transfer
    sftp>