GNU/Linux >> Linux の 問題 >  >> Debian

Debian10にRedisサーバーをインストールして保護する

Redisは、「リモートディクショナリサーバー」としても知られています。これは、データベース、キャッシュ、およびメッセージブローカーとして使用できるオープンソースのインメモリデータベースです。 Redisは、文字列、ハッシュ、リスト、セットなど、さまざまなデータ構造をサポートしています。 RedisはCプログラミング言語で記述されており、Linux、Free BSD、OS XなどのほとんどのPOSIXシステムで動作します。Redisは、1秒間に数千のコマンドを実行できます。 Redisには、レプリケーション、自動フェイルオーバー、Luaスクリプト、キーのLRU排除、トランザクションなどの豊富な機能セットが付属しています。

このチュートリアルでは、Debian10サーバーにRedisをインストールして保護する方法を学びます。

要件
  • Debian10を実行しているサーバー。
  • サーバーにルートパスワードが設定されています。
はじめに

開始する前に、システムを最新バージョンに更新する必要があります。これを行うには、次のコマンドを実行します。

 apt-get update -y 
apt-get upgrade -y

サーバーが更新されたら、サーバーを再起動して変更を適用します。

Redisをインストール

デフォルトでは、RedisはDebian10リポジトリで利用できます。次のコマンドを実行するだけでインストールできます:

 apt-get install redis-server -y 

Redisをインストールした後、Redisサービスを開始し、次のコマンドを使用してシステムの再起動後にサービスを開始できるようにします。

 systemctl start redis-server 
systemctl enable redis-server

次のコマンドを使用して、Redisサーバーのステータスを確認することもできます。

 systemctl status redis-server 

次の出力が得られるはずです:

? redis-server.service-高度なKey-Valueストアロード済み:ロード済み(/lib/systemd/system/redis-server.service;有効;ベンダープリセット:有効)アクティブ:アクティブ(実行中)金2019-09-06 05: 57:45 EDT; 4秒前ドキュメント:http://redis.io/documentation、man:redis-server(1)プロセス:2284 ExecStart =/ usr / bin / redis-server /etc/redis/redis.conf(code =exited、status =0 / SUCCESS)メインPID:2285(redis-server)タスク:4(制限:1138)メモリ:6.8M CGroup:/system.slice/redis-server.service ?? 2285 / usr / bin /redis-server127.0。 0.1:6379Sep 06 05:57:45 debian systemd [1]:高度なキー値ストアを開始しています... Sep 06 05:57:45 debian systemd [1]:redis-server.service:PIDファイルを開くことができません/ run / redis / redis-server.pid(まだ?)開始後:そのようなファイルはありませんまたはdiSep 06 05:57:45 debian systemd [1]:高度なキー値ストアを開始しました。

デフォルトでは、Redisはポート6379でローカルホストをリッスンしています。次のコマンドで確認できます:

 ps -ef | grep redis 

次の出力が表示されます。

 redis 2285 1 0 05:57? 00:00:00 / usr / bin / redis-server 127.0.0.1:6379root 2294 706 0 05:59 pts / 0 00:00:00 grep redis 

次に、次のコマンドを使用してRedis接続をテストします。

 redis-cli 

次の出力が表示されます。

 127.0.0.1:6379> 

次に、pingコマンドを使用してRedisの接続を確認します。

 127.0.0.1:6379> ping 

すべてが正常であれば、次の出力が表示されます。

 PONG 

終わったら。次のステップに進むことができます。

Redisをキャッシュとして構成する

/etc/redis/redis.confファイルを編集してRedisをキャッシュとして設定できます:

 nano /etc/redis/redis.conf 

ファイルの最後に次の行を追加します。

 maxmemory 64mbmax​​memory-policy allkeys-lru 

最大メモリが64mbに達したとき。 Redisは、LRUアルゴリズムに従ってすべてのキーを削除します。終了したら、ファイルを保存して閉じます。次に、次のコマンドを使用してRedisサービスを再起動します。

 systemctl restart redis-server 

終わったら。次のステップに進むことができます。

Redis認証を構成する

デフォルトでは、Redisシェルで任意のコマンドを実行できます。そのため、コマンドを実行する前にパスワードを要求するようにクライアントのRedis認証を構成することをお勧めします。パスワード認証は、Redisの構成ファイルで直接構成できます。これを行うには、ファイル/etc/redis/redis.confを好みのエディターで開きます:

 nano /etc/redis/redis.conf 

[セキュリティ]セクションで、次の行を見つけます。

#requirepass foobared 

コメントを外して、以下に示すように目的のパスワードに置き換えます。

 requirepass AlsW34%#df 

終了したら、ファイルを保存して閉じます。次に、Redisサービスを再起動して、構成の変更を適用します。

 systemctl restart redis-server 

次に、次のコマンドを使用してRedisシェルにアクセスします。

 redis-cli 

ここで、認証せずに次のコマンドを実行します。

 127.0.0.1:6379>INFOサーバー

認証しないため、これは機能しません。次のエラーが発生するはずです:

NOAUTH認証が必要です。

次に、次のコマンドを実行して、Redis構成ファイルで指定されたパスワードで認証します。

 127.0.0.1:6379> AUTH AlsW34%#df 

次の出力が得られるはずです:

 OK 

ここで、前のコマンドをもう一度実行します:

 127.0.0.1:6379>INFOサーバー

これは正常に実行され、次の出力が表示されます。

<前>#Serverredis_version:5.0.3redis_git_sha1:00000000redis_git_dirty:0redis_build_id:afa0decbb6de285fredis_mode:standaloneos:Linuxの4.19.0-5-AMD64 x86_64arch_bits:64multiplexing_api:epollatomicvar_api:原子-builtingcc_version:8.3.0process_id:2308run_id:2cf0470a9492deddf98bcc72fa9ec94e941edf6ctcp_port:6379uptime_in_seconds:50uptime_in_days:0Hzから: 10configured_hz:10lru_clock:7483371executable:/usr/bin/redis-serverconfig_file:/etc/redis/redis.conf

終わったら。次のステップに進むことができます。

特定のコマンドの名前を変更

セキュリティ上の理由から、危険と見なされる特定のコマンドの名前を変更することをお勧めします。

ここでは、「config」コマンドの名前を変更します。 configコマンドは、Redisパスワードを取得するために使用されます。例を見てみましょう:

まず、次のコマンドを使用してRedisシェルに接続して認証します。

 redis-cli 
 127.0.0.1:6379> AUTH AlsW34%#df 

次に、次のコマンドを使用してRedisパスワードを取得します。

 127.0.0.1:6379> config get requirepass 

次の出力が得られるはずです:

 1) "requirepass" 2) "AlsW34%#df" 127.0.0.1:6379> 

/etc/redis/redis.confファイルを編集してconfigコマンドの名前を変更できます:

 nano /etc/redis/redis.conf 

次の行を見つけます:

#rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52 

コメントを外して、目的の文字列に置き換えます:

名前の変更-コマンドCONFIGH2sW_Config

ファイルを保存して閉じます。次に、次のコマンドを使用してRedisサービスを再起動します。

 systemctl restart redis-server 

次に、次のコマンドを使用してRedisシェルに接続して認証します。

 redis-cli 
127.0.0.1:6379> AUTH AlsW34%#df

次に、configコマンドを使用してRedisパスワードを取得します。

 127.0.0.1:6379> config get requirepass 

このコマンドの名前を変更したため、次のエラーが発生するはずです:

(エラー)ERR不明なコマンド `config`、引数は` get`、 `requirepass`、
で始まります

次に、以下に示すように、名前を変更したコマンドを実行します。

 127.0.0.1:6379> H2sW_Config get requirepass 

次の出力が得られるはずです:

 1) "requirepass" 2) "AlsW34%#df" 

最後に、次のコマンドを使用してRedisシェルを終了します。

 127.0.0.1:6379>終了
結論

おめでとう!これで、Debian 10にRedisサーバーが正常にインストールされ、保護されました。パスワード認証を使用してRedisサーバーを保護するための十分な知識が得られたことを願っています。ご不明な点がございましたら、お気軽にお問い合わせください。


Debian
  1. Debian11にMongoDBをインストールして保護する方法

  2. Debian11にRedisサーバーをインストールする方法

  3. Debian11にMariaDBをインストールして保護する方法

  1. Debian10にOpenVPNサーバーをインストールして設定する方法

  2. Debian11にRedis6.0をインストールして設定する方法

  3. Debian11にRedis6をインストールして設定する方法

  1. Debian9にVNCをインストールして設定する方法

  2. Debian10にVNCサーバーをインストールして設定する方法

  3. Ubuntu18.04にRedisをインストールして保護する方法