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-cli127.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 с помощью аутентификации по паролю. Не стесняйтесь задавать мне вопросы, если у вас есть какие-либо запросы.
Get new posts in your inbox
No spam. Unsubscribe anytime.