WEBBOOK CHAPTER

기능이 아니라 경계를 지키는 웹 보안: 35장. 안전한 실습 환경

35장. 안전한 실습 환경

모든 보안 실습은 로컬 SeniorLab 또는 명시적으로 승인된 staging에서 수행한다. 실제 회사·공공기관·타인 서비스의 URL, 계정, IP를 대상으로 scanner나 payload를 실행하지 않는다. outbound network는 기본 차단하고 합성 tenant·예약·가짜 비밀만 사용한다.

실습 시작 전 범위, 허용 도구, 시간, 최대 요청률, 데이터, 중단 조건, 연락자를 기록한다. 종료 뒤 test 계정·token·object·log를 폐기하고 예상하지 못한 외부 호출이 없었는지 확인한다. 발견이 실제 제품에 적용될 가능성이 있으면 공개하기 전에 조직의 책임 있는 보고 절차를 따른다. 이 안전 경계 자체가 책의 필수 학습 결과다.

출간 베타는 보안 전문가가 위협과 통제를, 개발자가 코드·test를, 개인정보 담당자가 수집·보관·삭제 표현을 각각 검토한다. 초급 독자는 공격 재현 없이도 안전한 설정과 negative test를 실행할 수 있어야 한다. 링크·version·상표·라이선스를 확인하고 실제 credential 모양 문자열과 개인키가 원고·artifact·화면에 없는지 값 자체를 출력하지 않는 방식으로 검사한다.

독자가 통제를 켰다가 서비스가 깨졌을 때 원복할 수 있도록 각 실습에 사전 상태, 변경, 검증, rollback을 둔다. 보안 강화를 명분으로 접근성이나 복구 경로를 무심코 차단하지 않았는지도 확인한다.

베타 검수자는 정상 사용자뿐 아니라 권한이 없는 사용자, 다른 tenant, 만료된 session, 재전송된 webhook으로 같은 기능을 확인한다. 차단 응답만 보지 않고 데이터가 생성·변경되지 않았으며 감사 로그에는 비밀 없이 판단 근거가 남았는지 검증한다. 자동화가 통과해도 미확인 법률 판단과 외부 서비스 약관은 담당 전문가의 승인 항목으로 유지한다.