18.04前書き管理されたhttps://redis.io/[Redis]インスタンスは、高可用性や自動更新などの利点を提供できます。リモートデータベースサーバーに接続するたびに、悪意のあるアクターhttps://en.wikipedia.org/wiki/Sniffing_attack[sniffing]に送信する機密情報のリスクがあります。[TLS]を介した接続をネイティブにサポートしていません。ネットワークを介した安全な通信を可能にする暗号化プロトコル。+`はリモートRedisサーバーに接続する安全な方法ではないことを意味します。管理されたRedisインスタンスへの安全な接続を確立する1つの方法は、TLSプロトコルを使用するhttps://en.wikipedia.org/wiki/Tunneling_protocol[tunnel]を作成することです。Stunnelは、安全なトンネルを作成するために使用されるオープンソースプロキシであり、TLSを介して他のマシンと通信できます。+`を使用してTLS経由で管理対象Redisインスタンスに接続できるようにします。前提条件このガイドを完了するには、次のものが必要です。18.04サーバーへのアクセス。+」で設定されたファイアウォールが必要です。18.04の初期サーバーセットアップガイド]に従ってください。管理されたRedisデータベースインスタンス。Databaseでテストされましたが、一般的にクラウドプロバイダーの管理されたデータベースで機能するはずです。Redis製品ドキュメント]に従ってください。redis-cli`にパッケージ化されます。redis-cli`をインストールできます。+`パッケージをダウンロードして、デフォルトのUbuntuリポジトリからstunnelをインストールすることもできます。最初に、サーバーのパッケージインデックスを最近更新していない場合は更新します。+`パッケージをインストールします。+`を押して、パッケージをインストールすることを確認します。次のコマンドを実行して、stunnelが正しくインストールされ、そのhttps://en.wikipedia.org/wiki/Systemd[systemd]サービスが機能しているかどうかを確認できます。daemons).ここでは、プロセスはすぐに終了しましたが、stunnelサービスがアクティブであることがわかります。これは、stunnelが実行されていることを示していますが、まだ構成していないため、実際には何もできません。最新のLinuxシステムは、サービスとデーモンの初期化と管理をsystemdに依存しています。initシステムに基づくSysVスタイルのinitスクリプトを使用して起動します。+`ファイルを変更する必要があります。任意のテキストエディターでこのファイルを開きます。`オプションを見つけます。デフォルトでは「+0」に設定されますが、これを「1」に変更して、起動時にstunnelを起動できるようにします。.ファイルを保存して閉じます。+」の順に押して編集します。次に、stunnelの構成ファイルを作成して、プログラムにトラフィックをルーティングする必要がある場所を指示する必要があります。/etc/stunnel/stunnel.confこのファイルに次のコンテンツを追加します。options_です。このファイルに含めるすべてのサービスに適用されます。140-2モードを有効または無効にします。[連邦情報処理標準]を満たしていることを検証します。+」に設定すると、この機能が無効になります。これを無効にすることは、それほど安全ではありませんが、それを有効にする(デフォルトで)には、追加の設定が必要になることに注意してください。+:stunnelが実行されるUnixユーザーIDを定義します。documentation勧告]では、トンネルの開始後に管理者権限を落とすことをお勧めします。しないと、セキュリティ上のリスクが生じます。*がstunnelプロセスの所有権を取得します。+:stunnelが実行されるUnixグループIDを定義します。`ファイルを作成するファイルの場所を定義します。`ファイルは、通常、実行中のプロセスのPIDを見つけるために他のプログラムによって使用されます。`ファイルを作成します。*ユーザーにはそのディレクトリへのアクセス許可がないため、トンネルが正しく開始されません。」パラメータに引数を指定しないことで、この動作を無効にします。このチュートリアルでは、「。」ファイルは必要ないためです。*が書き込み権限を持つファイルに設定してください。+:stunnelのデバッグレベルを設定します。この例では、使用可能な最高レベルの「+7」に設定します。これにより、stunnelで問題が発生した場合に最も詳細な情報が提供されます。任意のレベルに設定できますが、デフォルト設定は「5」です。+:これは_サービス名_であり、次の行がクライアントプログラムの個々のサービス設定を表すことを指定します。stunnel構成ファイルには複数のサービスを含めることができますが、それぞれを既存のクライアントアプリケーションに関連付ける必要があり、同じアプリケーションに2つのサービスを含めることはできません。+`に設定すると、stunnelはクライアントモードで実行するように指示されます。stunnelはTLSサーバーとして機能するのではなく、TLSサーバー(管理されたRedisインスタンス)に接続します。+:stunnelがクライアントからの接続を受け入れるホストとポートを定義します。ここでは、IPアドレス「127.0.0.1」を指定します。*とポート「8000」を表すために使用されるIPv4ループバックアドレスです。+`でUbuntuサーバーからの接続をリッスンし、それらを暗号化することを意味します。ポートは、まだ使用されていない限り、任意のポート番号に設定できます。+:stunnelが接続するリモートアドレスとポートを定義します。管理対象データベースのポートとホスト名またはIPアドレスに合わせて、このパラメーターを変更してください。これはかなり最小限の構成であり、stunnelの多くのデフォルト設定はそのままです。プログラムには、特定のニーズに合ったトンネルを作成するための多くのオプションがあります。[公式ドキュメント]を参照してください。このコンテンツを追加したら、ファイルを保存して閉じます。+`サービスを再起動して、stunnelが新しい構成ファイルを読み取るようにします。`でstunnelが作成されたかどうかをテストできます。次のコマンドを実行します。+」のすべてのインスタンスを検索します。17868/stunnelこの出力は、stunnelがローカルポート「8000」で接続をリッスンしていることを示しています。+`を使用して、stunnelプロセスの所有権を取得したことを確認できます。*が実際にstunnelプロセスを引き継いでいることがわかります。これで、Stunnelが完全に構成され、システムで実行されます。管理対象のRedisインスタンスに接続し、トンネルが期待どおりに機能することをテストする準備ができました。+」をインストールし、stunnelを設定したので、TLS経由で管理対象データベースに接続する準備が整いました。手順2で作成した構成ファイルで定義された設定に基づいて、次のコマンドを使用して管理対象データベースに接続します。