이 문서는 대규모 GitHub Advanced Security를 채택하는 시리즈의 일부입니다. 이 시리즈의 이전 문서는 "1단계: 롤아웃 전략 및 목표 조정"을(를) 참조하세요.
code scanning 사용 준비
Code scanning는 GitHub 리포지토리의 코드를 분석하여 보안 취약성 및 코딩 오류를 찾는 데 사용하는 기능입니다. 분석으로 식별되는 모든 문제는 리포지토리에 표시됩니다. 자세한 내용은 "코드 검사 정보"을(를) 참조하세요.
수백 개의 리포지토리에서 code scanning를 롤아웃하는 것은 어려울 수 있습니다. 특히 비효율적인 경우 그렇습니다. 다음 단계를 수행하면 롤아웃의 효율성과 성공을 보장할 수 있습니다.
Code scanning은(는) GitHub Advanced Security에 대한 라이선스 없이도 GitHub의 모든 퍼블릭 리포지토리에서 사용할 수 있습니다.
팀에서 code scanning 준비
먼저 팀은 code scanning 사용을 준비합니다. code scanning을(를) 사용하는 팀이 많을수록 수정 계획을 세우고 롤아웃 진행 상황을 모니터링해야 하는 데이터가 많아집니다.
code scanning 소개 내용은 다음을 참조하세요.
핵심 초점은 많은 팀이 code scanning를 사용할 수 있도록 준비하는 것입니다. 팀이 적절하게 수정하도록 할 수도 있지만 이 단계에서는 문제 해결보다 code scanning의 사용 및 사용 우선 순위를 지정하는 것이 좋습니다.
secret scanning를 사용하도록 준비
Note
secret scanning을 사용하도록 설정한 리포지토리에서 비밀이 감지되면 GitHub은 리포지토리에 대한 보안 경고에 액세스할 수 있는 모든 사용자에게 경고합니다.
파트너에 대한 비밀 검사 경고을(를) 사용하여 공개 리포지토리에서 발견된 비밀은 GitHub Enterprise Cloud에 경고를 만들지 않고 파트너에게 직접 보고됩니다. 지원되는 파트너 패턴에 대한 자세한 내용은 "지원되는 비밀 검사 패턴"을(를) 참조하세요.
프로젝트에서 외부 서비스와 통신하는 경우 토큰 또는 프라이빗 키를 인증에 사용할 수 있습니다. 비밀을 리포지토리에 체크 인하면 리포지토리에 대한 읽기 액세스 권한이 있는 모든 사용자가 비밀을 사용하여 해당 권한으로 외부 서비스에 액세스할 수 있습니다. Secret scanning은(는) GitHub 리포지토리에 있는 모든 분기에서 전체 Git 기록을 검색하여 비밀을 확인하고 경고하거나 비밀이 포함된 푸시를 차단합니다. 자세한 내용은 "비밀 검사 정보"을(를) 참조하세요.
파트너에 대한 비밀 검사 경고은(는) 퍼블릭 리포지토리 및 퍼블릭 npm 패키지에서 자동으로 실행되어 GitHub에서 유출된 비밀에 대해 서비스 공급자에게 알립니다.
사용자에 대한 비밀 검사 경고은(는) 모든 공개 리포지토리에서 무료로 사용할 수 있습니다.
secret scanning를 사용하도록 설정할 때 고려 사항
secret scanning을(를) 간편하게 사용하도록 설정할 수 있지만, 조직 수준에서 모두 사용을 클릭하고 모든 새 리포지토리에 대해 자동으로 secret scanning을(를) 사용하도록 설정하는 옵션을 선택하면 주의해야 할 몇 가지 다운스트림 효과가 있습니다.
라이선스 사용량
모든 리포지토리에서 secret scanning을(를) 사용하도록 설정하면 GitHub Advanced Security 라이선스의 사용이 최대화됩니다. 현재 커밋 주체를 지원하도록 모든 리포지토리에 대한 라이선스가 충분한 경우에는 괜찮습니다. 앞으로 몇 달 동안 활성 개발자 수가 증가할 가능성이 있는 경우 라이선스 제한을 초과하면 새로 만든 리포지토리에서 GitHub Advanced Security를 사용할 수 없습니다.
검색된 비밀의 초기 대용량
대규모 조직에서 secret scanning를 사용하도록 설정하는 경우 많은 수의 비밀을 찾을 수 있도록 준비해야 합니다. 때때로 이것은 조직에 충격으로 다가와서 경종을 울립니다. 모든 리포지토리에서 secret scanning를 한 번에 켜려면 조직 전체에서 여러 경고에 응답하는 방법을 계획합니다.
개별 리포지토리에 대해 Secret scanning을 사용하도록 설정할 수 있습니다. 자세한 내용은 "리포지토리에 대한 비밀 검색 사용"을(를) 참조하세요. 위에서 설명한 대로 조직의 모든 리포지토리에 대해 Secret scanning을 사용하도록 설정할 수도 있습니다. 모든 리포지토리를 사용하도록 설정하는 방법에 대한 자세한 내용은 "조직의 보안 및 분석 설정 관리"을(를) 참조하세요.
secret scanning에 대한 사용자 지정 패턴
Secret scanning는 많은 수의 기본 패턴을 검색하지만 인프라에 고유한 비밀 형식과 같은 사용자 지정 패턴을 검색하도록 구성하거나 GitHub Enterprise Cloud의 secret scanning가 현재 검색하지 않는 통합자에서 사용할 수 있습니다. 파트너 패턴에 지원되는 비밀에 대한 자세한 내용은 "지원되는 비밀 검사 패턴"을(를) 참조하세요.
리포지토리를 감사하고 보안 및 개발자 팀에 말할 때 나중에 secret scanning에 대한 사용자 지정 패턴을 구성하는 데 사용할 비밀 유형 목록을 작성합니다. 자세한 내용은 "비밀 검사를 위한 사용자 지정 패턴 정의"을(를) 참조하세요.
secret scanning에 대한 푸시 보호
조직 및 리포지토리에 대한 푸시 보호에서는 비밀이 코드베이스에 커밋되기 전에 지원되는 비밀에 대한 푸시를 확인하도록 secret scanning에 지시합니다. 지원되는 비밀에 대한 자세한 내용은 "지원되는 비밀 검사 패턴"을(를) 참조하세요.
푸시에서 비밀이 검색되면 해당 푸시가 차단됩니다. Secret scanning은 검색한 비밀을 나열하므로 작성자는 비밀을 검토하고 제거하거나 필요한 경우 해당 비밀을 푸시할 수 있습니다. Secret scanning은(는) 사용자 지정 패턴에 대한 푸시도 검사할 수 있습니다.
개발자는 비밀이 가양성인지, 테스트에 사용되는지 또는 나중에 수정될 예정인지를 보고하여 푸시 보호를 무시할 수 있습니다.
기여자가 비밀에 대한 푸시 보호 블록을 바이패스하는 경우 GitHub은(는) 다음을 수행합니다.
- 리포지토리의 보안 탭에서 경고를 만듭니다.
- 감사 로그에 바이패스 이벤트를 추가합니다.
- 비밀에 대한 링크와 허용된 이유를 포함하는 메일 경고를 리포지토리를 감시하는 조직 또는 개인 계정 소유자, 보안 관리자 및 리포지토리 관리자에게 보냅니다.
푸시 보호를 사용하도록 설정하기 전에 푸시 보호를 무시할 수 있는 조건에 대한 개발자 팀을 위한 참고 자료를 생성해야 하는지 여부를 고려합니다. 개발자가 차단된 비밀을 푸시하려고 할 때 표시되는 메시지에서 이 리소스에 대한 링크를 구성할 수 있습니다.
다음으로, 기여자가 푸시 보호를 무시하는 결과 생성되는 경고를 관리하고 모니터링하기 위한 다양한 옵션을 숙지합니다.
자세한 정보는 "푸시 보호 정보" 항목을 참조하세요.
이 시리즈의 다음 문서는 "AUTOTITLE"을(를) 참조하세요.