Ubuntu 24.04
Sponsored Link

Redis 7 : SSL/TLS Setting2024/06/11

 
Configure SSL/TLS Setting on Redis.
[1] Create self-signed certificate.
If you use valid certificate like Let's Encrypt or others, skip this section.
root@dlp:~#
cd /etc/ssl/private

root@dlp:/etc/ssl/private#
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 'vsftpd.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) [AU]:JP                            # country code
State or Province Name (full name) [Some-State]:Hiroshima       # State
Locality Name (eg, city) []:Hiroshima                           # city
Organization Name (eg, company) [Internet Widgits Pty Ltd]:GTS  # company
Organizational Unit Name (eg, section) []:Server World          # department
Common Name (e.g. server FQDN or YOUR name) []:dlp.srv.world    # server's FQDN
Email Address []:root@srv.world                                 # admin's email

root@dlp:/etc/ssl/private#
chmod 600 redis.pem

[2] Configure Redis.
root@dlp:~#
cp /etc/ssl/private/redis.pem /etc/redis/

root@dlp:~#
chown redis:redis /etc/redis/redis.pem

root@dlp:~#
vi /etc/redis/redis.conf
# line 138 : change : disable it with [0]

port
0
# line 195: uncomment

tls-port 6379
# line 201,202 : uncomment and specify certificate

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

tls-key-file
/etc/redis/redis.pem
# line 246 : uncomment

tls-auth-clients no
root@dlp:~#
systemctl restart redis

[3] Connect to Redis with SSL/TLS from clients. If connect from other Hosts, it needs to transfer certificate to them.
root@node01:~#
ll /etc/redis

total 120
drwxrws---   2 redis redis   4096 Jun 11 00:32 ./
drwxr-xr-x 109 root  root    4096 Jun 11 00:10 ../
-rw-r-----   1 redis redis 106622 Jun 11 00:32 redis.conf
-rw-------   1 redis redis   3160 Jun 11 00:29 redis.pem

# specify [tls] option and certificate
root@node01:~# redis-cli -h dlp.srv.world --tls \
--cert /etc/redis/redis.pem \
--key /etc/redis/redis.pem \
--cacert /etc/redis/redis.pem

dlp.srv.world:6379> auth password 
OK
dlp.srv.world:6379> info
# Server
redis_version:7.0.15
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:d81b8ff71cfb150e
redis_mode:standalone
os:Linux 6.8.0-35-generic x86_64
arch_bits:64
monotonic_clock:POSIX clock_gettime
multiplexing_api:epoll
atomicvar_api:c11-builtin
gcc_version:13.2.0
process_id:1990
process_supervised:systemd
run_id:bb028dc529ba5c2570a1774e08d3ccb40e6d0864
tcp_port:6379
server_time_usec:1718066049123928
uptime_in_seconds:341
uptime_in_days:0
hz:10
configured_hz:10
lru_clock:6790017
executable:/usr/bin/redis-server
config_file:/etc/redis/redis.conf
io_threads_active:0
.....
.....
Matched Content