먼저 읽는 30초 요약
이 글에서 가져갈 것
- ‘로컬 앱’ 안에서도 클라우드 모델, 웹 검색, 확장 기능은 외부 통신을 사용할 수 있습니다.
- 출처가 불분명한 모델 파일도 공격 표면이 될 수 있으므로 신뢰 경계 안에서 관리합니다.
- 민감 문서는 네트워크·로그·백업·접근 권한을 확인한 뒤 조직 승인을 받아 사용합니다.
문서가 지나가는 7개의 점검 지점
추론 위치만 확인하면 나머지 저장본을 놓칠 수 있습니다.
로컬 추론과 안전한 시스템은 다릅니다
모델이 내 컴퓨터에서 답을 생성한다는 것은 데이터 경로의 한 부분만 설명합니다. 모델을 받는 앱, 웹 검색, 플러그인, 오류 보고, 대화 기록, 운영체제 백업이 각각 다른 서버와 저장 위치를 사용할 수 있습니다. 제품 소개의 ‘local’이라는 단어보다 실제로 활성화한 기능을 기준으로 판단해야 합니다.
보안은 단일 스위치가 아니라 경계의 집합입니다. 누가 컴퓨터에 로그인할 수 있는지, 모델 서버가 어느 네트워크 주소에 열렸는지, 대화 파일이 어디에 저장되는지, 회사 백업이 개인 클라우드와 섞이지 않는지까지 확인해야 합니다.
먼저 데이터 흐름을 그려봅니다
업무 문서가 들어가는 순간부터 삭제될 때까지 경로를 적어보세요. 문서 원본, 텍스트 추출기, 검색 인덱스, 프롬프트, 모델 입력, 생성 답변, 애플리케이션 로그, 백업이 각각 어디에 존재하는지 표시합니다. 하나라도 모르면 ‘로컬이니 안전하다’고 결론내릴 수 없습니다.
특히 RAG 도구는 원본 외에 문서를 잘게 나눈 청크와 임베딩 데이터베이스를 만듭니다. 원본 파일만 삭제해도 검색 인덱스와 대화 기록에 내용이 남을 수 있으므로 보존 기간과 삭제 절차를 별도로 정해야 합니다.
- 원본 문서 저장 위치
- 문서 추출·변환 과정
- 임베딩과 검색 인덱스
- 프롬프트와 대화 로그
- 오류·분석 로그
- 자동 백업과 동기화
- 삭제와 복구 가능 기간
Ollama의 로컬과 클라우드 구분
Ollama 공식 FAQ는 로컬 실행 시 Ollama가 프롬프트와 데이터를 보지 않는다고 설명합니다. 하지만 `:cloud` 모델은 원격에서 처리되며, 웹 검색도 네트워크 기능입니다. 민감한 문서를 사용하기 전 실행 모델 이름과 활성화한 도구를 확인하세요.
클라우드 기능이 필요 없는 환경에서는 `disable_ollama_cloud` 설정 또는 `OLLAMA_NO_CLOUD=1` 환경 변수로 클라우드 모델과 웹 검색 기능을 끌 수 있습니다. 변경 후 Ollama를 재시작하고 로그의 비활성화 메시지를 확인해야 설정이 실제 적용되었는지 알 수 있습니다.
# 방법 1: ~/.ollama/server.json
{
"disable_ollama_cloud": true
}
# 방법 2: 환경 변수
OLLAMA_NO_CLOUD=1 ollama serve모델 파일도 공격 표면입니다
모델 파일은 단순한 문서가 아니라 복잡한 바이너리 구조입니다. llama.cpp 보안 정책은 알 수 없는 개발자나 출처의 모델을 신뢰하지 말고 격리된 환경에서 실행하라고 권고합니다. 실제로 GGUF 파싱과 RPC 관련 보안 권고가 공개되어 왔기 때문에 ‘코드가 아니라 모델이니 안전하다’고 생각하면 안 됩니다.
공식 프로젝트나 신뢰할 수 있는 배포자의 파일을 사용하고, 제공되는 경우 해시를 검증합니다. 실행 도구와 라이브러리는 최신 보안 업데이트를 유지하세요. 새 모델은 업무 컴퓨터가 아니라 샌드박스나 별도 시험 환경에서 먼저 불러오는 것이 좋습니다.
- 모델 카드와 배포자 이력 확인
- 공식 저장소·신뢰 가능한 미러 사용
- 제공된 해시와 다운로드 파일 비교
- 새 모델을 격리 환경에서 먼저 로드
- 실행 엔진과 변환 라이브러리 업데이트
모델 서버를 외부에 열지 마세요
Ollama는 기본적으로 127.0.0.1의 11434 포트에 바인딩됩니다. 이를 `0.0.0.0`으로 바꾸거나 터널·프록시로 노출하면 같은 네트워크 또는 인터넷의 다른 사용자가 접근할 가능성이 생깁니다. 인증과 접근 통제 없이 모델 서버를 외부에 공개하지 마세요.
llama.cpp 보안 정책은 안전하고 격리된 환경에서 실행할 수 없다면 RPC 백엔드와 rpc-server, llama-server 기능 사용을 피하라고 강하게 안내합니다. 여러 사람이 사용하는 환경에서는 인증, 네트워크 분리, 요청 제한, 모니터링과 테넌트 격리가 필요합니다.
| 구성 | 위험 | 기본 대응 |
|---|---|---|
| 127.0.0.1 로컬 전용 | 같은 사용자·프로세스의 접근 | OS 계정과 파일 권한 관리 |
| 사내 LAN 공개 | 동일 네트워크의 무단 요청 | 인증·방화벽·허용 IP |
| 인터넷·터널 공개 | 스캔·공격·데이터 유출 | 가급적 금지, 불가피하면 보안 검토 |
| 다중 사용자 서버 | 사용자 간 데이터·자원 충돌 | 강한 격리와 사용량 제한 |
로그·백업·동기화를 확인합니다
로컬 앱은 대화 내용, 문서 경로, 오류 메시지를 로그에 남길 수 있습니다. 로그가 모델 입력 전체를 기록하는지, 기본 보존 기간은 얼마인지, 일반 사용자도 읽을 수 있는지 확인합니다. 문제 해결을 위해 상세 로그를 켰다면 작업이 끝난 뒤 다시 끄고 불필요한 파일을 안전하게 삭제하세요.
macOS의 iCloud Drive, Windows의 OneDrive, 회사 백업 에이전트가 문서·로그·모델 폴더를 자동 동기화할 수 있습니다. 이 경우 추론은 로컬이어도 결과 파일이 외부 저장소로 복사됩니다. 백업 제외 여부는 데이터 등급과 조직 정책에 따라 결정해야 합니다.
업무 문서 입력 전 10분 점검
처음에는 공개 문서나 가짜 데이터로 전체 흐름을 시험합니다. 인터넷 연결을 끊었을 때 필요한 기능이 작동하는지 확인하고, 운영체제의 네트워크 모니터와 방화벽에서 예상하지 못한 외부 연결이 있는지 살펴봅니다. 단순히 앱 화면에 ‘local’이라고 표시되는지만 보지 마세요.
데이터 등급, 사용 목적, 접근 사용자, 보존 기간, 삭제 방법을 기록하고 책임자의 승인을 받습니다. 개인식별정보, 계약서, 고객 데이터, 소스 코드처럼 민감도가 높은 자료는 별도의 위험 평가가 필요합니다.
- 공개·가짜 데이터로 사전 시험
- 실행 모델에 :cloud가 없는지 확인
- 웹 검색·외부 플러그인 비활성화
- 서버 주소와 열린 포트 확인
- 로그·인덱스·백업 위치 확인
- 파일 및 폴더 접근 권한 점검
- 보존 기간과 삭제 절차 기록
- 조직 정책과 모델 라이선스 확인
프롬프트 인젝션도 로컬에서 사라지지 않습니다
외부에서 받은 문서나 웹 페이지에 ‘이전 지시를 무시하라’ 같은 문장이 들어 있으면 로컬 모델도 이를 지시로 오해할 수 있습니다. 단순 요약만 할 때보다 파일 읽기, 셸 실행, 이메일 전송 같은 도구 권한을 모델에 연결했을 때 위험이 커집니다.
신뢰하지 않는 입력은 격리하고, 모델이 실행할 수 있는 도구를 최소화하며, 쓰기·삭제·외부 전송 같은 행동에는 사람의 승인을 둡니다. llama.cpp 서버의 실험적 내장 도구도 신뢰하지 않는 환경에서 활성화하지 말라는 안내가 있습니다.
사고가 의심될 때
예상하지 못한 외부 연결, 알 수 없는 모델 파일, 비정상적인 프로세스가 보이면 우선 네트워크를 분리하고 모델 서버를 중지합니다. 관련 로그와 파일의 시간을 기록하되 임의로 모두 삭제해 조사 단서를 없애지 마세요.
회사 장비라면 즉시 보안 담당자의 사고 대응 절차를 따릅니다. 개인 환경에서는 공식 배포본으로 교체하고 계정·토큰·API 키가 로그나 설정 파일에 포함되었는지 확인합니다. 침해가 의심되면 단순 재설치만으로 끝내지 말고 운영체제 수준의 점검이 필요합니다.
자주 묻는 질문
인터넷을 끄면 완전히 안전해지나요?
외부 전송 위험은 줄지만 악성 모델, 로컬 로그, 다른 사용자 접근, 백업, 프롬프트 인젝션 위험은 남습니다. 오프라인은 여러 통제 중 하나입니다.
로컬 모델에 회사 문서를 넣어도 되나요?
회사 보안 정책과 데이터 등급, 모델 라이선스, 접근·보존·삭제 통제를 먼저 확인해야 합니다. 개인 판단만으로 승인된 것은 아닙니다.
RAG를 쓰면 원본 문서를 삭제해도 되나요?
검색 인덱스, 임베딩 데이터베이스, 캐시와 대화 기록에 내용이 남을 수 있습니다. 시스템 전체의 삭제 절차를 확인해야 합니다.
Ollama는 프롬프트를 수집하나요?
공식 FAQ는 로컬 실행 시 프롬프트와 데이터를 보지 않는다고 안내합니다. 다만 클라우드 모델과 웹 검색은 외부 처리를 사용하므로 실행 모드와 활성 기능을 구분해야 합니다.
공식 출처
세부 동작과 최신 버전은 아래 원문을 함께 확인하세요.