폐쇄망 현장 — 방산·국방 도메인 · 바꿀 수 없는 구성과 넘겨주는 일 · 이론
감사 추적은 사후가 아니라 사전에 설계된다
한 줄 요약
누가 무엇을 언제 했는지는 사고 뒤에 찾는 것이 아니라 작업 전에 남게 만들어 두는 것이고, 인수인계 문서는 그 설계가 다음 사람에게 이어지는 통로다.
왜 이게 필요했나
사고가 난 뒤에 "누가 이걸 바꿨죠?" 라고 묻는 상황을 생각해 봅시다. 답이 나오는 조직과 안 나오는 조직의 차이는 조사 능력이 아닙니다. 작업 전에 무엇을 남기게 해 두었는가 의 차이입니다. 남기지 않은 것은 아무리 잘 찾아도 안 나옵니다.
통제된 환경에서 이 설계는 세 가지로 되어 있습니다.
승인. 모든 작업에 승인자가 있어야 합니다. 승인란이 비어 있다는 것은 승인을 안 받았다는 뜻이 아니라 승인 여부를 우리가 증명할 수 없다는 뜻입니다. 감사에서는 둘이 같은 취급을 받습니다.
2인 통제. 실행자와 승인자가 달라야 합니다. 이것은 사람을 못 믿어서가 아니라, 한 사람의 착각이 그대로 시스템에 반영되는 경로를 없애기 위한 것입니다. 자기 승인은 그 경로를 되살립니다. 그리고 자기 승인은 규정 위반이라기보다 설계 실패의 신호 인 경우가 많습니다 — 승인할 사람이 그 시간에 없었다는 뜻이니까요.
작업 창. 승인받은 시간 안에서 해야 합니다. 창 밖의 작업은 감시할 사람도, 문제가 생겼을 때 되돌릴 사람도 없는 시간에 이뤄진 것입니다. 창을 지키는 것은 형식이 아니라 안전망을 켜 두는 일입니다.
어떻게 동작하나
이 세 가지를 사후에 확인할 때 한 가지를 조심해야 합니다. 세 위반의 합계는 위반 작업의 수가 아닙니다.
한 작업이 두 가지를 동시에 어길 수 있습니다. 새벽 3시에 혼자 들어와 자기 승인으로 처리한 작업은 '자기 승인' 이면서 동시에 '창 밖' 입니다. 세 목록의 건수를 그냥 더하면 이 작업이 두 번 세어집니다. 보고서에 "위반 11건" 이라고 쓰면 실제로는 9건인데 2건을 지어낸 것이 됩니다. 없는 사고를 만들어 보고하는 것은 사고를 빠뜨리는 것만큼이나 신뢰를 잃습니다.
그래서 작업 식별자로 합집합을 만들고 중복을 지운 수를 셉니다. 그리고 보고서에는 세 가지 건수와 중복을 지운 수를 함께 적습니다. 하나만 적으면 읽는 쪽이 다시 물어봅니다.
승인 없음 3건 ┐자기 승인 3건 ├─ 단순 합계 11건작업 창 밖 5건 ┘ 실제 위반 작업 9건 ← 두 건이 두 가지를 동시에 어겼다현장에서 만나는 모습
언젠가 상주가 끝납니다. 그날 다음 사람이 받는 것은 파일 몇 개와, 우리가 머릿속에만 두고 있던 것 전부의 부재입니다. 그래서 인수인계 문서는 폐쇄망에서 세 가지가 달라야 합니다.
- 링크가 아니라 절차. 밖의 문서를 열 수 없으니 링크는 죽은 글자입니다. 어디를 보라가 아니라 무엇을 하라를 적습니다.
- 화면이 아니라 명령. 화면 캡처는 반입도 반출도 안 되고, 버전이 바뀌면 거짓이 됩니다. 실제로 칠 수 있는 명령을 적고, 적기 전에 한 번 쳐 봅니다. 안에서는 틀린 명령을 검색으로 고칠 수 없습니다.
- 이름이 아니라 역할. "막히면 아무개에게 물어보세요" 는 그 사람이 나가는 날 함께 사라지는 정보입니다. 역할로 적으면 사람이 바뀌어도 문서가 살아 있습니다.
아는 문제는 반드시 넘깁니다. 이미 판단이 끝난 취약점 항목을 넘기지 않으면, 다음 사람이 같은 공지를 받고 처음부터 다시 조사합니다. 완화 상태와 재평가 시점을 함께 넘기면 그 며칠이 없어집니다.
넘긴 것이 넘긴 그대로인지 확인할 수단을 함께 줍니다. 산출물의 해시 목록을 붙이고, 받은 쪽이 가장 먼저 할 일을 문서 첫머리에 적습니다. 확인 수단이 없으면 그것은 인수인계가 아니라 파일 전달입니다.
다음 실습에서 할 것
야간 작업 로그 14건에서 승인 없이 실행된 작업, 실행자와 승인자가 같은 작업, 작업 창 밖에서 실행된 작업을 각각 찾아냅니다. 그리고 세 목록을 합쳐 중복을 지운 실제 위반 작업 수를 셉니다 — 단순 합계와 다릅니다. 마지막으로 링크 없이, 명령으로, 역할로 쓴 인수인계 절차서와 해시 매니페스트가 붙은 인수인계 꾸러미를 완성합니다.