푸시 보호란?
푸시 보호는 비밀정보나 토큰과 같은 중요한 정보가 리포지토리에 절대 푸시되지 않도록 설계된 secret scanning 기능입니다. 암호가 커밋된 후 비밀을 검색하는 secret scanning와 달리 푸시 보호는 푸시 프로세스 중에 코드를 사전에 검색한 다음, 검색된 경우 푸시를 차단합니다.
푸시 보호 작동 방식
푸시 보호 기능은 다음 경로에서 발견된 비밀을 차단합니다.
- 명령줄에서 푸시하기
- GitHub UI에서 수행된 커밋
- 파일은 GitHub의 리포지토리에 업로드됩니다.
- REST API에 대한 요청
- GitHub MCP 서버와의 상호 작용(공용 리포지토리에만 해당)
푸시 보호가 푸시 시도 중에 잠재적인 비밀을 감지하면 푸시를 차단하고 블록의 이유를 설명하는 자세한 메시지를 제공합니다. 문제가 되는 코드를 검토한 후 중요 정보를 제거하고 다시 푸시해야 합니다.
푸시 보호 유형
푸시 보호에는 다음 두 가지 유형이 있습니다.
-
[리포지토리에 대한 푸시 보호](#push-protection-for-repositories) -
[사용자에 대한 푸시 보호](#push-protection-for-users)
저장소에 대한 푸시 보호
리포지토리, 조직 또는 엔터프라이즈 수준에서 리포지토리에 대한 푸시 보호를 사용하도록 설정할 수 있습니다. 이 형태의 푸시 보호 기능:
- GitHub Secret Protection을(를) 사용하도록 설정해야 합니다.
- 기본적으로 사용하지 않도록 설정되며 리포지토리 관리자, 조직 소유자, 보안 관리자 또는 엔터프라이즈 소유자가 사용하도록 설정할 수 있습니다.
- 비밀이 포함된 푸시가 보호된 특정 리포지토리에 도달하지 못하도록 차단
- 리포지토리, 조직 및 엔터프라이즈의 보안 탭에서 푸시 보호 바이패스에 대한 경고를 생성합니다.
팁
푸시 보호의 사용 상태와 관계없이 GitHub Team 및 GitHub Enterprise에 속한 조직은 자신들의 코드에 유출된 비밀을 검사하기 위해 무료 보고서를 실행할 수 있습니다. 보고서는 또한 푸시 보호로 인해 얼마나 많은 비밀 누출을 방지 할 수 있었는지 보여줍니다. GitHub를 사용하는 비밀 보안 정보을(를) 참조하세요.
사용자에 대한 푸시 보호
사용자에 대한 푸시 보호는 GitHub.com에서만 사용할 수 있으며 GitHub 계정에만 적용됩니다. 이 형태의 푸시 보호 기능:
- 기본적으로 사용하도록 설정됨
- GitHub의 공용 리포지토리에 비밀을 푸시하지 못하도록 합니다.
- 리포지토리 수준에서도 푸시 보호를 사용하도록 설정하지 않는 한 푸시 보호를 무시할 때 경고를 생성하지 않습니다.
푸시 보호 우회 및 경고
리포지토리에 대한 푸시 보호의 경우 기본적으로 리포지토리에 대한 쓰기 액세스 권한이 있는 모든 사용자는 바이패스 이유를 지정하여 푸시 보호를 무시할 수 있습니다. 기여자가 푸시 보호 차단을 우회하면 GitHub:
- 리포지토리, 조직 및 엔터프라이즈의 보안 탭에 경고를 만듭니다.
- 감사 로그에 바이패스 이벤트를 추가합니다.
- 비밀에 대한 링크와 허용된 이유와 함께 리포지토리를 감시하는 개인 계정, 조직 및 엔터프라이즈 소유자, 보안 관리자 및 리포지토리 관리자에게 이메일 경고를 보냅니다.
데이터 재사용 비밀-스캔.우회-이유-및-경고 %}
푸시 보호를 무시할 수 있는 기여자 및 비밀을 포함하는 푸시를 더 자세히 제어하려면 바이패스 요청을 감독하고 관리하도록 지정된 검토자 그룹을 구성할 수 있습니다.
푸시 보호의 이점
-
**예방 보안**: 푸시 보호는 푸시할 때 비밀번호 관련 코드를 검사하여 최전선에서 방어 메커니즘 역할을 합니다. 이 예방 방법은 리포지토리에 병합되기 전에 잠재적인 문제를 파악하는 데 도움이 됩니다. -
**즉각적인 피드백**: 푸시를 시도하는 동안 잠재적인 비밀이 감지되면 개발자는 즉시 피드백을 받습니다. 이 즉각적인 알림 기능을 통해 신속하게 수정할 수 있으므로, 중요한 정보가 노출될 가능성을 줄일 수 있습니다. -
**데이터 누수 위험 감소**: 푸시 보호 기능은 중요한 정보가 포함된 커밋을 차단함으로써, 우발적인 데이터 유출 위험을 크게 줄여줍니다. 이러한 조치를 통해 인프라, 서비스, 데이터에 대한 무단 액세스로부터 보호할 수 있습니다. -
**효율적인 비밀 관리**: 개발자는 노출된 비밀을 소급 적용하여 처리하는 대신, 원본에서 문제를 해결할 수 있습니다. 이렇게 하면 비밀번호 관리가 더욱 효율적으로 이루어지고 시간도 절약됩니다. -
**유연성 확보를 위한 기능 우회:** 오탐 또는 특정 패턴이 필요한 경우, 사용자에 대한 푸시 보호를 우회할 수 있으며, 지정된 사용자는 위임된 우회 기능을 통해 리포지토리에 대한 푸시 보호를 우회할 수 있습니다. 이렇게 하면 전반적인 보안을 해치지 않으면서 유연성을 확보할 수 있습니다. -
**사용자 지정 패턴을 검색하는 기능(조직의 리포지토리용):** 조직은 자신의 환경에 고유한 비밀을 검색하기 위한 사용자 지정 패턴을 정의할 수 있습니다. 이 사용자 지정은 푸시 보호가 비표준 비밀도 효과적으로 식별하고 차단할 수 있도록 합니다.
맞춤 설정
리포지토리에 푸시 보호를 사용하도록 설정한 후 다음을 통해 사용자 지정할 수 있습니다.
- 고유한 비밀 패턴이 포함된 푸시를 차단하는 사용자 지정 패턴 정의
- 푸시 보호를 우회하고 다른 참가자에 대한 바이패스 요청을 승인할 수 있는 참가자 지정
다음 단계
푸시 보호를 사용하려면 다음을 수행합니다. * 리포지토리는리포지토리에 푸시 보호 활성화을 참조하세요. * 조직의 경우 security configuration을(를) 적용해야 합니다. 사용자 정의 보안 구성 생성하기을(를) 참조하세요.
푸시 보호에서 지원하는 비밀 및 서비스 공급자 목록은 지원되는 비밀 검사 패턴을 참조하세요.