원격 액세스
이 페이지에서는 LAN 외부에서 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은 서버와 원격 장치 간에 피어-투-피어 와이어가드 터널을 중재하며 이 중 하나 또는 모두가 NAT 방화벽 뒤에 있어도 작동합니다.
Immich와 함께 Tailscale을 설정하는 방법에 대해 튜토리얼 비디오를 참고하세요.
장점
- 서버 및 클라이언트 측에서 최소한의 구성 필요
- Immich의 제로데이 취약점으로부터 보호됨
단점
- Tailscale 클라이언트는 일반적으로 장치에서 root로 실행되어야 하며 최소한의 Wireguard 서버와 비교하여 공격 표면이 약간 증가합니다. 예: RCE 취약점이 2022년 11월 Windows Tailscale 클라이언트에서 발견됨.
- 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는 매우 활발히 개발 중이며 심각한 보안 취약점의 존재를 완전히 배제할 수 없습니다.