NAS.
SMB로 폴더를 공유하는 장비라면 무엇이든 돼요. 예를 들어 NAS 장비, Windows 서버, Samba를 실행하는 Linux 머신이 있어요. Loft는 NAS를 변경하지 않고, NAS에 아무것도 설치하지 않아요.
작동 방식
Loft는 두 부분으로 이루어져 있어요. 게이트웨이는 NAS 옆에서, 앱은 내 기기에서 실행돼요. 앱은 오직 내 게이트웨이하고만 통신하고, 게이트웨이는 오직 내 NAS하고만 통신해요.
SMB로 폴더를 공유하는 장비라면 무엇이든 돼요. 예를 들어 NAS 장비, Windows 서버, Samba를 실행하는 Linux 머신이 있어요. Loft는 NAS를 변경하지 않고, NAS에 아무것도 설치하지 않아요.
집에 있는 Linux 머신에서 실행되는 작은 서비스예요. 사용자 본인의 계정으로 NAS에 로그인하므로 NAS 자체의 권한이 그대로 적용돼요. 앱이 연결하는 대상은 게이트웨이뿐이에요.
iPhone 및 iPad, Mac, Android, Windows, Linux용 Loft예요. 공유 폴더를 각 시스템의 기본 파일 앱에 넣어 주고, 파일을 열 때 가져와요.
loft-gateway pair는 QR 코드와 링크를 출력해요. 둘 다 게이트웨이의 이름, 주소, 키 지문을 담고 있어요. 앱은 연결할 때마다 이 지문을 확인하므로, 속아서 다른 컴퓨터와 통신하는 일이 없어요. “서버 주소 입력” 칸이 없는 것도 그래서예요. 가짜 게이트웨이가 비밀번호를 수집할 때 쓰는 방법이 바로 직접 입력한 주소거든요. (그래도 필요하다면 앱의 페어링 화면에 수동으로 설정이 있어요.)
링크는 https://loft.incremental.no/pair#… 형태예요. # 뒤의 내용은 모두 내 기기에만 남아요. 브라우저는 이 부분을 저희 웹사이트로 절대 보내지 않아요.
기기마다 한 번에 하나의 게이트웨이와만 페어링돼요.
| 집에서 | 외부, 터널 경유 | 외부, 직접 연결 | |
|---|---|---|---|
| 앱 ↔ 게이트웨이 | 암호화, 게이트웨이의 키에 고정 | 터널 제공업체까지 암호화(제공업체는 트래픽을 읽을 수 있음), 그다음 제공업체의 터널을 거쳐 게이트웨이로 | 암호화, 게이트웨이의 키에 고정, 종단 간 |
| 비밀번호로 로그인 | 가능 | 불가. 먼저 집에서 로그인 | 가능, 연결이 키에 고정됨 |
| 게이트웨이 ↔ NAS | SMB 3, 암호화 필수 (오래된 NAS에서는 완화 가능) | 동일 | 동일 |
어느 쪽을 골라야 할까요? 터널은 쉬운 방법이에요. 공유기에서 아무것도 열 필요가 없지만, 트래픽을 터널 제공업체에 맡겨야 해요. 직접 모드는 공유기에서 게이트웨이로 포트를 포워딩해야 해요. 중간에서 누구도 내용을 읽을 수 없지만, 인터넷에서 게이트웨이에 접근할 수 있게 되므로 게이트웨이가 로그인 시도 횟수를 제한해요. 많은 NAS 장비는 비밀번호를 여러 번 틀려도 계정을 잠그지 않기 때문에, 게이트웨이가 대신 잠가 줘요. 둘 다 쓰지 않고 집에서만 Loft를 쓸 수도 있어요.
비밀번호. 비밀번호는 내 게이트웨이의 키에 고정된 연결로만 전송돼요. 게이트웨이는 비밀번호를 두 개의 키로 암호화해서 저장해요. 키 하나는 게이트웨이가, 다른 하나는 내 기기만 가지고 있으므로, 게이트웨이의 데이터베이스를 복사해도 비밀번호를 읽을 수 없어요. 로그인한 기기마다 암호화된 사본이 따로 있고, 게이트웨이에서 기기를 제거하면 그 사본도 삭제돼요.
막을 수 없는 것도 솔직하게 말씀드릴게요. 게이트웨이가 실행 중이고 사용자가 이용하는 동안에는, 게이트웨이가 NAS와 통신하려면 비밀번호를 사용해야 해요. 실행 중인 게이트웨이를 장악한 사람은 그 시점에 게이트웨이를 쓰고 있는 사람들의 비밀번호를 가로챌 수 있어요. 사용자 계정으로 SMB에 로그인하는 게이트웨이라면 어떤 것이든 마찬가지예요. 그러니 게이트웨이는 다른 용도로 쓰지 않는 머신에서 실행하고, 계속 업데이트하세요.
업데이트. 게이트웨이는 절대 스스로 업데이트하지 않아요. 릴리스 노트를 읽은 다음 새 .deb 패키지를 설치하거나 새 컨테이너 이미지를 받으세요.
→ 보안 문제를 발견하셨나요? 보안 (hello@incremental.no)