Pi-Server 구축기 6편: Zero Trust로 보안 설정하기
🔒 Pi-Server 구축기 6편: Zero Trust로 보안 설정하기
1. 시작하며
이제 내 서버도 거의 마지막 단계에 다다랐다.
드디어 ttyd를 선택하면서부터 고민하던 ‘보안 문제’를 해결할 차례다.
이번 편에서 다룰 Zero Trust는 간단히 말해,
“누가 내 서버에 들어오려 하면 Cloudflare에서 먼저 인증을 거치게 하는 보안 게이트.”
즉, 아무나 접속할 수 없고
GitHub 계정으로 로그인한 사용자만 내 서버에 접근할 수 있게 만드는 방식이다.
참고로 이번 편은 Raspberry Pi 쪽 설정은 거의 없다.
모든 작업이 Cloudflare Zero Trust 콘솔(웹 사이트)에서 이뤄진다.
생각해보면, 이건 4편에서 터널을 DNS에 등록할 때 같이 해뒀으면 더 깔끔했을 일이다.
그래도 지금 완성하니 만족스럽다.
2. Cloudflare Zero Trust 설정
✅ 단계별 설정 과정
1️⃣ Zero Trust 콘솔 접속
Cloudflare 대시보드에서 “Explore Cloudflare Zero Trust” 버튼을 클릭하면
https://one.dash.cloudflare.com 으로 이동한다.
이게 바로 Zero Trust 전용 관리 콘솔이다.
(기존 Cloudflare Dashboard와는 완전히 별개의 인터페이스다.)
2️⃣ 조직 이름(Organization Name) 설정
처음 접속하면 “Set up your organization” 창이 뜬다.
조직 이름은 myserver-org 같은 식으로 정하면 된다.
Cloudflare는 자동으로 다음과 같은 조직 도메인을 생성한다:
1
myserver-org.cloudflareaccess.com
지역(Region)은 Asia-Pacific / South Korea로 두면 된다.
3️⃣ Authentication (로그인 방식) 설정
왼쪽 메뉴에서
Settings → Authentication → Login methods 로 이동한다.
Add new → GitHub 선택 → OAuth 연결 승인.
설정이 완료되면 리스트에 아래처럼 표시된다:
1
GitHub – Enabled ✅
이제 내 Zero Trust 계정은 GitHub 로그인을 통해 인증을 수행한다.
4️⃣ Access Application 생성
왼쪽 메뉴에서
Access → Applications → Add an application 으로 이동한다.
그다음 “Self-hosted” 선택.
- 이름(Name):
ttyd - 도메인(Domain):
https://<ENDPOINT>.m0squito.dev(또는 네 실제 터널 주소) - Identity providers: GitHub
그 다음 Access Policy를 설정한다:
| 설정 항목 | 값 |
|---|---|
| Action | Allow |
| Include | Emails ending with @gmail.com (또는 특정 GitHub 계정만 허용 가능) |
저장(Save)을 누르면 설정 완료.
3. 마무리
이번 편에서는 Pi에 직접 명령을 내릴 건 거의 없었다.
대부분의 작업은 Cloudflare 웹 콘솔에서 마우스로 클릭만 하면 된다.
Zero Trust의 핵심은,
“서버 자체를 외부에 노출하지 않고, Cloudflare가 대신 인증과 트래픽을 관리하게 하는 것.”
이제 내 ttyd 서버는 단순한 비밀번호가 아니라
GitHub 계정 기반의 인증 게이트를 거쳐야만 접근할 수 있다.
보안 구조상 훨씬 안전하고, 실질적으로 ‘실사용 가능한’ 서버가 완성된 셈이다.
인터페이스도 꽤 직관적이라, 직접 한 번 들어가서 클릭해보면 금방 감 잡을 수 있을 거다.
← 이전 글: Pi-Server 구축기 5편: systemctl로 서비스 등록하기
→ 다음 글: Pi-Server 구축기 END : 자동 복구 및 앞으로의 방향성