User guide
인증과 보안
This chapter is available in Korean only for now.
TASTEGEO 는 기본이 거부입니다. 인증 방식을 하나도 정하지 않으면 서비스를 내지 않고, 설정이 모자라거나 서로 부딪치면 서버가 시작하지 않습니다.
서버 인증 방식
아래 셋 가운데 하나만 씁니다. 서버 환경 파일(Windows config\server.env, Linux /etc/tastegeo/server.env)에 적고 서버 서비스를 다시 시작합니다.
1. Bearer 토큰(설치 기본값)
| 환경 변수 | 권한 |
|---|---|
GEOSERVER_RS_BEARER_TOKEN | 읽기(reader) — WMS · WFS · WMTS · WCS 조회 |
GEOSERVER_RS_ADMIN_BEARER_TOKEN | 관리(administrator) — 쓰기 · REST |
설치할 때 두 토큰이 무작위로 만들어지고, 관리 화면은 관리 토큰으로 서버를 부릅니다. 요청에는 Authorization: Bearer <토큰> 머리글을 붙입니다.
2. 익명 읽기
GEOSERVER_RS_ALLOW_ANONYMOUS_READ=true — 로그인 없이 WMS · WFS · WMTS · WCS 를 읽기만 허용합니다. 쓰기와 REST 는 열지 않습니다.
토큰 방식과 함께 쓸 수 없습니다. 익명 읽기로 바꾸면 관리 화면이 서버를 관리할 수 없게 되므로, 공개 지도 서비스만 낼 때 쓰세요.
3. 로컬 Basic 계정
| 환경 변수 | 뜻 |
|---|---|
GEOSERVER_RS_BASIC_USER | 계정 이름 |
GEOSERVER_RS_BASIC_PASSWORD_HASH | Argon2id 해시(PHC 꼴) |
GEOSERVER_RS_BASIC_ROLES | reader, administrator 가운데(쉼표로) |
다섯 번 틀리면 5분 동안 잠깁니다. 비밀번호가 오가므로 HTTPS(TLS) 뒤에서만 쓰세요.
토큰이나 비밀번호를 바꾸면 서버를 다시 시작해야 반영됩니다.
관리 화면 로그인
관리 화면 계정은 하나입니다. 관리 화면 환경 파일(Windows config\admin.env, Linux /etc/tastegeo/admin.env)에 있습니다.
| 항목 | 뜻 |
|---|---|
TASTEGEO_ADMIN_USERNAME | 로그인 계정(기본 admin) |
TASTEGEO_ADMIN_PASSWORD_HASH | 비밀번호 해시(PBKDF2-SHA256) |
TASTEGEO_ADMIN_SESSION_SECRET | 로그인 세션을 잠그는 비밀 값 |
TASTEGEO_BASE_URL, TASTEGEO_AUTH_MODE, TASTEGEO_BEARER_TOKEN | 관리 화면이 서버를 부르는 주소 · 방식 · 토큰 |
- 로그인은 15분에 다섯 번까지 틀릴 수 있습니다.
- 로그인은 8시간 동안 유지됩니다.
- 관리 화면에 등록한 다른 서버의 비밀번호 · 토큰은 관리 화면 서버에만 암호화해 저장하고 브라우저로 보내지 않습니다. 암호화 열쇠는
TASTEGEO_ADMIN_SESSION_SECRET에서 나오므로, 이 값을 바꾸면 저장된 연결의 비밀번호 · 토큰을 다시 넣어야 합니다. - 로그인 쿠키는 보안 쿠키라서
http://127.0.0.1:6740이나 HTTPS 주소에서 여세요. 다른 컴퓨터에서http://로 열면 로그인이 유지되지 않습니다.
관리 화면 비밀번호 바꾸기
시스템 › 관리자 계정(오른쪽 위의 이름을 눌러도 됩니다)에서 지금 비밀번호와 새 비밀번호(두 번)를 넣고 비밀번호 바꾸기를 누릅니다. 비밀번호는 12~512자입니다. 바꾸면 다른 브라우저의 로그인은 끝나고, 이 브라우저는 그대로 씁니다.
바꾼 비밀번호의 해시는 admin.env 가 아니라 따로 둔 파일에 남습니다.
| 설치 | 파일 |
|---|---|
| Windows | %ProgramData%\TASTEGEO\state\admin-credentials |
| Linux | /var/lib/tastegeo/admin/credentials |
비밀번호를 잊었으면 이 파일을 지우고 관리 화면 서비스를 다시 시작합니다. admin.env 의 첫 비밀번호 (initial-admin-password 파일)로 돌아갑니다.
#### 도구로 바꾸기
화면을 쓸 수 없을 때는 함께 설치된 도구로 해시를 만들어 admin.env 를 바꿀 수도 있습니다(화면에서 바꾼 파일이 있으면 그 파일이 먼저이므로 함께 지우세요).
# Windows — 설치 폴더에서(Node.js 24)
node .\hash-admin-password.mjs# Linux(DEB)
/usr/lib/tastegeo/node/bin/node /usr/libexec/tastegeo/hash-admin-password.mjs비밀번호를 물으면 입력하고, 나온 pbkdf2-sha256$… 값을 TASTEGEO_ADMIN_PASSWORD_HASH 에 기존 줄과 같은 꼴(작은따옴표로 감쌈)로 바꿔 넣은 뒤 관리 화면 서비스를 다시 시작합니다.
그 밖의 보호
- TLS — 서버와 관리 화면 모두 TLS 를 직접 하지 않습니다. 밖으로 낼 때는 HTTPS 역방향 프록시를 앞에 두세요.
- 요청 수 제한 — 한 주소에서 초당 120번을 넘으면
429로 잠시 거절합니다(상태 점검 제외). - 다른 사이트의 쓰기 차단 — 브라우저가 다른 사이트에서 보낸 쓰기 요청은 받지 않습니다.
- 비밀 값 — 토큰 · 비밀번호 · 연결 문자열은 로그에 남기지 않고, 오류 메시지에도 경로나 값을 싣지 않습니다.
- 나가는 요청 — 원격 데이터 · 외부 주소는 허용 목록 안에서만 부릅니다.
- 환경 파일 — 설치는 설정 파일을 관리자(Windows) · root(Linux)만 읽도록 만듭니다. 이 권한을 넓히지 마세요.
