zlambda: inbest SFTP 릴레이 socat→nginx stream 교체 (2026-06-11)
This commit is contained in:
@@ -46,15 +46,17 @@ NixOS 베이스 호스트 (도쿄, Linode nano). 이전 `sandbox-tokyo` 장비
|
|||||||
| apisix / apisix-etcd | APISIX (Netbis 관련) | host network |
|
| apisix / apisix-etcd | APISIX (Netbis 관련) | host network |
|
||||||
| vector-relay | 로그 릴레이 | |
|
| vector-relay | 로그 릴레이 | |
|
||||||
| tlsproxy | SearXNG Google 우회 (Chrome TLS fingerprint), `:8443` | [[../../services/searxng]] |
|
| tlsproxy | SearXNG Google 우회 (Chrome TLS fingerprint), `:8443` | [[../../services/searxng]] |
|
||||||
| ~~inbest-sftp-fwd~~ | inbest SFTP 포워딩 → **systemd 서비스로 이관(2026-06-10)**, docker 컨테이너 제거 | 아래 참조 |
|
| nginx (stream) | inbest SFTP 포워딩 `:2201` → 10.100.1.158:22. **2026-06-11 socat→nginx stream 교체** | 아래 참조 |
|
||||||
|
|
||||||
### inbest SFTP 포트포워딩 (2026-06-10 구성)
|
### inbest SFTP 포트포워딩 (2026-06-10 구성, 2026-06-11 nginx 교체)
|
||||||
|
|
||||||
- **공개 엔드포인트: `139.162.71.52:2201`** (SFTP)
|
- **공개 엔드포인트: `139.162.71.52:2201`** (SFTP)
|
||||||
- 경로: `외부 → zlambda 공인IP:2201 → (tailscale 100.78.51.18 → 10.100.1.158) → kr2 inbest 프로젝트 sftp 컨테이너:22`
|
- 경로: `외부 → zlambda 공인IP:2201 → (tailscale 100.78.51.18 → 10.100.1.158) → kr2 inbest 프로젝트 sftp 컨테이너:22`
|
||||||
- 릴레이: **NixOS systemd 서비스** `inbest-sftp-fwd` (nixos-infra `inbest-sftp-fwd.nix`, `pkgs.socat`, DynamicUser, `Restart=always`, `after=tailscaled`). 초기 수동 docker(alpine/socat)에서 2026-06-10 선언적 서비스로 이관·docker 제거
|
- 릴레이: **NixOS `services.nginx` stream TCP proxy** (nixos-infra `inbest-sftp-fwd.nix`, `streamConfig` upstream → 10.100.1.158:22, `proxy_timeout 1h`). flake 빌드: `nixos-rebuild switch --flake /root/nixos-infra#zlambda`
|
||||||
- 백엔드 sshd 호스트키(ED25519): `SHA256:bHy58AE10LPS/C4I8DXnFNCDaEsH3MFUreoDz8cnCPs` (= sftp 컨테이너 키, socat 투명 relay라 MITM 없음)
|
- 이력: 수동 docker(alpine/socat) → 2026-06-10 systemd socat 서비스 → **2026-06-11 nginx stream 교체** (socat 경유 파일 전송 장애 보고). nginx는 http 가상호스트 미정의로 80/443 미점유, stream 만 사용
|
||||||
- 인증: sftp 컨테이너 자체 sshd (publickey/password, chroot `sftponly` 그룹, home `/data`, 고객 사이트별 디렉토리). 계정 시크릿은 평문 미기재
|
- 백엔드 sshd 호스트키(ED25519): `SHA256:bHy58AE10LPS/C4I8DXnFNCDaEsH3MFUreoDz8cnCPs` (= sftp 컨테이너 키, 평문 TCP relay라 MITM 없음). 백엔드 sshd: OpenSSH 10.0p2 Debian
|
||||||
|
- 인증: sftp 컨테이너 자체 sshd (publickey/password). **chroot 미사용**(`ChrootDirectory none`), `Match User inbest` → `ForceCommand internal-sftp`, home `/data`(소유 `inbest:sftponly`), 고객 사이트별 디렉토리(in-best-com, leewell-com 등). 비밀번호 yescrypt(`$y$`). 계정 시크릿은 Vault. 2026-06-11 검증: password/키 인증·10MB 업다운로드 정상(40/40)
|
||||||
|
- ⚠️ 2201이 2026-06-10 인터넷 개방됨 → sshd 무차별 대입 스캔 노출. inbest 계정 약한 비밀번호 → 키 전용 전환 또는 fail2ban 검토 권장
|
||||||
- **Linode Cloud Firewall**: zlambda는 공인 IP에서 **22만 기본 개방**, 나머지(80/443/8443/9999)는 차단. 2201은 2026-06-10 인바운드 허용 추가(zlambda 소속 Linode 계정은 Vault `cloud/linode`(ironclad/apisix-osaka)와 **다른 계정** — 토큰 미보유, 방화벽은 사용자가 대시보드에서 관리)
|
- **Linode Cloud Firewall**: zlambda는 공인 IP에서 **22만 기본 개방**, 나머지(80/443/8443/9999)는 차단. 2201은 2026-06-10 인바운드 허용 추가(zlambda 소속 Linode 계정은 Vault `cloud/linode`(ironclad/apisix-osaka)와 **다른 계정** — 토큰 미보유, 방화벽은 사용자가 대시보드에서 관리)
|
||||||
- [[../../services/sftpgo|SFTPGo]] / [[../../network/sshpiper|sshpiper]]와 역할 구분 (이건 단순 TCP relay)
|
- [[../../services/sftpgo|SFTPGo]] / [[../../network/sshpiper|sshpiper]]와 역할 구분 (이건 단순 TCP relay)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user