내부망용 AI 챗봇·온프레미스 LLM 보안 구축—DR/백업 포함 완전 가이드
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
내부망용 AI 챗봇·온프레미스 LLM 보안 구축 — DR/백업 포함 완전 가이드
이 글은 제가 실제로 내부망 AI 챗봇과 온프레미스 LLM을 PoC→운영 단계로 올리면서 겪은 이슈, 그리고 최근 3년간 정리된 보안·거버넌스 트렌드를 바탕으로 작성했습니다. 단순한 기능 나열이 아니라, 검색 친화 목차, 체크리스트, 표·예시, 운영 시나리오까지 촘촘히 담아 체류 시간을 늘리도록 구성했습니다.
왜 내부망/온프레미스 LLM인가 — 규제, 기밀, 비용 통제, 레이턴시
개인정보와 영업비밀, 그리고 계약상 비밀유지 조항은 많은 조직을 내부망으로 이끕니다. 저는 특히 모델 응답의 예측 가능 비용과 토큰 사용량을 스스로 통제할 수 있다는 점에서 온프레미스의 매력을 확인했습니다. 더불어, 규제 기관의 가이드라인이 데이터 반출 금지, 로깅/감사, 모델 보호를 강조하는 흐름도 내재화해야 합니다.
- 규제 충족: ISMS/ISMS-P와 같은 국내 인증 요구에 맞춰 데이터 경계 설계
- 계약/비밀유지: 제3자 반출 금지, 고객사 약정에 따라 로컬 처리 필요
- 비용·지연: API 단가 변동 없이 토큰/레이턴시를 내 손으로 최적화
- 지식보안: 사내 문서가 외부 모델의 재학습에 섞이지 않도록 원천 차단
제가 직접 부딪힌 함정 7가지 — 사소해 보이지만 치명적인 이슈
- 프롬프트 로그 미보관: 사고 후 분석 불가. WORM로 최소 6~12개월 보관 권장.
- 임베딩 인덱스 권한 누락: 인덱싱 때 태깅을 안 해 조회 시 과노출 발생.
- 모델 파일 무결성 미검증: 해시·서명 검증 없이 배포해 공급망 공격 위험.
- DR 리허설 부재: 문서만 있고 복구 스크립트가 없어 RTO 초과.
- PII 마스킹 후처리만 의존: 입력단 DLP 미적용으로 원문이 로그에 남는 문제.
- 운영망과 관리자망 미분리: 단일 계정 실수로 정책 전역 변경 사고 경험.
- 벤치마크만 보고 모델 선택: 우리 문서·질문 패턴에서 실성능이 다름.
보안 요구사항 핵심 요약 — 체크리스트로 빠르게 점검
- 경계/네트워크: 분리망, 패키지/모델 서명검증, 승인 프록시, 아웃바운드 최소화
- 접근통제: SSO·MFA, RBAC/ABAC, 대화·지식베이스별 미세권한
- 데이터보호: PII/민감정보 마스킹, 저장/전송 KMS 암호화, 격리 백업
- 로깅/감사: 프롬프트/응답/출처/관리자행위 불변로그(WORM)
- 프롬프트 보안: 정책 필터, 탈취 방지, 프롬프트 주입 시그니처 탐지
- 모델 보안: 파인튜닝 데이터 거버넌스, 취약성 패치 윈도우
- 컴플라이언스: ISMS/ISMS-P, 전자금융·산업 규정 맵핑
| 항목 | 통과 | 보완 | 불합격 |
|---|---|---|---|
| 프롬프트/응답 로그 | WORM 저장 | 일반 저장 | 미보관 |
| RAG 권한 | 인덱스/쿼리 동시 적용 | 쿼리만 적용 | 미적용 |
| 모델 파일 무결성 | 서명+해시 | 해시만 | 미검증 |
| 백업 | 암호화+불변+격리 | 암호화만 | 무계획 |
| DR 리허설 | 분기마다 | 연 1회 | 미실시 |
준참조 아키텍처 — 인증·DLP·RAG·서빙·로깅 흐름
제가 효과적이었던 구성을 간단한 단계로 분해하면 다음과 같습니다.
- 입구 제어: API 게이트웨이에서 SSO·MFA·DLP·정책 필수화 → 오케스트레이터
- 권한형 RAG: 문서/문단 태그, 사용자 ACL로 쿼리시간 필터
- LLM 서빙: vLLM/TGI/KServe 등에서 서명된 모델 아티팩트만 탑재
- 로깅/감사: 프롬프트·응답·출처·관리자행위를 WORM 스토리지로 수집
- 운영 망분리: 관리 콘솔은 별도 관리자망, 감사 계정 분리
| 경로 | 보안 포인트 | 성능 고려 | 운영 팁 |
|---|---|---|---|
| 요청 전 | DLP·민감어 탐지·정책 | 캐시·샘플링 | 금칙어 목록 주간 리뷰 |
| RAG | 문서/문단 태그·ACL | 핫/콜드 인덱스 | 임베딩 갱신 배치 창구 고정 |
| 서빙 | 모델 서명·해시 | 양자화·배치 | 릴리즈 노트로 패치 창구 통합 |
| 응답 후 | 콘텐츠 필터 | 후처리 큐 | 오탐/누락 피드백 루프 운영 |
| 로깅 | WORM 불변저장 | 압축·수명주기 | 삭제는 법무 승인 필수 |
프롬프트/콘텐츠 보안 — 주입·탈취·데이터 유출 방어
보안은 정책 문서가 아니라 자동화된 수문이어야 합니다. 저는 아래의 룰 기반·모델 기반 필터를 혼합했습니다.
- 입력 보호: 민감어/식별자(주민번호, 계좌, 고객ID) 탐지 후 마스킹
- 주입 방어: “규칙 무시” 패턴, 시스템 프롬프트 노출 시그니처 탐지
- 응답 보호: 비공개 문서 인용 차단, 금칙 주제/법무 정책 필터
- 라벨링: 응답 하단에 출처 문서 경로/버전/시간 표시
scenario-101: 내부 정책 누설 유도 → 탐지 여부·차단 메시지·로그 생성 확인scenario-205: PII 포함 입력 → 마스킹·경고 배너·감사로그 기록 여부 확인scenario-307: 시스템 프롬프트 탈취 시도 → 노출 차단·사건 티켓 생성
DR/백업 전략 — RTO/RPO 목표, 이중화, 불변성, 리허설 스크립트
DR/백업은 종이 계획이 아니라 실행 스크립트입니다. 구성요소마다 목표가 다릅니다.
| 구성요소 | 권장 RPO | 권장 RTO | 비고 |
|---|---|---|---|
| LLM 가중치/토크나이저 | 변경 즉시 스냅샷 | 수십 분 | 버전 고정·서명 |
| 벡터DB/인덱스 | 1–4시간 | 수 시간 | 재색인 자동화 |
| 정책/권한 메타 | 실시간 | 1시간 | 트랜잭션 로그 |
| 프롬프트/응답 로그 | 실시간~15분 | 업무 무관 | WORM 저장 |
- 토폴로지: 액티브-액티브(연속성 최상), 액티브-스탠바이(비용/복잡성 균형), 콜드 스탠바이(경제적)
- 백업: 전체+증분, 주기 점검, 해시 무결성 검증, 격리 네트워크 운영
- 리허설: 분기마다 복구 드릴. 목표 미달 시 원인 분석→스크립트 개선
솔루션 비교 — 모델·서빙·RAG·가드레일 선택 기준
모델 레이어
- 오픈소스: LLama, Qwen 등 — 커스터마이즈·온프레 자유, 패치 관리 중요
- 상용 온프레: 지원/책임소재 명확, 라이선스·TCO 고려
- 평가: 우리 데이터셋 기준 질문 유형별 평가(정확도, 환각, 근거 충실성)
서빙/오케스트레이션
- vLLM/TGI/KServe/Triton — 배치/스루풋, 다중 모델 관리
- 보안: 아티팩트 서명, RBAC, 감사 이벤트
- 릴리즈 파이프라인에 서명 검증 고정
RAG/가드레일
- 권한 필터: 문서/문단 태그, 사용자 ACL, 팀/프로젝트 경계
- PII 스캐너: 입력·출력 모두 적용
- 레드팀 시나리오 자동 재현·리포팅
규모/예산 산정 — 동시접속·평균 토큰·RAG 히트율
온프레미스의 가장 큰 장점은 예측 가능 비용입니다. 아래 간단한 로직으로 초기 용량을 가늠할 수 있습니다.
| 지표 | 설명 | 권장 관찰 |
|---|---|---|
| 동시접속 | 피크 동시 세션 수 | 업무 피크(월/분기) 분리 측정 |
| 평균 토큰 | 입력+출력 평균 토큰 | 유즈케이스별 분포 파악 |
| RAG 히트율 | 지식베이스 참조 성공률 | 문서 품질 개선으로 향상 |
| 타겟 지연 | 사용자 체감 응답시간 | 업무별 SLA 차등 설정 |
- 절감 팁: 임베딩·응답 캐시, 양자화, 핫/콜드 인덱스, 계층형 스토리지
- TCO 항목: GPU 임대/구매, 모델 라이선스, 감사 스토리지, DR 이중화
데모 시나리오 — 인사 규정/보안정책 Q&A, 스토리보드
- 접속: 사내 포털 → SSO 로그인 → MFA 통과
- DLP: 민감어 입력 시 즉시 경고·마스킹
- 질의: “재택 근무 보안지침” → 권한 범위 내 문서만 참조
- 응답: 하단에 출처·정책ID·버전·시간 표기
- 감사: 티켓 자동 생성, 관리자 승인 후 폐기
사례·통계(최근 3년) — 국내·해외·역사적 관점 4가지
- 국내 공공기관 PoC: 분리망에서 RAG 권한을 빠뜨려 일부 부서 문서가 과노출. 인덱싱 단계 태깅 추가 후 재발 없음.
- 금융권 내부 어시스턴트: 프롬프트 로그를 일반 스토리지에 보관했다가 삭제 사고. WORM 전환·감사 승인 프로세스 도입.
- 해외 제조사 DR 훈련: DR 사이트 모델 버전 불일치로 응답 일관성 붕괴. 배포 파이프라인에 버전 잠금 추가.
- 역사적 교훈(백업): 백업 저장소가 공격받는 사례가 누적되며, 불변성과 오프사이트 격리가 표준으로 자리잡음.
FAQ — 실제 질문 패턴 반영
Q1. 내부망이라도 외부 모델 호출이 가능한가요?
가능합니다. 다만 게이트웨이+DLP+정책 로그를 강제하고, 토큰 레이트리밋·도메인 화이트리스트·감사를 적용해야 합니다.
Q2. RAG에서 문서 접근권한이 다르면?
인덱싱 단계에서 문서/문단 태그를 부여하고, 쿼리 시점에 사용자 ACL로 필터링합니다. 응답에는 반드시 출처가 표기되어야 합니다.
Q3. 백업을 암호화하면 충분한가요?
아닙니다. 무결성 검증(해시), 불변저장(WORM), 정기 복구 리허설, KMS 이중화까지 포함해야 튼튼합니다.
공식 자료 바로가기 — 문서로 확인하고 기준 맞추기
결론 — 오늘 바로 적용할 5가지
- 권한형 RAG로 과노출 차단
- 모델/패키지 서명·해시로 공급망 무결성
- 프롬프트/응답/출처 WORM 로그화
- DR 리허설 스크립트화 및 분기 실행
- PII/DLP를 입력·출력 모두에 일관 적용
댓글
댓글 쓰기