Comments 11
Правильно ли я понимаю, что в локальной сети (без Интернет) не получится работать с Tailscale? Или все-таки можно установить собственные сервера Headscale и дальше уже дело техники?
Консоль SSH на WebAssembly внутри браузера: как это сделано
разработчики портировали на WebAssembly (низкоуровневый язык для исполнения бинарников внутри браузера) следующие программы:
К чему остальная статья, не вполне понятно
Клиент Tailscale SSH проверяет подлинность каждого пакета на основе криптографической подписи WireGuard, поэтому ему не нужно запрашивать
пароль, загружать открытый ключ или управлять файломauthorized_keys
То есть админ tailscale может зайти на любой мой хост если там запущен клиент tailscale? А сам клиент запущен с правами суперпользователя. В чём же тут трюк?
А сам клиент запущен с правами суперпользователя. В чём же тут трюк?
Трюк в том, что суперпользователя нет, т.к. это всё внутри браузера на виртуальной файловой системе.
админ tailscale может зайти
А вот это сомнительно, если не MITMить трафик. Но вроде алгоритмы не дают этого делать.
Трюк в том, что суперпользователя нет, т.к. это всё внутри браузера на виртуальной файловой системе.
Имеется ввиду система на которой запущен ssh-сервер и timescaled
А вот это сомнительно, если не MITMить трафик.
Если целевая система авторизует клиентов на основании wg-туннеля до инфраструктуры timescale, то что помешает админу timescale поднять wg-туннель без моего участия и зайти на "мой" хост?
разработчики портировали на WebAssembly (низкоуровневый язык для исполнения бинарников внутри браузера) следующие программы:
клиент Tailscale;
клиент WireGuard;
весь сетевой стек пользовательского пространства (из проекта gVisor, который копирует интерфейсы системных вызовов из ядра Linux и переписывает их на Go для использования в сторонних приложениях);
клиент SSH.
Жесть какая. А уже есть браузер на wasm, чтобы запускать его в браузере?
Таки получается все равно есть единая точка отказа? Блокировки, санкции накрыли координационный сервер и всё, приехали.
Консоль SSH на WebAssembly внутри браузера: как это сделано