Skip to main content

리포지토리 보안 설정을 위한 빠른 시작

사용자의 코드에 대한 액세스 관리 취약한 코드 및 종속성을 자동으로 검색하고 수정합니다.

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

리포지토리 소유자, 조직 소유자, 보안 관리자 및 관리자 역할이 있는 사용자

서문

이 가이드에서는 리포지토리에 대한 보안 기능을 구성하는 방법을 보여 줍니다.

보안 요구 사항은 리포지토리에 고유하므로 리포지토리에 대해 모든 기능을 사용하도록 설정할 필요는 없을 수도 있습니다. 자세한 내용은 GitHub security features(GitHub 보안 기능)을(를) 참조하세요.

일부 기능은 모든 리포지토리에서 사용할 수 있습니다. GitHub Secret Protection, GitHub Code Security, or GitHub Advanced Security를 사용하는 조직과 엔터프라이즈에서 추가 기능을 사용할 수 있습니다. 자세한 내용은 GitHub Advanced Security 정보을(를) 참조하세요.

리포지토리에 대한 액세스 관리

리포지토리 보안 설정의 첫 번째 단계는 코드를 보고 수정할 수 있는 사용자를 설정하는 것입니다. 자세한 내용은 리포지토리의 설정 및 기능 관리을(를) 참조하세요.

리포지토리의 메인 페이지에서 설정을 클릭한 다음, 아래로 "Danger Zone"까지 스크롤합니다.

종속성 그래프 관리

엔터프라이즈 소유자는 엔터프라이즈의 종속성 그래프 및 Dependabot alerts를 구성할 수 있습니다. 자세한 내용은 엔터프라이즈에 대해 종속성 그래프 사용엔터프라이즈에 Dependabot 사용을(를) 참조하세요.

자세한 내용은 리포지토리의 종속성 탐색을(를) 참조하세요.

Dependabot alerts 관리

Dependabot alerts는 GitHub가 취약성이 있는 종속성 그래프의 종속성을 식별할 때 생성됩니다.

또한 Dependabot 자동 심사 규칙를 사용하여 대규모로 경고를 관리할 수 있으므로 경고를 자동으로 해제하거나 일시 중지하고 Dependabot에서 끌어오기 요청을 열 경고를 지정할 수 있습니다. 다양한 유형의 자동 분류 규칙과 리포지토리가 적격인지 아닌지 자세한 내용은 Dependabot 자동 심사 규칙 소개을(를) 참조하세요.

Dependabot에서 제공하는 다양한 기능에 대한 개요 및 시작하는 방법에 대한 지침은 Dependabot 빠른 시작 가이드을(를) 참조하세요.

엔터프라이즈 소유자는 엔터프라이즈에 대한 종속성 그래프 및 Dependabot alerts을(를) 구성해야 합니다.

Dependabot alerts가 구성되면 리포지토리 관리자 및 조직 소유자는 "Advanced Security" 설정 페이지에서 프라이빗 및 내부 리포지토리에 대해 Dependabot alerts를 사용하도록 설정할 수 있습니다. 퍼블릭 리포지토리는 기본적으로 사용하도록 설정됩니다. 자세한 내용은 엔터프라이즈에 대해 종속성 그래프 사용, 엔터프라이즈에 Dependabot 사용, Dependabot 경고 구성을(를) 참조하세요.

자세한 내용은 Dependabot 경고 정보을 참조합니다.

종속성 검토 관리

종속성 검토를 사용하면 끌어오기 요청이 리포지토리에 병합되기 전에 종속성 변경을 시각화할 수 있습니다. 자세한 내용은 종속성 검토 정보을(를) 참조하세요.

종속성 검토는 GitHub Code Security 기능입니다.

리포지토리에 대한 종속성 검토를 사용하도록 설정하려면 종속성 그래프가 사용하도록 설정되어 있는지 확인합니다.

  1. 리포지토리의 메인 페이지에서 설정을 클릭합니다.
  2. Advanced Security 를 클릭합니다.
  3. 사용자의 엔터프라이즈에 종속성 그래프가 구성되어 있는지 확인합니다.

Dependabot security updates 관리

Dependabot alerts를 사용하는 리포지토리의 경우 취약성이 감지되면 Dependabot security updates를 사용하여 보안 업데이트로 끌어오기 요청을 발생하도록 설정할 수 있습니다.

  1. 리포지토리의 메인 페이지에서 설정을 클릭합니다.
  2. Advanced Security 를 클릭합니다.
  3. Dependabot security updates 옆에 있는 사용을 클릭합니다.

자세한 내용은 Dependabot 보안 업데이트 정보Dependabot 보안 업데이트 구성을(를) 참조하세요.

Dependabot version updates

관리

Dependabot를 사용하여 자동으로 끌어오기 요청을 발생시켜 종속성을 최신 상태로 유지할 수 있습니다. 자세한 내용은 Dependabot 버전 업데이트 정보을(를) 참조하세요.

Dependabot version updates을 활성화하기 위해서는 dependabot.yml 구성 파일을 생성해야 합니다. 자세한 내용은 Dependabot 버전 업데이트 구성을(를) 참조하세요.

Code Security

GitHub Code Security는 code scanning, CodeQL CLI, 코파일럿 자동 수정 뿐만 아니라 코드베이스에서 취약성을 찾아 수정하는 기타 기능을 포함합니다.

CodeQL 분석 워크플로 또는 타사 도구를 이용해 리포지토리에 저장된 코드의 취약성 및 오류를 자동으로 식별하도록 code scanning를 구성할 수 있습니다. 리포지토리 내 프로그래밍 언어에 따라 기본 설정을 이용해 CodeQL로 code scanning을 구성할 수 있으며, 이 경우 GitHub가 스캔할 언어, 실행할 쿼리 모음, 새 스캔을 트리거할 이벤트를 자동으로 결정합니다. 자세한 내용은 코드 검사에 대한 기본 설정 구성을(를) 참조하세요.

  1. 리포지토리의 메인 페이지에서 설정을 클릭합니다.
  2. 사이드바의 "Security" 섹션에서 Advanced Security 를 클릭합니다.
  3. "Code Security" 또는 "GitHub Advanced Security"가 아직 활성화되지 않은 경우, 활성화를 클릭하세요.
  4. "CodeQL analysis"의 우측에 설정 을 선택한 다음, 기본값을 클릭하세요.
  5. 팝업 창이 나타나면, 리포지토리의 기본 구성 설정을 검토한 후 활성화 CodeQL 를 클릭합니다.

기본 설정 대신 CodeQL을 이용해 사용자의 code scanning을 맞춤화하도록 편집할 수 있도록 워크플로 파일을 생성하는 고급 설정을 사용할 수 있습니다. 자세한 내용은 코드 검사에 대한 고급 설정 구성을(를) 참조하세요.

Secret Protection

GitHub Secret Protection는 secret scanning 및 푸시 보호를 비롯해 리포지토리에서 비밀 유출을 감지하고 방지하는 데 유용한 기타 기능을 포함합니다.

  1. 리포지토리의 메인 페이지에서 설정을 클릭합니다.
  2. Advanced Security 를 클릭합니다.
  3. "Secret Protection" 또는 "GitHub Advanced Security"가 아직 활성화되지 않은 경우, 활성화를 클릭하세요.
  4. "Secret scanning" 옵션이 표시되면, 활성화를 클릭합니다.
  5. 비공급자 패턴 스캔, 푸시 보호와 같은 추가 기능의 활성화 여부를 선택합니다.

보안 정책 만들기

리포지토리 관리자라면 리포지토리에 SECURITY.md라는 파일을 생성하여 리포지토리에 대한 보안 정책을 명시하는 것이 바람직합니다. 이 파일은 이용자가 당신의 리포지토리에 보안 취약성을 보고하고 싶을 때 당신에게 연락해 협업하는 방법을 설명합니다. 리포지토리의 보안 정책은 리포지토리의 보안 탭에서 확인할 수 있습니다.

  1. 리포지토리의 메인 페이지에서 Security를 클릭합니다.
  2. 좌측 사이드바의 “보고” 밑에 정책을 클릭하세요.
  3. 설치 시작을 클릭합니다.
  4. 지원되는 프로젝트 버전 및 취약성 보고 방법에 대한 정보를 추가합니다.

자세한 내용은 Adding a security policy to your repository(리포지토리에 보안 정책 추가)을(를) 참조하세요.

다음 단계

보안 기능의 경고를 보고 관리하여 코드의 종속성과 취약성을 해결할 수 있습니다. 자세한 내용은 Dependabot 경고 보기 및 업데이트, 종속성 업데이트에 대한 끌어오기 요청 관리, 리포지토리에 대한 코드 검사 경고 평가, 비밀 검사 경고 관리을 참조하세요.

보안 경고에 대한 응답을 감사하기 위해 GitHub의 도구를 이용할 수도 있습니다. 자세한 내용은 보안 경고 감사을(를) 참조하세요.

GitHub Actions을(를) 사용하는 경우 GitHub의 보안 기능을 사용하여 워크플로의 보안을 강화할 수 있습니다. 자세한 내용은 보안 사용 참조을(를) 참조하세요.