В этом репозитории содержится утилита, которую выпускает проект Ray, чтобы помочь пользователям Ray проверить, что их кластеры не настроены неправильно таким образом, что может позволить ненадежным клиентам запускать произвольный код в своих кластерах.
Он запускает набор задач Ray в кластере, чтобы собрать список портов, которые Ray использует в данный момент. Затем каждый узел отправляет свой локальный набор активных портов службе, управляемой командой Ray, работающей в общедоступном Интернете, которая затем пытается подключиться обратно и проверить, доступны ли они. Если какие-либо из них окажутся доступными, сценарий сообщит подробности.
Cluster has 26 node(s). Scheduling tasks on each to check for exposed ports
[?] No open ports detected checked_ports=[6822, 6823, 8076, 8085, 8912, 10002, 44973] node='defb6868434e23ba21c3f9fc84ec523f1378b11e5d289547234edb07'
[...]
[?] No open ports detected checked_ports=[6822, 6823, 8076, 8085, 8912, 10002, 10003, 10004, 10005, 60094] node='d368a5fdbe8147bdefafbf9eb4358eae796c168f24f1b297e13a0af6'
Check complete, results:
[?] No open ports detected from any Ray nodes
Cluster has 26 node(s). Scheduling tasks on each to check for exposed ports
[?] No open ports detected checked_ports=[6822, 6823, 8076, 8085, 8912, 10002, 44973] node='defb6868434e23ba21c3f9fc84ec523f1378b11e5d289547234edb07'
[...]
[?] open ports detected open_ports=[8265] node='53fca104c1bb17cd3e996b01e0900aa2a24c2f473d845f56eb3f7aa2'
[...]
[?] No open ports detected checked_ports=[6822, 6823, 8076, 8085, 8912, 10002, 10003, 10004, 10005, 60094] node='d368a5fdbe8147bdefafbf9eb4358eae796c168f24f1b297e13a0af6'
Check complete, results:
[?] An server on the internet was able to open a connection to one of this Ray
cluster's public IP on one of Ray's internal ports. If this is not a false
positive, this is an extremely unsafe configuration for Ray to be running in.
Ray is not meant to be exposed to untrusted clients and will allow them to run
arbitrary code on your machine.
You should take immediate action to validate this result and if confirmed shut
down your Ray cluster immediately and take appropriate action to remediate its
exposure. Anything either running on this Ray cluster or that this cluster has
had access to could be at risk.
For guidance on how to operate Ray safely, please review [Ray's security
documentation](https://docs.ray.io/en/master/ray-security/index.html).
Скрипт проверки (checker.py) можно найти в корне этого репозитория. Предполагается, что его будет легко развернуть, поскольку он представляет собой однофайловый скрипт Python с нулевыми зависимостями, кроме самого Ray.
Почему это не может работать исключительно в автономном режиме? / Зачем вам нужно разговаривать с внешним сервером?
server
.Какие еще у меня есть варианты?
Обратите внимание, что если вы используете размещенный сервер Anyscale: мы можем собирать информацию в соответствии с нашей политикой конфиденциальности, отправляемую на сервер (например, IP-адрес, открытые порты), чтобы помочь улучшить Ray и определить, в какой степени эти неправильные настройки продолжают оставаться проблемой. .