CentOS Stream 8
Sponsored Link

Redis 6 : SSL/TLS の設定2021/06/28

 
Redis で SSL/TLS による暗号化通信の設定を有効にします。
[1] 自己署名の証明書を作成します。Let's Encrypt 等の正規の証明書を使用する場合は当作業は不要です。
[root@www ~]#
cd /etc/pki/tls/certs

[root@www certs]#
openssl req -x509 -nodes -newkey rsa:2048 -keyout redis.pem -out redis.pem -days 3650

Generating a RSA private key
..+++++
.............+++++
writing new private key to 'redis.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:JP   # 国コード
State or Province Name (full name) []:Hiroshima    # 地域 (県)
Locality Name (eg, city) [Default City]:Hiroshima  # 都市
Organization Name (eg, company) [Default Company Ltd]:GTS  # 組織名
Organizational Unit Name (eg, section) []:Server World     # 組織の部門名
Common Name (eg, your name or your server's hostname) []:www.srv.world  # サーバーの FQDN
Email Address []:root@srv.world   # 管理者アドレス

[root@www certs]#
chmod 600 redis.pem

[root@www certs]#
chown redis. redis.pem

[2] Redis の SSL/TLS の設定です。
[root@www ~]#
vi /etc/redis.conf
# 91行目 : 変更 : [0] 指定でリスン無効化

port
0
# 138行目 : コメント解除

tls-port 6379
# 144,145行目 : コメント解除して証明書を指定

tls-cert-file
/etc/pki/tls/certs/redis.pem

tls-key-file
/etc/pki/tls/certs/redis.pem
# 156行目 : コメント解除して証明書ディレクトリを指定

tls-ca-cert-dir
/etc/pki/tls/certs

# 165行目 : コメント解除

tls-auth-clients no
[root@www ~]#
systemctl restart redis

[3] クライアントからの接続です。他ホストから接続する場合は、事前に証明書をクライアントへ転送しておく必要があります。
[root@node01 ~]#
ll /etc/pki/tls/certs

total 4
lrwxrwxrwx. 1 root  root    49 Jun 17 00:06 ca-bundle.crt -> /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
lrwxrwxrwx. 1 root  root    55 Jun 17 00:06 ca-bundle.trust.crt -> /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt
-rw-------. 1 redis redis 3164 Jun 25 01:39 redis.pem

# [tls] オプションと証明書を指定して接続する
[root@node01 ~]# redis-cli -h www.srv.world --tls \
--cert /etc/pki/tls/certs/redis.pem \
--key /etc/pki/tls/certs/redis.pem \
--cacert /etc/pki/tls/certs/redis.pem

www.srv.world:6379> auth password
OK
www.srv.world:6379> info
# Server
redis_version:6.0.9
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:aff2285c2ffdf166
redis_mode:standalone
os:Linux 4.18.0-310.el8.x86_64 x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:8.4.1
process_id:3804
run_id:38d1d7f3c1749bab861e1262b64e64aef6e918b0
tcp_port:6379
.....
.....
関連コンテンツ