본문 바로가기

OSS on Azure/보안

GitHub에 올린 코드 속에 혹시라도 있을지 모르는 중요 자격 증명 정보가 있는지 살피고 보호하는 방법까지 제시하는 '친절한 Azure Secrets'

*글 최초 발행일자: 2018.02.01

 

GitHub는 개인 개발자, 기업의 개발 조직 가릴 것 없이 보편적으로 사용하죠. 대외적으로 공개 가능한 프로젝트 관련해 GitHub를 리포지토리 및 협업 공간으로 쓰는 곳이 늘면서 요즘 관련 보안에 관한 관심도 커지고 있습니다. 오늘 전할 내용은 GitHub에 올린 소스 코드 내에 중요 자격 증명(Credentials) 정보를 보호하는 팁입니다. 

 

마이크로소프트 애저는 사용자 비밀번호, 사설 키, 데이터베이스 커넥션 스트링, 스토리지 계정 키 등을 매우 민감한 보안 요소로 여기고 철저히 관리합니다. 이들 정보는 애저 액티브 디렉토리에 저장되는데요, 마이크로소프트는 애저 액티브 디렉토리 환경에서 클리우드 이용 고객의 자격 증명 정보를 각각의 테넌트(tenant)로 격리해 관리합니다. 

클라우드 컴퓨팅의 핵심 중 하나는 자유로운 연결입니다. 즉, 내부 자원에 대한 접근 제어를 철저히 한다고 해서 잠재적인 보안 위협이 사라지지 않죠. 애저는 이런 측면에서 보면 보안 서비스를 고객 눈높이에서 잘 하는 것 같습니다. 마이크로소프트는 Credential Scanner(이하 CredScan)을 통해 애저 이용 고객 관련 각종 자격 증명 정보 이용 현황을 모니터링합니다. 그 대상에는 GitHub도 있습니다. GitHub가 들어간 이유는? GitHub에 올린 소스 코드 내에 하드 코딩된 클라우드 관련 각종 자격 증명 정보가 있는지를 살펴 사전에 알려주기 위해서입니다. 동작 원리는 다음 그림과 같습니다. 

 

 

GitHub에 새로운 커밋이 올라오면 CredScan이 해당 내용을 모니터링하여 자동으로 코드 내용에 애저 관련 자격 증명 정보가 포함되어 있는지를 확인합니다. 문제가 있다고 판단되면 마이크로소프트의 CDOC(Cyber Defense Operation Center)에서 이메일로 알려줍니다. 이메일을 통해 마이크로소프트는 사용자에게 GitHub 커밋 관련해 사용자의 애저 구독이나 가상 머신이나 스토리지 등의 자산에 대한 접근 정보 보안에 영향을 줄 수 있는 것이 있으니 이런저런 조치를 해야 한다고 것을 알려줍니다. 가령 애저 관련 자격 증명 정보가 외부에 공개될 수 있으니 소스 코드 내용을 자세히 살펴보라고 알려주고, 해당 내용이 확인되면 코드 내에서 자격 증명 관련 부분을 삭제하거나 애저에서 제공하는 Key Vault로 옮겨 안전히 보호하라고 안내하는 것이죠. 

 현재 GitHub 모니터링은 커밋 단계에서만 이루어지는 데 친절하게도 마이크로소프트는 앞으로 릴리즈 단계까지 CredScan이 자동으로 모니터링할 수 있게 한다고 합니다. 본 포스팅은 애저 블로그를 참조해 작성한 것입니다. 오픈 소스 프로젝트를 GitHub에 올리고 있는 애저 사용 기업 중 보안 강화에 관심이 있다면! 락플레이스로 문의 바랍니다. 

 

*이 외에도 락플레이스의(2021~) 최신 뉴스레터 소식을 받아보고 싶으시다면? *

락플레이스 뉴스레터 구독하기 click

 

 

*락플레이스 1:1 문의 바로가기*

 1:1 문의 바로가기 click

 

 락플레이스는 2005년에 출범하여 대한민국 리눅스의 역사와 성장을 함께 해온 오픈소스 전문 기업으로 국내 최다 엔지니어, 국내 최고 기술력, 국내외 유수기업 컨설팅의 풍부한 경험과 탄탄한 기술력으로 고객의 성공적인 오픈소스 플랫폼 구축과 응용 프로그램 전체 범위의 서비스를 제공하고 있습니다. 락플레이스는 레드햇코리아로부터 Elite Business Associate/Advanced Business Parter/채널 어워드 한국  파트너/FY15 champion 등을 수상 파트너며, Microsoft Microsoft Cloud Solution Partner(CSP)로서 함께하고 있습니다