Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

23.6.3. 暗号化トランスポートの有効化

ネットワーク転送の機密性と統合性は、TLS または GSSAPI 暗号化プロトコルのいずれかによって提供されます。

Transport Layer Security (TLS) は、ネットワーク上の通信セキュリティーを提供するために設計された暗号プロトコルです。TLS を使用すると、rsyslog メッセージは送信前に暗号化され、送信者と受信者間で相互認証が行われます。TLS の設定は、「TLS を使用した暗号化メッセージ転送の設定」 を参照してください。

Generic Security Service API (GSSAPI) は、プログラムがセキュリティサービスにアクセスするためのアプリケーションプログラミングインターフェースです。rsyslog と接続して使用するには、機能している Kerberos 環境が必要です。GSSAPI の設定は、「GSSAPI を使用した暗号化メッセージ転送の設定」 を参照してください。

TLS を使用した暗号化メッセージ転送の設定

TLS を経由して暗号化トランスポートを使用するには、サーバーとクライアント両方を設定する必要があります。

  1. 公開鍵、秘密鍵、および証明書ファイルを作成します。「新しい鍵と証明書の生成」 を参照してください。
  2. サーバー 側で、/etc/rsyslog.conf 設定ファイルで以下を設定します。

    1. gtls netstream ドライバーをデフォルトドライバーに設定します。

      global(defaultnetstreamdriver="gtls")
    2. 証明書ファイルへのパスを指定します。

      global(defaultnetstreamdrivercafile="path_ca.pem"
      defaultnetstreamdrivercertfile="path_cert.pem"
      defaultnetstreamdriverkeyfile="path_key.pem")

      簡潔な設定ファイルを好む場合は、グローバルディレクティブをすべて 1 つのブロックに統合できます。

      以下を置き換えます。

      • path_ca.pem を、公開鍵へのパスに置き換え
      • path_cert.pem を、証明書ファイルへのパスに置き換え
      • path_key.pem を、秘密鍵へのパスに置き換え
    3. imtcp モジュールを読み込み、ドライバーオプションを設定します。

      module(load=”imtcp”
      StreamDriver.Mode=“number”
      StreamDriver.AuthMode=”anon”)
    4. サーバーを起動します。

      input(type="imtcp" port="port″)

      以下を置き換えます。

      • number はドライバーモードを指定します。TCP オンリーモードを有効にするには、1 を使用します。
      • port を、リスナーを起動するポート番号に置き換えます。たとえば 10514 にします。

        anon 設定は、クライアントが認証されていないことを意味します。

  3. クライアント 側の /etc/rsyslog.conf 設定ファイルで以下を設定します。

    1. 公開鍵を読み込みます。

      global(defaultnetstreamdrivercafile="path_ca.pem")

      path_ca.pem を公開鍵へのパスで置き換えます。

    2. gtls netstream ドライバーをデフォルトドライバーに設定します。

       global(defaultnetstreamdriver="gtls")
    3. ドライバーを設定し、実行するアクションを指定します。

      module(load=”imtcp”
        streamdrivermode=”number”
        streamdriverauthmode=”anon”)
      input(type=”imtcp”
        address=”server.net”
        port=”port”)

      numberanonport を、サーバーと同じ値に置き換えます。

      上記一覧の最後の行で、例のアクションがサーバーから指定の TCP ポートにメッセージを転送します。

GSSAPI を使用した暗号化メッセージ転送の設定

rsyslog では、GSSAPI とのやり取りは imgssapi モジュールによって提供されます。GSSAPI 転送モードをオンにするには、以下を実行します。

  1. /etc/rsyslog.conf に以下の設定をします。

    $ModLoad imgssapi

    このディレクティブは、imgssapi モジュールを読み込みます。

  2. 以下のように入力を指定します。

    $InputGSSServerServiceName name
    $InputGSSServerPermitPlainTCP on
    $InputGSSServerMaxSessions number
    $InputGSSServerRun port
    • name を、GSS サーバーの名前に置き換えます。
    • number を置き換え、サポートされる最大セッション数を設定します。デフォルトで、この数字は制限されていません。
    • port を、GSS サーバーを起動したい選択ポートに置き換えます。

      $InputGSSServerPermitPlainTCP on 設定により、サーバーは同じポートでプレーン TCP メッセージを受信できます。デフォルトでオフになっています。

注記

設定ファイルリーダーが /etc/rsyslog.conf 設定ファイルで $InputGSSServerRun ディレクティブに遭遇すると、imgssapi モジュールはすぐに初期化されます。このため、$InputGSSServerRun より後に設定されている補助オプションは無視されます。設定を有効にするには、すべての imgssapi 設定オプションを、$InputGSSServerRun の前に配置する必要があります。

例23.17 GSSAPI の使用

以下の設定では、ポート 1514 上の GSS サーバーが有効になります。この設定では、同一ポート上でプレーンの tcp syslog メッセージの受信も許可されます。

$ModLoad imgssapi
$InputGSSServerPermitPlainTCP on
$InputGSSServerRun 1514