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

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


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

  • Ubuntu 18.04 (Бионический бобер)

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

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

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

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

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

    Предпосылки

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

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

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

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

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

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

    sudo apt update
    sudo apt upgrade

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

    sudo apt install redis-server

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

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

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

    Перейдите в каталог /etc/redis и отредактируйте файл конфигурации redis.conf с помощью редактора vim.

    cd /etc/redis/
    vim redis.conf

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

    Измените адрес привязки на IP-адрес локального хоста для этого примера.

    bind 127.0.0.1

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

    supervised systemd

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

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

    systemctl restart redis-server
    systemctl enable redis-server

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

    systemctl status redis-server

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

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

    ss -plnt4

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

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

    redis-cli ping
    redis-cli ping "Hello Redis"

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

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

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

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

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

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

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

    Перейдите в каталог /etc/redis и отредактируйте файл конфигурации redis.conf.

    cd /etc/redis/
    vim redis.conf

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

    bind INTERNAL-IP-ADDRESS

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

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

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

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

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

    requirepass HakaseLabsRedisPasswd

    Измените HakaseLabsRedisPasswd на надежный пароль. И теперь аутентификация по паролю для 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
    ping "Hello Redis"

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

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

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

    AUTH HakaseLabsRedisPasswd

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

    ping
    ping "Hello Redis"

    Ниже приведен результат после аутентификации на сервере 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 Server в Ubuntu 20.04 завершена, и базовая безопасность для Redis Server применена.

    Ссылка

    • https://redis.io/documentation