4.8. stunnel の使用
				stunnel プログラムは、クライアントとサーバー間の暗号化ラッパーです。設定ファイルで指定されたポートでリッスンし、クライアントとの通信を暗号化して、通常のポートでリッスンしている元のデーモンにデータを転送します。こうすることで、それ自体がどのタイプの暗号化もサポートしていないサービスを保護したり、POODLE SSL 脆弱性 (CVE-2014-3566) の影響を受ける SSL バージョン 2 および 3 など、セキュリティー上の理由から避けたいタイプの暗号化を使用しているサービスのセキュリティーを向上させたりすることができます。詳しくは https://access.redhat.com/solutions/1234773 を参照してください。CUPS は、独自の設定で SSL を無効にする方法を提供しないコンポーネントの例です。
			
4.8.1. stunnel のインストール リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
root で以下のコマンドを入力して、stunnel パッケージをインストールします。
				yum install stunnel
~]# yum install stunnel
4.8.2. stunnel を TLS Wrapper として設定する リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
					stunnel を設定するには、次の手順に従います。
				
- 使用するサービスに関係なく、stunnel の有効な証明書が必要です。適切な証明書がない場合は、認証局 に申請して取得するか、自己署名証明書を作成することができます。警告実稼働環境で実行されているサーバーには、常に認証局によって署名された証明書を使用してください。自己署名証明書は、テスト目的またはプライベートネットワークにのみ適しています。認証局から付与される証明書の詳細については、「証明書署名要求の作成」 を参照してください。一方、stunnel の自己署名証明書を作成するには、
/etc/pki/tls/certs/ディレクトリーに移動し、rootで以下のコマンドを入力します。certs]# make stunnel.pem
certs]# make stunnel.pemCopy to Clipboard Copied! Toggle word wrap Toggle overflow すべての質問に答えて、プロセスを完了してください。 - 証明書がある場合は、stunnel の設定ファイルを作成します。これは、すべての行がオプションまたはサービス定義の開始を指定するテキストファイルです。コメントと空の行をファイルに残して、コメントがセミコロンで始まる読みやすさを向上させることもできます。stunnel RPM パッケージには、設定ファイルを保存できる
/etc/stunnel/ディレクトリーが含まれています。stunnel はファイル名やその拡張子の特別な形式を必要としませんが、/etc/stunnel/stunnel.confを使用します。以下のコンテンツは、stunnel を TLS ラッパーとして設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow または、sslVersion = TLSv1を含む行を以下の行に置き換えることで、SSL を回避することもできます。options = NO_SSLv2 options = NO_SSLv3
options = NO_SSLv2 options = NO_SSLv3Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプションの目的は、以下のとおりです。cert— 証明書へのパス。sslVersion- SSL のバージョン。SSL とTLSは 2 つの独立した暗号化プロトコルですが、ここでは TLS を使用できることに注意してください。chroot— セキュリティーを強化するために stunnel プロセスが実行される変更された root ディレクトリーsetuid,setgid- stunnel プロセスが実行されるユーザーおよびグループ。nobodyは制限されたシステムアカウントです。pid- stunnel がプロセス ID を保存するファイル(chrootと相対的)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
[cups] accept = 632 connect = 631Copy to Clipboard Copied! Toggle word wrap Toggle overflow 632の代わりに、任意の空きポートを使用できます。631は CUPS が通常使用するポートです。 chrootディレクトリーを作成し、setuidオプションで指定されたユーザーに、そのディレクトリーへの書き込みアクセス権を付与します。これを行うには、rootで以下のコマンドを入力します。mkdir /var/run/stunnel chown nobody:nobody /var/run/stunnel
~]# mkdir /var/run/stunnel ~]# chown nobody:nobody /var/run/stunnelCopy to Clipboard Copied! Toggle word wrap Toggle overflow これにより、stunnel が PID ファイルを作成できます。- システムが新しいポートへのアクセスを許可しないファイアウォール設定を使用している場合は、それに応じて変更してください。詳細は「GUI を使用してポートを開く」を参照してください。
 - 設定ファイルと
chrootディレクトリーを作成し、指定したポートにアクセスできることを確認したら、stunnel の使用を開始する準備が整います。 
4.8.3. stunnel の起動、停止、再起動 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
					stunnel を起動するには、
root で以下のコマンドを入力します。
				stunnel /etc/stunnel/stunnel.conf
~]# stunnel /etc/stunnel/stunnel.conf
					デフォルトでは、stunnel は 
/var/log/secure を使用して出力をログに記録します。
				
					stunnel を終了するには、
root で以下のコマンドを実行してプロセスを強制終了します。
				kill `cat /var/run/stunnel/stunnel.pid`
~]# kill `cat /var/run/stunnel/stunnel.pid`
					stunnel の実行中に設定ファイルを編集した場合は、stunnel を終了して再度起動し、変更を有効にします。