Skip to main content

푸시 보호 정보

Push protection blocks contributors from pushing secrets to a repository and generates an alert whenever a contributor bypasses the block. Push protection can be applied at the repository, organization, and user account level.

누가 이 기능을 사용할 수 있나요?

퍼블릭 리포지토리에 대하여 리포지토리 및 조직에 대한 푸시 보호가 무료로 제공됩니다. GitHub Enterprise Cloud을(를) 사용하며 GitHub Advanced Security 라이선스가 있는 조직은 자사 프라이빗 및 내부 리포지토리에서도 푸시 보호를 사용 설정할 수 있습니다.

푸시 보호 정보

푸시 보호는 비밀 또는 토큰과 같은 중요한 정보가 처음에 리포지토리에 푸시되지 않도록 설계된 secret scanning 기능입니다. 암호가 커밋된 후 비밀을 검색하는 secret scanning과 달리 푸시 보호는 푸시 프로세스 중에 코드를 사전에 검사하여 검색된 경우 푸시를 차단합니다.

푸시 보호는 리소스 또는 서비스에 대한 무단 액세스와 같이 노출된 비밀과 관련된 위험을 방지하는 데 도움이 됩니다. 이 기능을 사용하면 개발자는 즉각적인 피드백을 받고 보안 문제가 되기 전에 잠재적인 문제를 해결할 수 있습니다.

푸시 보호를 사용할 수 있습니다.

  • 리포지토리/조직 수준에서 리포지토리 관리자 또는 조직 소유자. 리포지토리의 기여자가 푸시 보호를 무시하면 리포지토리의 보안 탭에 경고가 표시됩니다.
  • GitHub에 대한 계정을 사용자로 지정합니다. 이러한 유형의 푸시 보호는 "사용자를 위한 푸시 보호"라고 합니다. GitHub에 대한 퍼블릭 리포지토리에도 비밀을 푸시하지 않도록 보호하지만 경고는 생성되지 않습니다.

푸시 보호로 지원되는 비밀 및 서비스 공급자에 대한 자세한 내용은 "지원되는 비밀 검사 패턴"을 참조하세요.

푸시 보호 작동 방식

한 번 활성화되면 푸시 보호가 푸시 시도 중에 잠재적인 비밀을 검색하는 경우 푸시를 차단하고 블록의 이유를 설명하는 자세한 메시지를 제공합니다. 문제의 코드를 검토하고, 중요한 정보를 제거하고, 푸시를 다시 시도해야 합니다.

기본적으로 리포지토리에 대한 쓰기 권한이 있는 사용자는 테이블에 요약되어 있는 바이패스 이유 중 하나를 지정하여 돌려주기 보호를 무시하도록 선택할 수 있습니다. 기여자가 비밀에 대한 푸시 보호 블록을 바이패스하는 경우 GitHub은(는) 다음을 수행합니다.

  • 리포지토리의 보안 탭에서 경고를 만듭니다.
  • 감사 로그에 바이패스 이벤트를 추가합니다.
  • 비밀에 대한 링크와 허용된 이유를 포함하는 메일 경고를 리포지토리를 감시하는 조직 또는 개인 계정 소유자, 보안 관리자 및 리포지토리 관리자에게 보냅니다.

이 테이블에서는 사용자가 푸시 보호 블록을 바이패스할 수 있는 각 방법에 대한 경고 동작을 보여 줍니다.

바이패스 이유경고 동작
테스트에 사용됨GitHub은(는) "테스트에서 사용됨"으로 확인된 닫힌 경고를 만듭니다.
가양성(false positive) 아님GitHub은(는) "가양성"(false positive)으로 확인된 닫힌 경고를 만듭니다.
나중에 수정GitHub의 열린 경고 만들기

푸시 보호의 이점 정보

  • 예방 보안: 푸시 보호는 푸시 시 비밀에 대한 코드를 검사하여 최전방 방어 메커니즘 역할을 합니다. 이 예방 방법은 리포지토리에 병합되기 전에 잠재적인 문제를 파악하는 데 도움이 됩니다.

  • 즉각적인 피드백: 푸시 시도 중에 잠재적 비밀이 감지되면 개발자는 즉각적인 피드백을 받습니다. 이 즉각적인 알림을 사용하면 신속하게 수정할 수 있으므로 중요한 정보가 노출될 가능성이 줄어듭니다.

  • 데이터 누수 위험 감소: 중요한 정보가 포함된 커밋을 차단하여 푸시 보호는 우발적인 데이터 유출 위험을 크게 줄입니다. 이렇게 하면 인프라, 서비스 및 데이터에 대한 무단 액세스를 보호하는 데 도움이 됩니다.

  • 효율적인 비밀 관리: 노출된 비밀을 소급하여 처리하는 대신 개발자는 원본에서 문제를 해결할 수 있습니다. 이렇게 하면 비밀 관리가 더 효율적이고 시간이 덜 소요됩니다.

  • CI/CD 파이프라인과의 통합: 푸시 보호는 CI/CD(연속 통합/지속적인 배포) 파이프라인에 통합되어 모든 푸시가 배포되기 전에 비밀을 검색하도록 할 수 있습니다. 이렇게 하면 DevOps 사례에 추가 보안 계층이 추가됩니다.

GitHub의 모든 사용자는 개별 설정 내에서 직접 푸시 보호를 사용하도록 설정할 수도 있습니다. 사용자 계정에 푸시 보호를 사용하도록 설정하면 푸시 보호를 사용하도록 설정하기 위해 해당 리포지토리에 의존하지 않고 GitHub에서 퍼블릭 리포지토리 푸시할 때마다 푸시가 보호됩니다. 자세한 정보는 "사용자에 대한 푸시 보호"을(를) 참조하세요.

푸시 보호 사용자 지정

푸시 보호를 사용하도록 설정하면 추가로 사용자 지정할 수 있습니다.

CI/CD 파이프라인과 통합

푸시 보호를 CI/CD(연속 통합/지속적인 배포) 파이프라인과 통합하여 자동화된 프로세스 중에 검사를 실행하도록 합니다. 일반적으로 파이프라인 구성 파일에서 GitHub의 API를 호출하거나 GitHub Actions을(를) 사용하는 단계를 추가하는 작업이 포함됩니다.

추가 참고 자료