백업 파일은 복구 후보일 뿐 복구 성공의 증거가 아닙니다. 다른 권한 있는 담당자가 장애 난 시스템이나 한 사람의 노트북에 의존하지 않고 깨끗한 환경에 홈페이지를 복원하고 검증한 뒤 롤백할 수 있어야 합니다.
무엇을 복구해야 하는지 정의합니다
| 계층 | 백업 증거 | 복원 테스트 |
|---|---|---|
| 코드 | 저장소와 태그된 릴리스 | 새 복제본에서 예상 산출물 빌드 |
| 콘텐츠 | CMS 내보내기 또는 원본 파일 | 페이지·메타·내부 링크 복구 |
| DB | 버전이 있는 암호화 덤프 | 스키마와 비민감 표본 복원 |
| 자산 | 객체 저장소·미디어 사본 | 참조 이미지와 다운로드 로드 |
| 설정 | 변수와 공급자 설정 문서 | 숨은 로컬 파일 없이 새 환경 실행 |
| DNS·도메인 | 영역 내보내기와 등록기관 목록 | 권한자가 레코드를 안전하게 재구성 |
| 자격증명 | 승인된 보관소와 복구 담당자 | 두 명 이상이 필요한 시스템 접근 |
운영 비밀값을 백업 압축 파일이나 보고서에 넣지 않습니다. 이름과 승인된 복구 위치만 기록하고 비밀 관리자를 통해 주입합니다.
가장 작은 의미 있는 훈련을 실행합니다
- 복구할 릴리스와 목표를 정합니다.
- 운영 환경을 덮어쓸 수 없는 격리 대상을 만듭니다.
- 문서화된 원본으로 코드, 콘텐츠, DB, 자산, 설정을 복원합니다.
- 대표 페이지, 폼, 리디렉션, canonical, 메일과 접근 제어를 확인합니다.
- 시작·사용 가능 시각, 복원 시점, 실패, 수작업을 기록합니다.
- 임시 환경을 삭제하거나 보호합니다.
- 모든 결함에 담당자와 기한을 배정합니다.
NHN Cloud 랜섬웨어 대응 가이드의 29쪽은 백업 후 복원 테스트와 절차 문서화를 권고합니다. CISA의 #StopRansomware Guide도 정기적인 백업 가용성·무결성 테스트와 오프라인 사본을 권고합니다. 두 원문을 2026년 9월 27일 확인했습니다.
훈련 기록 양식: 준비·성공·실패
복원 훈련은 결과를 남길 때만 증거가 됩니다. 아래 양식으로 기록하세요.
| 구분 | 남길 항목 |
|---|---|
| 준비 | 대상 릴리스, 격리 환경, 사용한 원본 백업, 시작 시각 |
| 성공 | 복원된 파일 목록, 무결성 확인 방식, 완료 시각, 걸린 시간 |
| 실패·미확인 | 누락 파일·의존성, 수작업이 필요했던 지점, 재시도 여부 |
첨부물을 함께 두었습니다. 복원 실행 스크립트는 node restore-demo.mjs로 단독 실행하는 예시이고, 실행 결과 파일은 아래 훈련의 결과를 기록한 파일이며, 복원 로그 워크시트는 각 조직이 직접 채우는 빈 운영 양식입니다.
로컬 파일 복원 훈련(합성 데이터, 파일 계층 한정)
2026년 9월 27일 Node.js v24.15.0에서 아래 절차를 실행했습니다. 실제 운영 데이터·네트워크·자격증명은 사용하지 않았고, 이 실행이 만든 임시 폴더만 정리했습니다.
- 텍스트 파일 세 개를 생성합니다:
index.html(내부 링크 포함),guide.txt,config.example.json. - 백업으로 복사한 뒤 원본 픽스처를 제거합니다.
- 다른 폴더로 복원합니다.
- 파일별 SHA-256 매니페스트를 비교하고,
index.html의 링크 대상이 가리키는 내용이 실제로 존재하는지 확인합니다. - 파일 하나를 의도적으로 수정·삭제해 불일치가 탐지되는지 확인합니다.
실행 결과: 원본 없이 백업에서 복원한 파일 3개의 SHA-256 대조와 링크 대상 확인이 통과했습니다. 별도로 파일 변조와 누락을 각각 감지하는 검사도 통과했습니다. 세 결과와 기준 해시는 위 JSON에 남겼습니다.
이 훈련은 파일 복사·해시 대조·링크 대상 존재 여부만 다룹니다. 데이터베이스, DNS, HTTP 서버, 인증, 메일, 배포, RTO/RPO, 이미지·자산 무결성은 검증 대상이 아닙니다. 첨부한 결과 파일은 이 파일 계층 훈련의 산출물일 뿐이며, 자산·이미지·DB가 테스트되었다는 뜻이 아닙니다. 이 결과를 운영 홈페이지의 “복구 검증 완료”로 해석해서는 안 됩니다.
무결성뿐 아니라 독립성을 시험합니다
암호화 키, DNS 계정, 패키지 저장소, 빌드 설명이 같은 업체와 함께 사라지면 정상 압축 파일도 쓸 수 없습니다.
- 복구 담당자가 둘 이상인가?
- 백업 자격증명이 운영 자격증명과 분리됐는가?
- 주 계정 삭제나 침해 후에도 사본이 남는가?
- 실행 버전과 의존성이 고정됐는가?
- 복구 중 도메인과 호스팅을 갱신할 수 있는가?
- 허용 가능한 최근 데이터 시점이 정해졌는가?
허용 가능한 데이터 손실 시점과 허용 가능한 중단 시간을 사업 결정으로 적습니다. 콘텐츠 갱신이 드문 사이트와 거래 서비스가 같은 답을 가져서는 안 됩니다.
보고서에는 테스트한 사본, 환경, 담당자, 시간, 복원 시점, 통과 항목, 결함, 다음 훈련일을 남깁니다. 내려받기나 압축 해제만 했다면 “복구 검증 완료”라고 쓰지 않습니다.