ubuntu前書きRedisは、メモリ内、NoSQL、キーと値のキャッシュおよびストアであり、ディスクに永続化することもできます。このチュートリアルでは、Redisサーバーに基本的なセキュリティを実装する方法を示します。Redisは、信頼できる環境で信頼できるクライアントが使用するように設計されており、独自の堅牢なセキュリティ機能はありません。[公式のRedisウェブサイト]からの引用を以下に示します。_Redisは、信頼できる環境内の信頼できるクライアントがアクセスできるように設計されています。TCPポートまたはUNIXソケットに直接アクセスできる環境に公開することはお勧めできません。...一般に、Redisは最大限のセキュリティのためではなく、最大限のパフォーマンスとシンプルさのために最適化されています。_セキュリティのないパフォーマンスとシンプルさは、災害のレシピです。Redisが持っているいくつかのセキュリティ機能でさえ、本当に賞賛すべきものではありません。それらには、基本的な暗号化されていないパスワード、コマンドの名前変更と無効化が含まれます。真のアクセス制御システムが欠けています。既存のセキュリティ機能を構成することは、データベースをセキュリティで保護しないままにすることからの大きな一歩です。14.04でのスタンドアロンRedisインストールのセキュリティ体制を強化する他のいくつかのシステムセキュリティ機能について説明します。このガイドは、Redisサーバーとクライアントアプリケーションが異なるホストまたは異なるデータセンターにある状況を扱っていないことに注意してください。Redisトラフィックが安全でないネットワークまたは信頼できないネットワークを通過する必要があるインストールでは、SSLプロキシまたはhttps://www.digitalocean.com/community/tutorials/how-to-set-upのセットアップなど、まったく異なる構成セットが必要です。[VPN]は、ここに示したものに加えて、Redisマシン間で。前提条件このチュートリアルでは、次のものが必要です。*(オプション)ネームサーバーの更新*ステップ(ネームサーバーの構成部分を行わないと、APTは機能しません)。[このRedisガイド]、*ステップ2-Redisマスターの設定*ステップまでステップ1-Redisが実行されていることを確認する最初にSSHを使用してサーバーにログインします。@Redisが機能していることを確認するには、Redisコマンドラインを使用します。+`コマンドはRedisコマンドラインにアクセスするために使用されます。redis-cliデータベースサーバーをテストします。ping応答:出力PONG出口:quitステップ2-iptablesを使用してサーバーを保護するiptablesの前提条件に従っている場合は、このステップをスキップしてください。Redisはサーバー上で実行される単なるアプリケーションです。Redisには独自のセキュリティ機能がないため、真にセキュリティを確保するための最初のステップは、実行中のサーバーを最初に保護することです。[このiptablesガイド]はその最初のステップです。そのリンクに従って、ファイアウォールを設定してください。そのガイドを使用してファイアウォールルールを実装した場合、Redisに追加のルールを追加する必要はありません。デフォルトでは、明示的に許可されない限り、すべての着信トラフィックがドロップされるためです。Redisサーバーのデフォルトのスタンドアロンインストールはループバックインターフェース(127.0.0.1またはlocalhost)でのみリッスンするため、デフォルトポートでの着信トラフィックの心配はありません。-ingすることで確認できます。*)は、Redisに関連付けられたIPアドレスとポートの組み合わせを示します。1このIPアドレスがファイアウォールポリシーで許可されていることを確認してください。article]をご覧ください。ステップ3-ローカルホストへのバインドデフォルトでは、Redisサーバーはローカルホストからのみアクセスできます。チュートリアルに従ってRedisマスターサーバーをセットアップした場合は、構成ファイルを更新して、どこからでも接続できるようにしました。これは、localhostへのバインドほど安全ではありません。編集のためにRedis構成ファイルを開きます。/etc/redis/redis.confこの行を見つけて、コメントが解除されていることを確認します(存在する場合は「#」を削除します)。127.0.0.1このファイルは引き続き使用するため、今は開いたままにしておきます。14.04でRedisクラスターを設定する方法を使用してRedisをインストールした場合記事では、パスワードを設定しておく必要があります。このセクションに従うことで、あなたの裁量で、より安全なパスワードを今すぐ作成できます。ない場合、このセクションの手順は、データベースサーバーのパスワードを設定する方法を示しています。`コマンドが有効になります。これは、クライアントがデータベースにアクセスするために認証する必要があります。+`で直接設定されます。これは前の手順で開いたままにしておく必要があります。+`を非常に強力で非常に長い値に変更します。+`などのツールを使用してパスワードを生成できます。パスワードを生成するためだけにアプリケーションをインストールしたくない場合は、以下のワンライナーを使用できます。これが生成するものとは異なるパスワードを生成するには、引用符で単語を変更します。sha256sum出力は次のようになります。出力960c3dac4fa81b4204779fd16ad7c954f95942876b9c4fb1a255667a9dbe389d生成されたパスワードは発音できませんが、非常に強力で非常に長いパスワードを提供します。これは、Redisに必要なパスワードのタイプです。+」の新しい値として貼り付けた後、次のようになります。/etc/redis/redis.confrequirepass短いパスワードを希望する場合は、代わりに以下のコマンドの出力を使用してください。繰り返しますが、引用符で単語を変更して、このパスワードと同じパスワードが生成されないようにします。sha1sum今回は多少短い出力が得られます:出力10d9a99851a411cdae8c3fa09d7290df192441a9パスワードを設定した後、ファイルを保存し、Redisを再起動します。restartパスワードが機能することをテストするには、Redisコマンドラインにアクセスします。redis-cli次の出力は、Redisパスワードが機能するかどうかをテストするために使用される一連のコマンドを示しています。最初のコマンドは、認証の前にキーを値に設定しようとします。10これは機能しないため、Redisはエラーを返します。required.2番目のコマンドは、Redis構成ファイルで指定されたパスワードで認証します。authRedisは認めます。出力OKその後、前のコマンドの再実行は成功します。+`はRedisに新しいキーの値を問い合わせます。redis-cli`を終了します。+`を使用することもできます:quit次に、Redisコマンドの名前変更について見ていきます。ステップ5-危険なコマンドの名前変更Redisに組み込まれているその他のセキュリティ機能を使用すると、危険と見なされる特定のコマンドの名前を変更したり、完全に無効にしたりできます。権限のないユーザーが実行すると、そのようなコマンドを使用してデータを再構成、破棄、または消去することができます。+`セクションで設定されます。