メインコンテンツにスキップ

リモートアクセス

このページでは、LANの外からImmichインスタンスにアクセスする方法をいくつか紹介しています。 詳しい議論は Discordの全容 をご覧ください

危険

ポート2283をインターネットに直接転送するのは絶対に避けてください。これにより、HTTP経由でウェブインターフェースがインターネットに公開され、中間者攻撃 のリスクが高まります。

オプション1: 自宅ネットワークへのVPN

VPNサービスを利用して、Immichインスタンスへの暗号化接続を開くことができます。OpenVPNやWireguardは人気のあるVPNソリューションです。サーバーへのVPNアクセスを設定する方法については、Piholeドキュメントをご覧ください。

長所

  • 設定が簡単で、非常に安全です。
  • 潜在的な障害ポイントが1つだけ、すなわちVPNソフトウェア自体です。たとえImmichにゼロデイ脆弱性があっても危険にはなりません。
  • WireguardとOpenVPNはいずれも独立してセキュリティ監査を受けており、深刻なゼロデイ攻撃のリスクは最小限です。

短所

  • 静的IPアドレスがない場合、動的DNSを設定する必要があります。DuckDNSは無料のDDNSプロバイダーです。
  • サーバーおよびクライアントでVPNソフトウェアをインストールしてアクティブにする必要があります。
  • ルーターでサーバーへのポートを開く必要があります。

オプション2: Tailscale

ルーターでWireguardやOpenVPN用のポートをサーバーに開けない場合、Tailscaleが良い選択肢です。Tailscaleは、サーバーとリモートデバイスの間にWireguardのピアツーピアトンネルを仲介し、どちらか、または両方がNATファイアウォールの背後にあっても機能します。

動画チュートリアル

Immichと一緒にTailscaleを設定する方法を、彼らが作成したチュートリアル動画で学べます。

長所

  • サーバーおよびクライアント側で最小限の設定が必要です。
  • Immichのゼロデイ脆弱性から保護されます。

短所

  • Tailscaleクライアントは通常、デバイス上でrootとして実行する必要があります。それにより、最小限のWireguardサーバーと比較して攻撃面がわずかに増加します。例として、2022年11月にWindows TailscaleクライアントでRCE脆弱性が発見されました。
  • Tailscaleは有料サービスです。ただし、3ユーザーおよび最大100デバイスまで許可される寛大な無料プランがあります。
  • Tailscaleをサーバーおよびクライアントの両方にインストールして実行する必要があります。

オプション3: リバースプロキシ

リバースプロキシは、ウェブサーバーとクライアントの間に配置されるサービスです。リバースプロキシはサーバー自体でもリモートでもホストできます。クライアントはhttpsを介してリバースプロキシに接続し、プロキシがImmichにデータを中継します。このセットアップは、独自のドメインを持ち、LANの外から他のウェブサイトと同じようにImmichインスタンスにアクセスしたい場合に最も適しています。ドメインがない場合は、DuckDNSやno-ipのようなDDNSプロバイダーを使用することも可能です。この構成により、クライアント側のVPNまたはTailscaleアプリがなくても、ImmichのAndroidおよびiPhoneアプリがサーバーに接続できます。

独自でリバースプロキシをホストする場合は、Nginxが優れた選択肢です。Nginxの構成例はこちらで提供されています。

https接続を認証するために独自の証明書も必要になります。Immichを公開する場合、Let's Encryptは無料証明書を提供しており、推奨されるオプションです。代わりに自己署名証明書を使用してImmichへの接続を暗号化することができますが、クライアントのブラウザにはセキュリティ警告が表示されます。

Cloudflareのようなリモートリバースプロキシは、サーバーのIPアドレスを隠すことでセキュリティを向上させ、DDoSのようなターゲット攻撃を困難にします。

長所

  • クライアント側に追加のソフトウェアをインストールする必要がありません。
  • ウェブインターフェースへのリモートアクセスだけが必要な場合は、Immichのゼロデイ脆弱性から保護するアクセス制御を設定できます。Cloudflare Accessは寛大な無料プランを提供しています。

短所

  • 複雑な構成が必要です。
  • 構成によっては、ImmichウェブインターフェースとAPIがインターネットに公開される可能性があります。Immichは非常に活発に開発が進められており、深刻なセキュリティ脆弱性が存在する可能性は否定できません。