LabHub
배우기 러닝패스 코스

閉域網の現場 — 防衛ドメイン

固定構成の脆弱性対応と引き継ぎ

LabHub 에서 이어서 보기

한국어 원문으로 표시합니다.

목표

인증받은 구성에서 올릴 수 없는 취약점을 판정하고 완화 근거를 문서로 남긴 뒤, 야간 작업 로그의 감사 위반을 찾아내고, 다음 사람이 인터넷 없이 읽고 따라할 수 있는 인수인계 꾸러미를 완성합니다.

왜 중요한가

인증받은 구성은 최신 패치를 적용하는 순간 인증받은 그 구성이 아니게 되고, 재인증에는 몇 달이 걸립니다. 그래서 여기서는 취약점 대응이 업데이트가 아니라 완화 조치와 문서화로 끝나는 일이 흔합니다. 완화는 버전 번호가 그대로라 밖에서 보면 아무것도 안 한 것과 구별되지 않기 때문에, 판단했다는 사실을 남기는 것 자체가 일이 됩니다. 감사 추적도 같은 성질입니다 — 사고 뒤에 찾는 것이 아니라 작업 전에 남게 만들어 두는 것이고, 남기지 않은 것은 아무리 잘 찾아도 나오지 않습니다.

단계

  1. python3/root/handover/baseline.json(구성 10건), advisories.json(공지 8건), worklog.csv(작업 14건), window.txt 를 만듭니다.
  2. /root/handover/impact.csv 에 공지별 영향 여부를 판정해 적습니다. 버전은 마침표로 끊어 숫자로 비교하세요.
  3. /root/handover/mitigation.md 에 영향 항목의 조치 구분·근거·재평가 시점을 표로 씁니다.
  4. /root/handover/freeze.txt 에 인증 번호, 형상 목록의 SHA-256, 고정·변경가능 구성 수, 고정인데 영향받는 구성 수를 적습니다.
  5. /root/handover/audit-noapproval.csv 에 승인 기록 없이 실행된 작업을 원본 줄 그대로 뽑습니다.
  6. /root/handover/audit-selfapproved.csv 에 실행자와 승인자가 같은 작업을 뽑습니다.
  7. /root/handover/audit-window.csv 에 작업 창 밖 작업을 뽑고, /root/handover/audit-summary.txt 에 세 건수와 중복을 지운 실제 위반 작업 수를 적습니다.
  8. /root/handover/runbook.md 에 일곱 절짜리 인수인계 절차서를 씁니다.
  9. /root/handover/HANDOVER.sha256/root/handover/index.md 로 꾸러미를 닫습니다.

참고

형상·공지·작업 로그 만들기

python3/root/handover/baseline.json(구성 10건), advisories.json(공지 8건), worklog.csv(작업 14건), window.txt 를 만듭니다.

python3 로 baseline.json, advisories.json, worklog.csv, window.txt 네 개를 만듭니다. 값이 고정돼 있어야 서로의 판정을 대조할 수 있으니 생성 스크립트를 그대로 쓰세요.

형상과 공지를 대조해 영향 판정하기

/root/handover/impact.csv 에 공지별 영향 여부를 판정해 적습니다. 버전은 마침표로 끊어 숫자로 비교하세요.

버전을 문자열로 비교하면 16.2 가 16.10 보다 커 보이고 3.12.3 이 3.9.20 보다 작아 보입니다. 마침표로 끊어 숫자로 비교하세요. 설치돼 있지 않은 구성은 영향 없음입니다.

완화 조치와 근거 표 쓰기

/root/handover/mitigation.md 에 영향 항목의 조치 구분·근거·재평가 시점을 표로 씁니다.

영향 있는 항목만 표에 올립니다. 인증 형상에 묶인 구성은 조치 구분이 완화이고 근거로 인증 번호가 필요합니다. 형상 밖 구성은 패치입니다. 모든 행에 재평가 날짜를 붙이세요.

형상 목록 동결하기

/root/handover/freeze.txt 에 인증 번호, 형상 목록의 SHA-256, 고정·변경가능 구성 수, 고정인데 영향받는 구성 수를 적습니다.

형상 목록 파일의 SHA-256 을 기록해 두면 목록이 조용히 바뀌는 일을 막을 수 있습니다. frozen_affected 는 영향을 받으면서 버전을 못 올리는 구성의 수입니다.

승인 없이 실행된 작업 찾기

/root/handover/audit-noapproval.csv 에 승인 기록 없이 실행된 작업을 원본 줄 그대로 뽑습니다.

approver 열이 하이픈이거나 비어 있는 줄입니다. 원본 줄을 그대로 옮기세요 — 요약하면 나중에 원본과 대조할 수 없습니다.

2인 통제가 깨진 작업 찾기

/root/handover/audit-selfapproved.csv 에 실행자와 승인자가 같은 작업을 뽑습니다.

operator 와 approver 가 같은 줄입니다. 승인란이 하이픈인 줄은 여기가 아니라 앞 단계에 들어갑니다 — 둘을 섞으면 두 목록 다 틀립니다.

작업 창 밖 작업과 실제 위반 수 세기

/root/handover/audit-window.csv 에 작업 창 밖 작업을 뽑고, /root/handover/audit-summary.txt 에 세 건수와 중복을 지운 실제 위반 작업 수를 적습니다.

창은 window.txt 의 시작을 포함하고 끝은 제외합니다. 그리고 세 위반의 합계는 위반 작업 수가 아닙니다 — 한 작업이 두 가지를 동시에 어길 수 있으니 seq 로 중복을 지우세요.

인수인계 절차서 쓰기

/root/handover/runbook.md 에 일곱 절짜리 인수인계 절차서를 씁니다.

일곱 절이 필요합니다. 본문에 외부 링크를 쓰지 말고, 화면 캡처를 가리키지 말고, 사람 이름 대신 역할로 적으세요. 명령은 코드블록으로 실제로 칠 수 있게 씁니다.

인수인계 꾸러미 묶기

/root/handover/HANDOVER.sha256/root/handover/index.md 로 꾸러미를 닫습니다.

산출물 여덟 개의 해시 목록을 만들고, 무엇이 무엇인지 알려 주는 목록 문서를 붙입니다. 목록 문서 자체는 매니페스트에 넣지 않습니다 — 표지는 꾸러미의 내용물이 아닙니다.