/ 가이드 / Firebase 보안 규칙 실수 TOP5
점검 사례 · 보안

Firebase 보안 규칙 실수 TOP 5 — 앱 데이터가 열려 있는 흔한 원인

외주로 만든 앱, 급하게 출시한 서비스에서 반복해서 발견되는 Firebase 보안 규칙 실수 5가지와 올바른 방향을 정리했습니다. 내 앱이 안전한지 확인하고 싶은 운영자를 위한 글입니다.

앱몬스터 · 작성 2026-09-17

핵심 요약

Firebase에서 데이터가 새는 원인은 대부분 규칙 자체가 열려 있거나(전부 허용), 로그인만 하면 남의 데이터까지 접근되거나, 관리자 판별을 앱 화면에만 맡긴 것입니다. 규칙은 ‘기본 거부’를 깔고 컬렉션마다 본인 데이터만 허용하도록 좁혀야 합니다.

왜 이렇게 자주 새나

Firebase는 시작이 쉬워서 급하게 출시한 앱이 많습니다. 그 과정에서 보안 규칙은 “나중에”로 미뤄지고, 그 나중이 오지 않습니다. 아래는 점검에서 반복적으로 마주치는 실수입니다.

1위. 전부 허용이 남아 있다

allow read, write: if true;

테스트하려고 열어둔 규칙이 그대로 운영에 올라갑니다. 누구나 앱의 모든 데이터를 읽고 지울 수 있는 상태입니다.

2위. 로그인만 하면 다 된다

allow read, write: if request.auth != null;

안전해 보이지만, 익명 로그인이 켜져 있으면 사실상 누구나 로그인할 수 있어 1위와 다르지 않습니다. request.auth.uid == userId처럼 본인 문서만 허용해야 합니다.

3위. 관리자 판별을 앱 화면에만 맡긴다

관리자 버튼을 화면에서 숨기기만 하고 서버 규칙은 열어두면, 요청을 직접 보내는 방식으로 관리자 기능이 뚫립니다. 관리자 여부는 Custom Claims 등 서버 쪽에서 판별해야 합니다.

4위. 한 프로젝트를 여러 앱이 공유하는데 규칙이 안 나뉜다

비용을 아끼려고 한 Firebase 프로젝트를 여러 서비스가 컬렉션 접두사로 나눠 쓰는 경우가 많습니다. 이때 기본 거부(재귀 와일드카드)를 깔지 않으면, 한 앱의 실수가 다른 앱 데이터까지 노출시킵니다.

5위. 서비스 계정 키가 저장소에 올라가 있다

웹 설정의 apiKey는 공개돼도 정상이지만, 서버용 서비스 계정 키(JSON)가 공개 저장소나 앱 번들에 들어가면 데이터베이스 전체 권한이 노출됩니다. 키는 코드 밖에서 관리하고, 노출됐다면 즉시 교체해야 합니다.

고칠 때 주의

규칙을 갑자기 좁히면 기존 기능이 권한 오류를 냅니다. Firebase 에뮬레이터나 규칙 플레이그라운드로 주요 화면의 읽기·쓰기를 먼저 시험한 뒤 배포하세요. 단계별 점검 항목은 Firebase 보안 규칙 체크리스트에 있고, 개발을 몰라도 확인할 수 있는 무료 보안 체크리스트도 있습니다.

자주 묻는 질문

규칙을 바꾸면 앱이 멈추지 않나요?

허용 범위를 좁히면 기존 기능이 권한 오류를 낼 수 있어, 에뮬레이터로 먼저 시험한 뒤 배포합니다. 점검·조치 시 이 과정을 함께 진행합니다.

점검을 맡기면 무엇을 받나요?

인증·권한, DB·Storage 규칙, 키 노출, 개인정보 암호화, 백업, SSL을 확인해 위험도별 리포트와 긴급 조치를 드립니다.

ISMS 같은 인증 컨설팅인가요?

아닙니다. 운영 중인 앱·웹의 실무 점검과 조치 서비스입니다.

같은 문제를 겪고 있다면

AEO 자동화, 웹·앱 유지보수, 보안 점검을 월정액으로 운영합니다. 상황만 알려주시면 범위와 비용을 먼저 정리해 드립니다.

의뢰하기