aboutcode-org / aboutcode-org/purldb

Add option to enable use of TLS for connection to Redis

Open
#672 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
HTML
Stars
67
Forks
69
Avg merge
8d 8h
Merged PRs (30d)
1

Description

**Describe the bug**
Currently PurlDB does not use TLS when connecting to Redis and does not offer an option to enable it. This is an issue when attempting to deploy PurlDB with Redis hosted on a separate system (e.g. a cloud deployment with ElastiCache), unlike the default docker-compose deployment.

The root cause is that PurlDB uses django-rq, which disables TLS by default unless specific options are passed.

As can be seen in the following lines, only `HOST`, `PORT`, `PASSWORD`, and `DEFAULT_TIMEOUT` are being set by PurlDB:
https://github.com/aboutcode-org/purldb/blob/e638d183b35c579f56140f453c530f0288fe182d/purldb_project/settings.py#L308-L315

Without either `SSL` set to `True` or `URL` set to contain `rediss://` (two s!), it will not use TLS:
https://github.com/rq/django-rq/blob/cd05d2f427e6bd54ce91f78549f05884fa96753e/django_rq/queues.py#L137

Patches for this have already been added to DejaCode and ScanCode.io:
- https://github.com/aboutcode-org/dejacode/pull/208/files
- https://github.com/aboutcode-org/scancode.io/pull/1467/files

**To Reproduce**
See above.

**Expected behavior**
PurlDB should provide an option to enable TLS for the Redis connection in order protect the confidentiality and integrity of the data transmitted between the systems.

**Screenshots**
Not applicable

**Context (OS, Browser, Device, etc.):**
Not applicable

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.