Удаленный доступ
На этой странице представлено несколько советов о том, как получить доступ к вашей 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 активно развивается, и возможность серьезных уязвимостей безопасности не может быть исключена.