3.6.2. stunnel を TLS Wrapper として設定
stunnel を設定するには、以下の手順に従います。
- stunnel に有効な証明書が必要になりますが、それを使用するサービスに関係なく必要です。適切な証明書がない場合は、認証局 に適用して取得するか、自己署名のセマンティクスを作成できます。警告実稼働環境で実行しているサーバーには、認証局が署名した証明書を常に使用してください。自己署名証明書は、テスト目的またはプライベートネットワークにのみ適しています。stunnel 用の自己署名証明書を作成するには、
/etc/pki/tls/certs/
ディレクトリーを入力し、root
で以下のコマンドを入力します。certs]# make stunnel.pem
すべての質問に回答して、プロセスを完了します。 - 証明書がある場合、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 プロセスが実行され、セキュリティーを強化するために変更したルートディレクトリー。setuid
,setgid
- stunnel プロセスnobody
が実行するユーザーおよびグループは、制限されたシステムアカウントです。pid
: stunnel がプロセス ID を保存するファイル(と相対的に)。chroot
Socket
: ローカルおよびリモートのソケットオプション - この場合 は Nagle のアルゴリズム を無効にしてネットワークレイテンシーを向上させます。[service_name]
: サービス定義の開始 - この行で使用されているオプションは指定のサービスにのみ適用されますが、上記のオプションは stunnel にグローバルに影響します。accept
: リッスンするポートconnect
: 接続するポート。これは、セキュリティー保護するサービスに使用するポートでなければなりません。TIMEOUTclose
: クライアントから close_notify アラートを待機する秒数。stunnel が全く待機しないように0
指示します。options
: OpenSSL ライブラリーオプション
例3.1 OpenLDAP のセキュリティー保護
stunnel を 2.4.39 よりも古い OpenLDAP の TLS ラッパーとして設定するには、以下の値を使用します。[openldap] accept = 636 connect = 389
636
はセキュアな LDAP の標準ポートです389
。は、OpenLDAP デーモンがリッスンするポートです。例3.2 CUPS のセキュリティー保護
同様に、stunnel を CUPS の TLS ラッパーとして設定するには、以下の値を使用します。[cups] accept = 632 connect = 631
の代わりに632
、任意の空きポートを使用できます。631
は、CUPS が通常使用するポートです。 chroot
ディレクトリーを作成し、setuid
オプションで指定されるユーザーに書き込みアクセス権限を付与します。これを行うには、root
で以下のコマンドを実行します。~]# mkdir /var/run/stunnel ~]# chown nobody:nobody /var/run/stunnel
これにより、stunnel は PID ファイルを作成します。- 新しいポートへのアクセスを許可しないファイアウォール設定を使用している場合は、適切に変更します。詳細 「その他のポート」 は 「ファイアウォール」 を参照してください。
- 設定ファイルと
chroot
ディレクトリーを作成し、指定したポートにアクセスできることを確認すると、stunnel の使用を開始する準備が整います。