Redis установка · 4 min read · Feb 13, 2026

Установка и защита сервера Redis на Debian 10

Redis, также известный как “Удаленный словарь”, является открытой и работающей в памяти базой данных, которую можно использовать как базу данных, кэш и брокер сообщений. Redis поддерживает различные структуры данных, такие как строки, хэши, списки, множества и многое другое. Redis написан на языке программирования C и работает в большинстве систем POSIX, таких как Linux, Free BSD и OS X. Redis способен выполнять тысячи команд в секунду. Redis поставляется с богатым набором функций, включая репликацию, автоматическое переключение на резервный сервер, скрипты Lua, вытеснение ключей по LRU, транзакции и многое другое.

В этом руководстве мы узнаем, как установить и защитить Redis на сервере Debian 10.

Требования

  • Сервер с установленным Debian 10.
  • Установлен пароль root для вашего сервера.

Начало работы

Перед началом вам нужно обновить вашу систему до последней версии. Вы можете сделать это, выполнив следующую команду:

apt-get update -y  
apt-get upgrade -y

После обновления сервера перезагрузите его, чтобы применить изменения.

Установка Redis

По умолчанию Redis доступен в репозитории Debian 10. Вы можете установить его, просто выполнив следующую команду:

apt-get install redis-server -y

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

systemctl start redis-server  
systemctl enable redis-server

Вы также можете проверить статус сервера Redis с помощью следующей команды:

systemctl status redis-server

Вы должны получить следующий вывод:

? redis-server.service - Advanced key-value store
   Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2019-09-06 05:57:45 EDT; 4s ago
     Docs: http://redis.io/documentation,
           man:redis-server(1)
  Process: 2284 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)
 Main PID: 2285 (redis-server)
    Tasks: 4 (limit: 1138)
   Memory: 6.8M
   CGroup: /system.slice/redis-server.service
           ??2285 /usr/bin/redis-server 127.0.0.1:6379

Sep 06 05:57:45 debian systemd[1]: Starting Advanced key-value store...
Sep 06 05:57:45 debian systemd[1]: redis-server.service: Can't open PID file /run/redis/redis-server.pid (yet?) after start: No such file or di
Sep 06 05:57:45 debian systemd[1]: Started Advanced key-value store.

По умолчанию Redis слушает на локальном хосте на порту 6379. Вы можете проверить это с помощью следующей команды:

ps -ef | grep redis

Вы должны увидеть следующий вывод:

redis     2285     1  0 05:57 ?        00:00:00 /usr/bin/redis-server 127.0.0.1:6379
root      2294   706  0 05:59 pts/0    00:00:00 grep redis

Далее протестируйте подключение к Redis с помощью следующей команды:

redis-cli

Вы должны увидеть следующий вывод:

127.0.0.1:6379> 

Теперь проверьте подключение к Redis с помощью команды ping:

127.0.0.1:6379> ping

Если все в порядке, вы должны увидеть следующий вывод:

PONG

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

Настройка Redis как кэша

Вы можете настроить Redis как кэш, отредактировав файл /etc/redis/redis.conf:

nano /etc/redis/redis.conf

Добавьте следующие строки в конец файла:

maxmemory 64mb
maxmemory-policy allkeys-lru

Когда максимальная память в 64 МБ будет достигнута, Redis удалит любой ключ в соответствии с алгоритмом LRU. Сохраните и закройте файл, когда закончите. Затем перезапустите службу Redis с помощью следующей команды:

systemctl restart redis-server

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

Настройка аутентификации Redis

По умолчанию вы можете выполнять любую команду в оболочке Redis. Поэтому рекомендуется настроить аутентификацию Redis, чтобы клиентам требовался пароль перед выполнением любых команд. Вы можете настроить аутентификацию по паролю непосредственно в файле конфигурации Redis. Для этого откройте файл /etc/redis/redis.conf с помощью вашего предпочтительного редактора:

nano /etc/redis/redis.conf

В разделе SECURITY найдите следующую строку:

# requirepass foobared

Уберите комментарий и замените его на желаемый пароль, как показано ниже:

requirepass AlsW34%#df

Сохраните и закройте файл, когда закончите. Затем перезапустите службу Redis, чтобы применить изменения конфигурации:

systemctl restart redis-server

Теперь получите доступ к оболочке Redis с помощью следующей команды:

redis-cli

Теперь выполните следующую команду без аутентификации:

127.0.0.1:6379> INFO server

Это не сработает, потому что вы не аутентифицированы. Вы должны получить следующую ошибку:

NOAUTH Authentication required.

Далее выполните следующую команду для аутентификации с паролем, указанным в файле конфигурации Redis:

127.0.0.1:6379> AUTH AlsW34%#df

Вы должны получить следующий вывод:

OK

Теперь снова выполните предыдущую команду:

127.0.0.1:6379> INFO server

Это выполнится успешно, и вы должны увидеть следующий вывод:

# Server
redis_version:5.0.3
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:afa0decbb6de285f
redis_mode:standalone
os:Linux 4.19.0-5-amd64 x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:8.3.0
process_id:2308
run_id:2cf0470a9492deddf98bcc72fa9ec94e941edf6c
tcp_port:6379
uptime_in_seconds:50
uptime_in_days:0
hz:10
configured_hz:10
lru_clock:7483371
executable:/usr/bin/redis-server
config_file:/etc/redis/redis.conf

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

Переименование определенных команд

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

Здесь мы переименуем команду “config”. Команда config используется для получения пароля Redis. Давайте посмотрим на примере:

Сначала подключитесь и аутентифицируйте оболочку Redis с помощью следующей команды:

redis-cli
127.0.0.1:6379> AUTH AlsW34%#df

Далее получите пароль Redis с помощью следующей команды:

127.0.0.1:6379> config get requirepass

Вы должны получить следующий вывод:

1) "requirepass"
2) "AlsW34%#df"
127.0.0.1:6379> 

Вы можете переименовать команду config, отредактировав файл /etc/redis/redis.conf:

nano /etc/redis/redis.conf

Найдите следующую строку:

# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52

Уберите комментарий и замените на вашу желаемую строку:

rename-command CONFIG H2sW_Config        

Сохраните и закройте файл. Затем перезапустите службу Redis с помощью следующей команды:

systemctl restart redis-server

Далее подключитесь и аутентифицируйте оболочку Redis с помощью следующей команды:

redis-cli  
127.0.0.1:6379> AUTH AlsW34%#df

Далее получите пароль Redis с помощью команды config:

127.0.0.1:6379> config get requirepass

Мы переименовали эту команду, поэтому вы должны получить следующую ошибку:

(error) ERR unknown command `config`, with args beginning with: `get`, `requirepass`, 

Теперь выполните переименованную команду, как показано ниже:

127.0.0.1:6379> H2sW_Config get requirepass

Вы должны получить следующий вывод:

1) "requirepass"
2) "AlsW34%#df"

Наконец, выйдите из оболочки Redis с помощью следующей команды:

127.0.0.1:6379> exit

Заключение

Поздравляем! Вы успешно установили и защитили сервер Redis на Debian 10. Я надеюсь, что теперь у вас достаточно знаний, чтобы защитить ваш сервер Redis с помощью аутентификации по паролю. Не стесняйтесь задавать мне вопросы, если у вас есть какие-либо запросы.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.