はじめに
Redis はオープンソースのメモリ内データストアです。高レベルのパフォーマンスを維持する、柔軟で可用性の高いKey-Valueデータベースとして使用されます。
パフォーマンスと柔軟性に加えて、Redisは、幅広い言語サポート、高可用性、自動パーティション化で際立っています。
このチュートリアルでは、Ubuntu 20.04/18.04にRedisをインストールする方法を学びます。
 前提条件
- Ubuntu 20.04(またはUbuntu 18.04)を実行しているシステム
 - ターミナルウィンドウ/コマンドラインへのアクセス
 - 須藤 またはルート ローカル/リモートマシンの特権
 
UbuntuにRedisをインストールして保護する
次の手順では、Ubuntu20.04にRedisをインストールする方法について説明します。このガイドはUbuntu18.04でも使用できます。
このガイドでは、基本構成のインストールとセットアップの他に、パスワード認証を追加する方法、Redisをローカルホストにバインドする方法、危険なコマンドの名前を変更する方法について説明しています。
ステップ1:Redisをインストールする
以下に概説する手順に従って、UbuntuシステムにRedisをインストールして構成します。
1.パッケージリポジトリを更新することから始めます:
sudo apt update 2.次に、次のコマンドを使用してRedisをインストールします。
sudo apt install redis-server ステップ2:Redisを構成する
1.インストールが完了したら、Redis構成ファイルを変更します。これを行うには、選択したテキストエディタでファイルを開きます(nanoを使用しています):
sudo nano /etc/redis/redis.conf 
 2.次に、supervisedを指定する行を見つけます  指令。デフォルトでは、この行は noに設定されています  。ただし、Redisをサービスとして管理するには、監視対象ディレクティブを systemdに設定します  (Ubuntuのinitシステム)。
 3.変更を保存して、ファイルを閉じます。
4.最後に、次のコマンドを実行してRedisサービスを再起動します。
sudo systemctl restart redis.service ステップ3:Redisのインストールを確認する
Redisが正しく設定されていることを確認するには、サービスが実行されているかどうかをテストします。また、サーバーへの接続をテストし、キーと値のペアを設定できるかどうかをテストします。
ステップ3.1:Redisサービスステータスを確認する
次のコマンドを実行して、Redisサービスのステータスを確認します。
sudo systemctl status redis 出力には、サービスがアクティブ(および実行中)であることが表示されます。 、下の画像のように。
 ステップ3.2:Redis接続を確認する
また、 redis-cliを使用してRedisサーバーとの接続を確認する必要があります 道具。このコマンドラインクライアントに接続するには、ターミナルウィンドウに次のように入力します。
redis-cli これにより、 redis-cliに移動します コマンド・プロンプト。接続をテストするには、次を実行します:
ping 出力は次のように応答する必要があります:
PONG 
 ステップ3.3:キーと値のペアの設定をテストする
Redisはメモリ内のキー値NoSQLデータベースであるため、指定されたキーに基づいて割り当てられた値を取得するかどうかをテストすることもできます。
 まず、setコマンドを使用してキーを設定します。この例では、キーには key1というラベルが付いています。   "You have successfully set up a key-value pair!"の値である必要があります。  。
これを行うには、次のコマンドを実行します:
set key1 "You have successfully set up a key-value pair!" 2. Enterを押したら 、プロンプトは OKで応答します 。
 3.次に、 getを使用して、指定された値がキーに正常に割り当てられたかどうかを確認します。  コマンド:
get key1 4.出力は、最初のステップで値として添付したメッセージで応答する必要があります。
 5. Redisシェルを終了するには、次のコマンドを実行します。
quit ステップ4:Redisを保護する
ステップ4.1:Redis認証を設定する
Redisには、追加のセキュリティレイヤーとして認証機能が含まれています。この機能はデフォルトでは有効になっていません。したがって、構成ファイルを変更してアクティブ化する必要があります。
1.開始するには、編集用にRedis構成ファイルを開きます。
sudo nano /etc/redis/redis.conf 
 2.次に、 requirepassを見つけます  セキュリティの下でのディレクティブ セクションを作成してコメントを解除します( #を削除して)  。
 3.行のコメントを外したら、 foobaredを置き換えます  選択したパスワードを使用します。
 4.ファイルを保存して閉じます。
5.Redisサービスを再起動します:
sudo systemctl restart redis.service 認証を要求するようにRedisを構成すると、必要なパスワードを入力するまで、クエリは拒否されます。
 たとえば、 redis-cliに切り替えた場合 コマンドプロンプトを表示してpingテストを実行しようとすると、出力に次のメッセージが表示されます: (error) NOAUTH Authentication required.  
このような場合にRedisで作業を開始する唯一の方法は、構成ファイルで定義されたパスワードを提供することです。
次のコマンドを使用します:
auth [your_password] 
 出力がOKで応答する場合  行ってもいいです。
ステップ4.2:Redisをローカルホストにバインドする
上記の手順に従ってソフトウェアをインストールした場合、Redisはローカルホストからのみアクセス可能である必要があります。このような方法でアクセスを制限することは、ネットワークセキュリティの問題です。
ただし、デフォルト設定を変更したため、ローカルホストへの接続を制限したい場合があります。
これを行うには、編集用にRedis構成ファイルを開きます。
sudo nano /etc/redis/redis.conf 
 下にスクロールして、ネットワークを見つけます ファイルのセクション。次に、 bind 127.0.0.1 ::1のコメントを解除します  行( #を削除する  )、下の画像のように。
 ファイルを保存して終了したら、必ず次のコマンドでサービスを再起動してください。
sudo systemctl restart redis これにより、Redisをローカルホストにバインドし、他の接続へのアクセスを制限することができました。
ステップ4.3:危険なコマンドの名前を変更または強制終了する
データを保護するもう1つの方法は、特定のコマンドを無効にするか、名前を変更して、推測できないようにすることです。これは、通常のユーザーがシステムに害を及ぼす可能性のあるコマンドを使用することを制限できる便利なセキュリティ機能です。
このようなコマンドを無効にするか名前を変更するには、Redis構成ファイルを開きます。
sudo nano /etc/redis/redis.conf 
 セキュリティを見つけます セクションを選択し、 #Command renamingまで下にスクロールします  ライン。コマンドの名前を変更したり、コマンドを強制終了したりする方法の例があります。
 たとえば、 CONFIGの名前を変更するには  コマンド、次の行を追加します:
rename-command CONFIG [new_command_name] 
 この例では、 config  コマンドの名前がsys_admin_config_836に変更されました  (通常のユーザーは推測できないものです。)
 特定のコマンドを削除するには、それらを無効化(強制終了)します。これを行うには、危険なコマンドの名前を空の文字列に変更します。
 したがって、 configを無効にする場合  コマンド、次の行を追加します:
rename-command CONFIG "" 
 これらの変更を行ったら、必ず変更を保存して、Redisサービスを再起動してください。