Flow-project привязывает redis к localhost для безопасности

Я изучаю учебные пособия по потокам и сталкиваюсь с проблемой безопасности, заключающейся в том, что пакет "redis", используемый потоком, прослушивает весь Интернет.

См. https://redis.io/topics/security.

Решение - привязать redis к 127.0.0.1 в redis.conf, указанном в ссылке выше. Однако кажется, что поток вызывает redis из луча, и я не уверен, как это работает в потоке.

Есть ли быстрое решение, чтобы это исправить?

Спасибо!


person lccycc    schedule 11.02.2020    source источник


Ответы (1)


Я отвечаю на этот вопрос здесь, но будущие вопросы следует направлять группе слабаков для более быстрых ответов! Извините за путаницу; мы изменили наш веб-сайт, чтобы направлять людей на него. https://join.slack.com/t/flow-users/shared_invite/enQtODQ0NDYxMTQyNDY2LTY1ZDVjZTljM2U0ODIxNTY5NTQ2MmUxMzYzNzc5NzU4ZTlmNGI2ZjFmNGU4YjVhNzE3NjcwZTBjNzIxYTg5ZmY

Ответ здесь: вам нужно указать Ray конкретный порт для привязки. В командной строке запустите: ray start --redis-port XXXX, а затем выполните ray.init (адрес)

person iOSPractice    schedule 13.02.2020
comment
Я также связался с командой Ray, чтобы сделать эту функцию, которую можно запускать напрямую через ray.init (). - person iOSPractice; 13.02.2020
comment
Открытый PR находится здесь: github.com/ray-project/ray/pull / 7145 # issuecomment-585529575 - person iOSPractice; 13.02.2020
comment
Привет, спасибо за быстрый ответ! Я запускаю поток активации conda, а затем запускаю луч --redis-port 127.0.0.1 в каталоге ~ / flow / и получаю эту ошибку: Исключение: если --head не передан, --redis-port не допускается - person lccycc; 14.02.2020
comment
кстати, посмотрев на этот вопрос: stackoverflow.com/questions/25416007/ Насколько я понимаю, нам нужно попросить redis прослушивать только запросы от 127.0.0.1, а не порта. Изменение кода только установило redis на фиксированный порт, что не решило проблему (ранее это был случайный порт) - person lccycc; 14.02.2020
comment
Думаю, я запущу ray.init (num_cpus = N_CPUS, address = 127.0.0.1)? Позвольте мне проверить - person lccycc; 14.02.2020
comment
Нет, ray.init (address = xxx) используется для подключения к существующему кластеру. Чтобы запустить новый узел Redis с привязкой, необходимо изменить этот код: github.com/ray-project/ray/blob/ В настоящее время в качестве имени хоста используется пустая строка. Согласно docs.python.org/2/library/socket.html, пустая строка представляет INADDR_ANY, а INADDR_ANY используется, когда вам не нужно привязывать сокет к определенному IP. Когда вы используете это значение в качестве адреса при вызове bind (), сокет принимает подключения ко всем IP-адресам машины. - person lccycc; 14.02.2020