Поиск по сайту:

Как установить Redis на Ubuntu 22.04


Это руководство существует для этих версий ОС

  • Ubuntu 22.04 (Jammy Jellyfish)
  • Ubuntu 18.04 (Bionic Beaver)

На этой странице

  1. Предпосылки
  2. Что мы будем делать
  3. Шаг 1. Установите сервер Redis
  4. Шаг 2. Базовая настройка Redis Server
  5. Шаг 3. Защита установки Redis
    1. 1. Сетевая безопасность
    2. 2. Аутентификация по паролю
    3. 3. Отключение опасных команд Redis

    1. 1. Хост тестирования и аутентификация
    2. 2. Тестирование отключено/переименована команда

    Redis — это хранилище ключей и значений в памяти с открытым исходным кодом, используемое в качестве базы данных, кэша и брокера сообщений. Это распределенная база данных «ключ-значение» в памяти с дополнительной устойчивостью. Он поддерживает общие структуры данных, такие как строки, хэши, списки, наборы, растровые изображения, отсортированные наборы, HyperlogLogs, потоки и индексы геоданных с запросами радиуса.

    В этом руководстве я покажу вам, как установить и настроить Redis Server в Ubuntu 22.04 LTS. Сначала мы установим Redis Server, а затем создадим резервную копию установки, чтобы подготовить ее к работе.

    Предпосылки

    В этом руководстве мы установим Redis Server на Ubuntu 22.04 с 1 ГБ ОЗУ и 2 ядрами ЦП. Это только для тестирования. Для производства вам понадобится нечто большее.

    Что мы будем делать

    • Установить сервер Redis
    • Базовая конфигурация сервера Redis
    • Защита сервера Redis
    • Тестирование

    Шаг 1 — Установите сервер Redis

    Во-первых, мы обновим все репозитории в системе Ubuntu и обновим все пакеты.

    Запустите приведенные ниже команды apt.

    sudo apt update
    sudo apt upgrade -y

    После этого установите пакет Redis-сервера из официального репозитория Ubuntu с помощью приведенной ниже команды apt.

    sudo apt install redis-server -y

    После завершения установки вы получите сообщение об ошибке о том, что служба Redis не запускается, проигнорируйте сообщение об ошибке, и мы настроим его на следующем шаге.

    Шаг 2 — Базовая конфигурация сервера Redis

    На этом этапе мы собирались настроить базовый сервер Redis. В системе Linux конфигурация Redis находится в каталоге /etc/redis.

    Отредактируйте файл конфигурации redis.conf с помощью редактора nano.

    sudo nano /etc/redis/redis.conf

    Во-первых, нам нужно выбрать IP-адрес привязки для запуска службы Redis. Не рекомендуется использовать общедоступный IP-адрес для службы Redis, или, если вы используете несколько/кластерную службу Redis, вам следует использовать внутреннюю сеть.

    Измените адрес привязки на IP-адрес локального хоста для этого примера (IPv4 и IPv6). Из соображений безопасности настоятельно рекомендуется разрешить Redis прослушивать IP-адрес локального хоста, только если службы, использующие Redis, будут установлены в той же системе.

    bind 127.0.0.1 ::1

    После этого нам нужно настроить, как служба Redis будет работать на сервере. Поскольку мы использовали сервер Ubuntu и systemd, нам нужно изменить конфигурацию контролируемой линии на systemd.

    supervised systemd

    Сохранить и закрыть.

    Теперь перезапустите службу Redis и добавьте ее во время загрузки.

    sudo systemctl restart redis-server
    sudo systemctl enable redis-server

    Теперь убедитесь, что нет ошибки, а затем проверьте ее статус.

    sudo systemctl status redis-server

    В результате служба Redis запущена и работает на сервере Ubuntu 22.04.

    Теперь проверьте порт Redis по умолчанию 6379, используя приведенную ниже команду netstat.

    ss -plnt4

    И вы получите результат, что служба Redis работает на IP-адресе локального хоста со значением по умолчанию 6379.

    Теперь проверьте Redis, используя команды redis-cli, как показано ниже.

    redis-cli ping
    redis-cli ping "Hello Howtoforge redis Server"

    И вы получите результат, как показано ниже.

    Если ваша установка выполнена правильно, вы получите ответ Redis Server с помощью PONG или ответ с текстом, который вы ввели после параметра ping.

    Базовая установка и настройка сервера Redis успешно завершены.

    Шаг 3 — Защита установки Redis

    На этом этапе мы собирались защитить нашу установку Redis. Есть 3 вещи, которые вы должны знать о защите сервера Redis.

    1. Безопасность сети

    Сетевая безопасность для сервера Redis связана с конфигурацией привязки в конфигурации Redis в файле redis.conf. Рекомендуется использовать внутреннюю частную сеть для установки Redis и не использовать общедоступную.

    Отредактируйте файл конфигурации redis.conf.

    sudo nano /etc/redis/redis.conf

    В разделе привязки измените IP-адрес на собственный IP-адрес внутренней сети.

    bind INTERNAL-IP-ADDRESS

    Сохранить и закрыть.

    И теперь служба Redis будет работать под ВНУТРЕННИМ IP-АДРЕСОМ.

    2. Аутентификация по паролю

    Аутентификация по паролю для Redis даст вам контроль доступа к вашему серверу Redis. Это небольшой уровень безопасности, который повысит безопасность вашего сервера Redis, и он еще не включен при установке по умолчанию.

    Чтобы включить аутентификацию по паролю для сервера Redis, вам нужно раскомментировать раздел requirepass в файле redis.conf и ввести после него надежный пароль.

    requirepass MySecretSecurePassword

    Измените MySecretSecurePassword на надежный пароль. И теперь аутентификация по паролю для Redis включена.

    3. Отключение опасных команд Redis

    Redis предоставляет функцию отключения некоторых определенных команд Redis. Эту функцию можно использовать для переименования или отключения некоторых опасных команд, таких как FLUSHALL для удаления всех данных, команда CONFIG для настройки параметров конфигурации через интерфейс командной строки Redis и т. д.

    Чтобы изменить или отключить команду Redis, вы можете использовать параметр rename-command. Отредактируйте файл конфигурации Redis redis.conf и добавьте некоторые конфигурации ниже.

    # rename-command COMMAND "CUSTOM"
    rename-command FLUSHALL "DELITALL"
    rename-command CONFIG "MYSERVERCONF"

    Сохранить и закрыть.

    Когда все будет готово, перезапустите службу Redis с помощью приведенной ниже команды systemctl.

    systemctl restart redis-server

    И базовая безопасность Redis для защиты установки Redis была применена к нашему хосту.

    Другое соображение: вам также может понадобиться поддержка шифрования данных для Redis, а также безопасное кодирование, необходимое на стороне приложения.

    Шаг 4 — Тестирование

    На этом этапе мы собирались протестировать наше развертывание Redis Server с помощью командной строки redis-cli.

    1. Хост тестирования и аутентификация

    Подключитесь к серверу Redis с помощью команды redis-cli, указав имя хоста/IP-адрес сервера redis и порт.

    redis-cli -h 127.0.0.1 -p 6379

    Измените 127.0.0.1 на свой собственный IP-адрес.

    Как только вы подключитесь к серверу, попробуйте выполнить команду ping.

    ping "Hello Howtoforge"

    Теперь вы получите результат, как показано ниже.

    Вы получаете сообщение об ошибке, потому что вам необходимо пройти аутентификацию перед вызовом любой команды в оболочке Redis CLI.

    Выполните следующую команду для аутентификации на сервере Redis.

    AUTH MySecretSecurePassword

    После аутентификации вы можете попробовать команду ping, и вы получите ответ от сервера Redis.

    ping "Hello Redis at Howtoforge"

    Ниже приведен результат после аутентификации на сервере Redis.

    2. Тестирование отключенной/переименованной команды

    Запустите все команды, которые мы переименовали в оболочке, и вы получите ошибку команды.

    FLUSHALL
    CONFIG

    Ниже приведен результат ошибки этих команд.

    Затем запустите команды CUSTOM для каждого.

    Создайте новый ключ с помощью команды redis-cli, как показано ниже.

    SET Name "Hakase Labs"
    SET Blog "Howtoforge.com"

    Keys *

    Теперь удалите все ключи и данные с помощью переименованной команды FLUSHALL DELITALL.

    DELITALL

    Для команды CONFIG вы можете попытаться получить или установить новое значение конфигурации Redis Server. Команда CONFIG была переименована в MYSERVERCONF.

    MYSERVERCONF get bind
    MYSERVERCONF get requirepass

    И ниже результат этих новых переименованных пользовательских команд.

    Чтобы выйти из консоли Redis, введите слово quit.

    quit

    Базовая установка Redis Server в Ubuntu 22.04 завершена, и базовая безопасность для Redis Server применена.

    Ссылка

    • https://redis.io/documentation