Перейти к основному содержимому

Удаленный доступ

На этой странице представлено несколько советов о том, как получить доступ к вашей Immich-инстанции из-за пределов вашей локальной сети. Вы можете прочитать полное обсуждение в Discord

опасность

Никогда не перенаправляйте порт 2283 напрямую в интернет без дополнительной настройки. Это откроет веб-интерфейс через http в интернет, что сделает вас уязвимыми для атак посредником.

Вариант 1: VPN к домашней сети

Вы можете использовать VPN-сервис для создания зашифрованного подключения к вашей Immich-инстанции. OpenVPN и Wireguard — два популярных решения для VPN. Вот руководство по настройке VPN-доступа к вашему серверу - документация Pihole.

Преимущества

  • Простота настройки и высокая безопасность.
  • Единственная точка возможного отказа, то есть само VPN-программное обеспечение. Даже если будет обнаружена уязвимость нулевого дня в Immich, вы не будете подвергаться риску.
  • Wireguard и OpenVPN прошли независимый аудит безопасности, что минимизирует риск серьезных уязвимостей нулевого дня.

Недостатки

  • Если у вас нет статического IP-адреса, вам потребуется настроить динамический DNS. DuckDNS - бесплатный провайдер DDNS.
  • VPN-программное обеспечение должно быть установлено и активно как на стороне сервера, так и на стороне клиента.
  • Требуется открыть порт на вашем роутере для подключения к серверу.

Вариант 2: Tailscale

Если вы не можете открыть порт на вашем роутере для Wireguard или OpenVPN к вашему серверу, Tailscale — хороший вариант. Tailscale обеспечивает туннель wireguard между вашим сервером и удаленным устройством даже если одно или оба из них находятся за NAT-брандмауэром.

Видео-обучение

Вы можете узнать, как настроить Tailscale вместе с Immich с помощью видеоруководства, которое они сделали.

Преимущества

  • Минимальная настройка требуется на стороне сервера и клиента.
  • Вы защищены от уязвимостей нулевого дня в Immich.

Недостатки

  • Клиент Tailscale обычно должен работать с правами root на ваших устройствах и немного увеличивает поверхность атак по сравнению с минимальным сервером на Wireguard. Например, уязвимость RCE была обнаружена в клиенте Tailscale для Windows в ноябре 2022 года.
  • Tailscale — это платный сервис. Однако есть щедрая бесплатная версия, которая позволяет использовать его до 3 пользователей и до 100 устройств.
  • Tailscale должен быть установлен и работать как на стороне сервера, так и на стороне клиента.

Вариант 3: Обратный прокси-сервер

Обратный прокси — это сервис, который находится между веб-серверами и клиентами. Обратный прокси может быть размещен на самом сервере или удаленно. Клиенты могут подключаться к обратному прокси через https, а прокси пересылает данные на Immich. Этот способ наиболее удобен, если у вас есть собственный домен, и вы хотите получить доступ к вашей Immich-инстанции так же, как к любому другому веб-сайту, вне вашей локальной сети. Вы также можете использовать провайдера DDNS, такого как DuckDNS или no-ip, если у вас нет домена. Эта настройка позволяет приложениям Immich для Android и iPhone подключаться к вашему серверу без VPN или приложения Tailscale на стороне клиента.

Если вы размещаете собственный обратный прокси, Nginx — отличный вариант. Пример конфигурации для Nginx можно найти здесь.

Вам также понадобится собственный сертификат для аутентификации https-подключений. Если вы делаете Immich общедоступным, Let's Encrypt может предоставить бесплатный сертификат для вашего домена, и это рекомендуемый вариант. Альтернативно можно использовать самоподписанный сертификат, который позволяет зашифровать соединение с Immich, но вызывает предупреждение безопасности в браузере клиента.

Удаленный обратный прокси, такой как Cloudflare, увеличивает безопасность, скрывая IP-адрес сервера, что затрудняет такие целенаправленные атаки, как DDoS.

Преимущества

  • Клиенту не требуется устанавливать дополнительное программное обеспечение
  • Если вам нужен доступ только к веб-интерфейсу, можно настроить контроль доступа, который защитит вас от уязвимостей нулевого дня в Immich. Cloudflare Access предлагает щедрую бесплатную версию.

Недостатки

  • Сложная настройка
  • В зависимости от вашей настройки, как веб-интерфейс, так и API Immich могут быть открыты в интернет. Immich активно развивается, и возможность серьезных уязвимостей безопасности не может быть исключена.