소개
이 자습서에서는 유출된 비밀에 대한 수정 작업을 구성합니다. 다음을 배우게 됩니다:
- 수정 작업을 추적하는 보안 캠페인 만들기
- 소유권에 따라 경고 할당
- 수정 진행률 모니터링
- 이해 관계자와 통신
필수 조건
- 조직에 대해 GitHub Secret Protection 및 secret scanning를 모두 사용하도록 설정해야 합니다. 가격 책정 및 GitHub Secret Protection 활성화을(를) 참조하세요.
- 기존 secret scanning 경고를 사용할 수 있어야 합니다.
1단계: 비밀 검사 경고를 검토하세요.
조치를 취하기 전에 조직의 보안 경고의 현재 상태를 이해해야 합니다.
-
왼쪽 사이드바에서 "경고" 아래에 있는 Secret scanning의 오른쪽에 있는 기호를 클릭합니다.
-
드롭다운 목록에서 .를 선택합니다
Default.Default은 지원되는 패턴 및 지정된 사용자 지정 패턴과 관련이 있습니다. -
또는 암호와 같은 구조화되지 않은 비밀을 검토하도록 선택할
Generic수 있습니다. 그러나 제네릭 패턴은 일반적으로 기본 패턴보다 더 많은 가양성 값을 생성하므로 우선 순위가 높은 누수를 해결한 후 이러한 경고를 검토하는 것이 좋습니다. -
영향을 받는 열려 있는 경고 및 리포지토리의 총 수를 검토합니다.
-
필터를 사용하여 가장 긴급한 경고를 식별하고 수정 작업의 우선 순위를 지정합니다. * 공용 리포지토리에 누수 표시하려면 .를 사용합니다
publicly-leaked.- 동일한 조직 또는 엔터프라이즈 내 의 둘 이상의 리포지토리 에서 발견된 비밀 누수 내용을 표시하려면 다음을 사용합니다
is:multi-repository. - 여전히 유효한 비밀을 표시하려면 .를 사용합니다
validity:active. - 특정 서비스 자격 증명(AWS, Azure, GitHub)
provider:으로 필터링하려면 . - 특정 토큰 형식별로 필터링하려면 .를 사용합니다
secret-type:.
- 동일한 조직 또는 엔터프라이즈 내 의 둘 이상의 리포지토리 에서 발견된 비밀 누수 내용을 표시하려면 다음을 사용합니다
-
원하는 경우 사이드바의 "지표"에서 Secret scanning 를 클릭하여 다음을 확인해보세요.
- 가장 자주 차단되거나 무시된 비밀 형식
- 가장 푸시 차단 또는 우회가 많은 리포지토리
2단계: 보안 캠페인 만들기
리포지토리에서 수정 작업을 구성하고 추적하도록 보안 캠페인을 설정할 수 있습니다.
- 조직으로 이동한 후 옥티콘 "shield" aria-hidden="true" aria-label="shield" %} 보안을 클릭합니다.
- 왼쪽 패널에서 캠페인을 선택합니다.
-
**캠페인 생성하기 옥티콘 "삼각형 아래로" aria-hidden="true" %}** 를 클릭한 다음, 다음 중 하나를 선택합니다.- 미리 정의된 비밀 캠페인 템플릿을 선택합니다.
- 사용자 지정 필터를 사용하여 특정 경고(예
is:open provider:azure: 또는is:open validity:active)를 대상으로 지정합니다.
- 경고(최대 1,000개)를 검토하고 필요한 경우 필터를 조정합니다.
-
**다른 이름으로 저장**을 클릭하고 **게시 캠페인을** 선택합니다. - 캠페인 정보를 입력한 다음 캠페인 게시를 클릭합니다.
3단계: 팀 구성원에게 경고 할당
캠페인을 만든 후에는 수정을 담당하는 개발자에게 개별 경고를 할당해야 합니다.
- 캠페인 페이지에서 를 클릭하여 리포지토리를 확장하고 경고를 봅니다.
- 경고를 클릭하여 세부 정보 페이지를 엽니다.
- 오른쪽 사이드바에서 담당자를 클릭합니다.
- 경고를 수정하려는 개발자를 선택합니다. 일반적으로 이는 비밀을 커밋한 사람 또는 누출이 감지된 리포지토리 관리자입니다. 쓰기 액세스 권한이 있어야 합니다.
4단계: 수정 진행률 모니터링
경고가 할당되면 적시에 완료되도록 캠페인의 진행 상황을 정기적으로 추적해야 합니다.
- 캠페인 페이지에서 캠페인 요약을 검토합니다. 볼 거에요: * 캠페인 진행률: 닫히거나 수정되었거나 해제된 경고의 수 및 아직 검토해야 할 경고의 수 * 상태: 캠페인 마감일까지 남은 일 수
- 캠페인 세부 정보를 탐색할 수 있습니다.
- 리포지토리를 확장하여 경고 수정 진행률을 확인합니다.
-
**그룹을****없음**으로 설정하여 모든 경고 목록을 표시합니다. - 필터를 사용하여 특정 리포지토리 또는 경고에 집중합니다.
- 가장 열려 있는 경고 또는 최근 진행률이 없는 리포지토리를 기반으로 주의가 필요한 영역을 식별한 다음, 해당 리포지토리 유지 관리자 또는 담당자를 지원하도록 연락합니다.
5단계: 관련자와 통신
수정 프로세스 전체에서 정기적인 진행률 업데이트를 통해 관련자에게 정보를 제공해야 합니다. 캠페인 대시보드의 정보를 사용하여 이러한 업데이트를 생성할 수 있습니다.
- 캠페인 대시보드로 이동합니다.
- 보고서에 포함할 정보를 식별합니다. 다음 주요 메트릭을 고려합니다.
- 이번 주에 해결된 경고
- 남아있는 열린 경고
- 진행 중인 항목과 위험에 처한 항목 비교
- 주목할 만한 성과 또는 방해 요소
- 메트릭을 업데이트에 통합한 다음 전자 메일, Slack, Teams 또는 보안 모임을 통해 배포합니다.
6단계: 문서 수정 절차
마지막으로, 향후 수정 작업을 보다 효율적으로 수행할 수 있도록 표준화된 절차를 만들어야 합니다.
- 비밀 형식별 가이드를 개발합니다. 다음은 그 예입니다. * AWS 자격 증명: 액세스 키를 회전하고 서비스를 업데이트하는 방법 * GitHub 토큰: Personal Access Tokens의 취소 및 재생성 방법 * API 키: 서비스별 회전 프로시저 * 데이터베이스 자격 증명: 서비스 중단 없이 안전하게 순환
- 수정 검사 목록을 만듭니다.
- 비밀이 실제로 유출되었는지 확인합니다.
- 비밀이 여전히 활성 상태인지 확인합니다.
- 손상된 비밀을 해지하거나 갱신합니다.
- 이전 비밀을 사용하여 모든 시스템을 업데이트합니다.
- 새 자격 증명을 사용하여 시스템이 작동하는지 테스트합니다.
- 인시던트 및 수정 단계를 문서화합니다.
- 경고를 해결된 것으로 표시합니다.
- 에스컬레이션 경로를 설정합니다.
- 보안 리더십으로 에스컬레이션할 시기를 정의합니다.
- 다양한 비밀 유형에 대한 주제 전문가를 식별합니다.
- 중요한 누수에 대한 인시던트 대응 절차를 만듭니다.