Red Hat Training

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

4.8.2. stunnel を TLS Wrapper として設定する

stunnel を設定するには、以下の手順に従います。
  1. 使用するサービスに関係なく、stunnel の有効な証明書が必要です。適切な証明書がない場合は、認証局に適用して認証局を取得するか、自己署名証明書を作成できます。
    警告
    実稼働環境で動作しているサーバーには、認証局が署名した証明書を常に使用します。自己署名証明書は、テスト目的またはプライベートネットワークの場合にのみ適しています。
    認証局が付与する証明書の詳細は、「証明書署名要求の作成」 を参照してください。一方、stunnel の自己署名証明書を作成するには、/etc/pki/tls/certs/ ディレクトリーを入力し、root で以下のコマンドを入力します。
    certs]# make stunnel.pem
    プロセスを完了するには、すべての質問に回答します。
  2. 証明書がある場合は、stunnel の設定ファイルを作成します。これは、すべての行に、オプションまたはサービス定義の開始を指定するテキストファイルです。ファイルにコメントおよび空の行を保存して、コメントをセミコロンで開始する正性を向上させます。
    stunnel RPM パッケージには、設定ファイルを保存できる /etc/stunnel/ ディレクトリーが含まれます。stunnel にはファイル名やその拡張子の特別な形式は必要ありませんが、/etc/stunnel/stunnel.conf を使用します。以下のコンテンツでは、stunnel を TLS ラッパーとして設定します。
    cert = /etc/pki/tls/certs/stunnel.pem
    ; Allow only TLS, thus avoiding SSL
    sslVersion = TLSv1
    chroot = /var/run/stunnel
    setuid = nobody
    setgid = nobody
    pid = /stunnel.pid
    socket = l:TCP_NODELAY=1
    socket = r:TCP_NODELAY=1
    
    [service_name]
    accept = port
    connect = port
    TIMEOUTclose = 0
    または、sslVersion = TLSv1 が含まれる行を以下の行に置き換えることで、SSL を回避できます。
    options = NO_SSLv2
    options = NO_SSLv3
    オプションの目的は、以下のとおりです。
    • cert - 証明書へのパス
    • sslVersion - SSL のバージョン。SSL および TLS は 2 つの独立した暗号化プロトコルですが、ここで TLS を使用できます。
    • chroot - stunnel プロセスが実行される変更された root ディレクトリー。セキュリティーが強化されます。
    • setuid, setgid - stunnel プロセスが実行するユーザーおよびグループ。nobody は、制限されたシステムアカウントです。
    • pid - stunnel が、chrootに関連してプロセス ID を保存するファイル
    • socket - local および remote socket オプション: この場合、ネットワークレイテンシーを改善するために Nagle アルゴリズムを無効にします
    • [service_name] - サービス定義の開始。この行の下で使用されるオプションは指定されたサービスにのみ適用されますが、上記のオプションは stunnel をグローバルに影響を受けます。
    • accept - リッスンするポート
    • connect - 接続するポート。これは、セキュリティー保護するサービスが使用するポートでなければなりません。
    • TIMEOUTclose - クライアントからの close_notify アラートを待つ秒数。0 は stunnel に対し、まったく待機しないように指示します
    • options - OpenSSL ライブラリーのオプション

    例4.3 CUPS のセキュア化

    stunnel を CUPS の TLS ラッパーとして設定するには、以下の値を使用します。
    [cups]
    accept = 632
    connect = 631
    632 の代わりに、任意の空きポートを使用できます。631 は、CUPS は通常使用するポートです。
  3. chroot ディレクトリーを作成し、setuid オプションで指定したユーザーに書き込み権限を付与します。これを行うには、root で次のコマンドを実行します。
    ~]# mkdir /var/run/stunnel
    ~]# chown nobody:nobody /var/run/stunnel
    これにより、stunnel が PID ファイルを作成できます。
  4. 新しいポートにアクセスできないファイアウォール設定を使用している場合は、それに応じて変更してください。詳しくは、「GUI を使用してポートを開く」 を参照してください。
  5. 設定ファイルおよび chroot ディレクトリーを作成していて 、指定したポートにアクセスできることを確認する場合は、stunnel の使用を開始する準備ができています。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。