일단 해결책이 구현된 이후 보안 모범 사례를 집어넣으면 복잡하고 자원이 많이 든다. 또한 혁신을 빠르게 내놔야 한다는 압박으로 인해 데브옵스 팀이 보안 부채를 떠안고 릴리즈하는 사례가 빈번하게 발생한다. 최선의 데브섹옵스 모범 사례는 지식, 권장 사항, 보안을 개발 프로세스의 “왼쪽으로 옮겨(shift left)” 애자일 개발 팀이 마이크로서비스, 애플리케이션 또는 데이터베이스에 바로 보안을 구현해 넣도록 하는 것이다.
그러나 지속적 통합, 지속적 제공(CI/CD) 파이프라인은 어떻게 해야 할까? 코드를 빌드, 통합, 패키징해서 환경에 제공하기까지의 수작업 단계가 CI/CD 도구에 스크립팅되어 있을 때 이 자동화는 배포의 안정성을 높여준다. 견고한 CI/CD 구현을 갖춘 데브옵스 팀은 그 다음 단계로 프로덕션 환경을 위한 지속적 배포까지 고려하는 경우가 많다. 따르는 위험은 더 높지만 더 자주 배포할 수 있게 된다.
안전하고 견고한 CI/CD 파이프라인을 구축할 때 필요한 권장 사항과 모범 사례를 확인해 보자.
1. 모범적인 보안 개발 방법 구축
캡제미니(Capgemini)의 애자일 및 데브옵스 리더인 쿨비르 라이나는 가장 중요한 일을 가장 먼저 해야 한다면서 “CI/CD 파이프라인에서 자동화를 다룰 때 보안과 품질은 코드에 내장해야 하며 품질 관리 단계로 미루면 안 된다. 개발자가 적절히 코드를 린팅하기 위해서는 개발자의 통합 개발 환경에 통합된 보안 도구가 필요하다”라고 말했다.린팅은 코딩 스타일 편차와 안전하지 않은 관행을 식별하는 도구에서 수행하는 프로세스다. 고급 정적 애플리케이션 보안 테스트(SAST) 도구는 버퍼 오버플로우, SQL 주입 결함을 비롯한 여러 문제점을 찾을 수 있다. 라이나는 SAST를 지속적 통합에 통합할 것을 권장한다.
레드게이트 소프트웨어(Redgate Software)의 데브옵스 지지자인 스티브 존스는 “도구도 중요하지만 다른 모든 데브옵스 프로세스와 마찬가지로 계속 배우고 성장해야 한다. 개발자를 대상으로 안전한 코딩 관행에 대한 교육을 주기적으로 실시해서 SQL 주입과 같은 단순한 취약점을 방치하지 않도록 해야 한다”라고 권했다.
빌드카이트(Buildkite)의 공동 창업자, 공동 CEO인 팀 루카스는 다른 여러 모범 사례를 공유했다. 루카스는 오픈 소스와 써드 파티의 종속 항목에서 일반적인 취약점 및 노출(CVE)을 검토해야 한다면서 “취약한 소프트웨어를 프로덕션에 넣어서는 안 된다. 벤더 소프트웨어에 대해 검증 가능한 서명을 사용해서 벤더가 침해될 때 보안 공급망도 함께 침해되는 일이 없도록 해야 한다”라고 조언했다.
소나타입(Sonatype) 필드 CTO인 이카 투루넨도 “모범 사례 중 하나는 오픈 소스 소프트웨어 프로젝트를 찾을 때 깐깐한 기준을 두는 것이다. 전통적인 제조 분야와 마찬가지로 모든 부품이 똑같이 만들어지지는 않는다”면서 “적극적이고 책임감 있는 개발자 그룹이 유지하는 프로젝트를 찾으면 소프트웨어 공급망의 정비성을 높이면서 기술 부채, 재작업, 보안 위험을 줄일 수 있다”라고 설명했다.
소프트웨어 개발 수명 주기에 보안 모범 사례를 적용할 때 권장 사항은 극히 일부분에 지나지 않지만, 동시에 안전한 전달 파이프라인을 개발하기 위한 중요한 필수 요건이다.
2. CI/CD 파이프라인 안에 지속적 테스트 구축
코드 제공이 CI/CD의 전부가 아님을 인식하는 것이 중요하다. CI/CD는 시프트 레프트 테스트를 도입하고 지속적 테스트 전략을 개선할 기회이기도 하다. 테스트를 핵심 원칙으로 채택하는 팀은 릴리즈를 환경에 배포하기 위해 CI/CD 파이프라인을 트리거하기에 앞서 보안을 검증할 기회를 확보할 수 있다. SAST 보안 테스트를 통합하는 것 외에 팀이 초점을 맞춰야 할 점은 다음과 같다.- 침투 테스트를 트리거해서 백도어 및 기타 진입점 취약점 찾기
- 보안 컨트롤 검증과 권한 부여 테스트
- 동적 애플리케이션 보안 테스트(DAST)를 사용하여 OWASP 상위 10개 고심각도 문제 테스트
또한 테스트 자동화에서는 일반적인 문제를 해결할 단계, 적절한 팀을 대상으로 한 알림, 롤백 절차도 고려해야 한다.
3. CI/CD 내의 데이터 보안 절차 자동화
코드 및 빌드 종속성이 있는 보안 절차를 자동화할 때도 CI/CD 파이프라인을 사용해야 한다. 집중해야 할 영역은 데이터 보안이다. 릴리즈에 새로운 데이터베이스, 업데이트된 데이터 모델 또는 새로운 데이터 집합이 포함될 수 있기 때문이다.프로덕션 환경에서 가져온 데이터로 개발 및 테스트 환경을 업데이트하는 것을 간과하는 경우가 많다. 개발 팀은 최근에 가져온 데이터를 사용해 기능을 검증하고 경험을 테스트하고 데이터 마스킹을 채택해 개인식별정보 및 기타 데이터 규정 요건이 적용되는 데이터를 난독화해야 한다.
액셀라리오(Accelario)의 CTO이며 공동 창업자인 로만 골로드는 “데이터 마스킹은 CI/CD 중 보안 자동화의 핵심적인 부분이다. 개발 및 테스트 팀이 프로덕션에서 모든 부분이 원활하게 작동하도록 보장하기 위해서는 실제 데이터가 필요하지만 프로덕션 외 시스템은 일반적으로 충분히 안전하지 않다”라고 말했다.
그 외에 합성 데이터와 서비스 가상화를 사용하는 방법이 있다. 골로드는 “실제 데이터를 모조하기 위한 합성 데이터 집합을 사용하면 데이터베이스가 침해되더라도 공격자가 얻는 것이 아무것도 없으므로 보안이 더욱 강화된다”라고 말했다.
코파도(Copado)의 전략 서비스 부문 선임 부사장인 다니엘 리델은 데브옵스 팀을 위한 중요한 출발점으로 “데이터, 구체적으로 그 데이터를 규제하는 보안과 규정 정책을 파악하라. 그러한 정책을 이해하고 나면 충분히 테스트되고 정책에 설정된 규칙과 컨트롤을 다루는 우수한 보안 자동화 프레임워크를 신중히 구축해야 한다”라고 말했다.
4. 제로 트러스트 원칙을 적용한 CI/CD 파이프라인 보호
권한이 부여된 사람만 트리거할 수 있도록 파이프라인을 잠그려면 데브옵스 팀은 어떻게 해야 할까? 레드게이트 소프트웨어의 데브옵스 지지자 그랜드 프리치는 “데브옵스 파이프라인 내에서 보안을 자동화하기 위한 핵심은 전통적인 모범적 보안을 위한 핵심 요소와 똑같다. 바로 최소 권한 원칙”이라고 말했다. 프리치는 “파이프라인에 필요한 만큼의 권한만 부여하는 것이 확실하게 된다면 이 파이프라인 내에서, 또는 파이프라인 주변의 보안을 자동화하는 것은 간단하며 원하는 결과를 제공한다”라고 말했다.기본적인 요소로는 API 키 숨기기, CI/CD 도구에서 프로젝트 및 역할 기반 보안 자격 증명 정의하기, 원격 데브옵스 팀원을 위한 액세스 보호하기 등이 있다.
5. CI/CD를 AI옵스 및 보안 자동화와 통합하여 배포 검증
데브옵스 팀의 책임은 코드가 프로덕션에 배포됐다고 해서 끝나지 않는다. 여기서는 관찰가능성과 모니터링에 대한 투자가 중요한 운영 피드백 도구가 된다. 데브옵스 팀은 운영 팀과의 협력과 도구를 통해 사고에 대응하고, 기술 부채가 운영 또는 보안 측면에서 우려 사항이 될 때를 인지해야 한다. 구체적으로 보면 다음과 같다.- AI옵스 도구는 운영 데이터를 중앙화하고 경보를 연계해 사고를 규정하고 성능 및 안정성 문제에 대한 사고 대응의 자동화를 지원한다.
- 보안 자동화 프로젝트는 위협 및 공격으로부터 환경을 보호하면서 권한을 설정하고 시스템을 패치하고 보안 사고에 대응하는 자동화를 실현한다.
- 많은 CI/CD도구가 AI옵스, 보안 자동화 및 기타 일반화된 IT 자동화 도구와의 양방향 통합을 제공한다. 데브옵스 팀은 CI/CD 파이프라인의 일부로 이러한 도구에 대한 알림을 트리거해서 운영 및 정보보안 담당자에게 코드 제공에 대한 정보를 제공해야 한다. 또한 IT 운영 및 정보보안 자동화 과정에서 운영과 보안에 대한 요구사항을 충족하려면 빌드나 롤백을 트리거할 수 있도록 허용해야 한다.
데브옵스 워크플로우는 팀이 시스템을 안정적으로 안전하게 계획, 제공, 릴리즈, 실행할 수 있도록 보장하기 위한 배포 계획부터 모니터링까지 이어지는 경로를 보여준다. CI/CD는 핵심적인 데브옵스 실행 방안 중 하나이므로 파이프라인의 전후와 내부에 보안을 내장하는 것이 중요하다.
editor@itworld.co.kr
함께 보면 좋은 콘텐츠
Sponsored
Surfshark
“유료 VPN, 분명한 가치 있다” VPN 선택 가이드
ⓒ Surfshark VPN(가상 사설 네트워크, Virtual Private Network)은 인터넷 사용자에게 개인 정보 보호와 보안을 제공하는 중요한 도구로 널리 인정받고 있다. VPN은 공공 와이파이 환경에서도 데이터를 안전하게 전송할 수 있고, 개인 정보를 보호하는 데 도움을 준다. VPN 서비스의 수요가 증가하는 것도 같은 이유에서다. 동시에 유료와 무료 중 어떤 VPN을 선택해야 할지 많은 관심을 가지고 살펴보는 사용자가 많다. 가장 먼저 사용자의 관심을 끄는 것은 별도의 예산 부담이 없는 무료 VPN이지만, 그만큼의 한계도 있다. 무료 VPN, 정말 괜찮을까? 무료 VPN 서비스는 편리하고 경제적 부담도 없지만 고려할 점이 아예 없는 것은 아니다. 보안 우려 대부분의 무료 VPN 서비스는 유료 서비스에 비해 보안 수준이 낮을 수 있다. 일부 무료 VPN은 사용자 데이터를 수집해 광고주나 서드파티 업체에 판매하는 경우도 있다. 이러한 상황에서 개인 정보가 유출될 우려가 있다. 속도와 대역폭 제한 무료 VPN 서비스는 종종 속도와 대역폭에 제한을 생긴다. 따라서 사용자는 느린 인터넷 속도를 경험할 수 있으며, 높은 대역폭이 필요한 작업을 수행하는 데 제약을 받을 수 있다. 서비스 제한 무료 VPN 서비스는 종종 서버 위치가 적거나 특정 서비스 또는 웹사이트에 액세스하지 못하는 경우가 생긴다. 또한 사용자 수가 늘어나 서버 부하가 증가하면 서비스의 안정성이 저하될 수 있다. 광고 및 추적 위험 일부 무료 VPN은 광고를 삽입하거나 사용자의 온라인 활동을 추적하여 광고주에게 판매할 수 있다. 이 경우 사용자가 광고를 보아야 하거나 개인 정보를 노출해야 할 수도 있다. 제한된 기능 무료 VPN은 유료 버전에 비해 기능이 제한될 수 있다. 예를 들어, 특정 프로토콜이나 고급 보안 기능을 지원하지 않는 경우가 그렇다. 유료 VPN의 필요성 최근 유행하는 로맨스 스캠은 인터넷 사기의 일종으로, 온라인 데이트나 소셜 미디어를 통해 가짜 프로필을 만들어 상대를 속이는 행위다. 이러한 상황에서 VPN은 사용자가 안전한 연결을 유지하고 사기 행위를 방지하는 데 도움이 된다. VPN을 통해 사용자는 상대방의 신원을 확인하고 의심스러운 활동을 감지할 수 있다. 서프샤크 VPN은 구독 요금제 가입 후 7일간의 무료 체험을 제공하고 있다. ⓒ Surfshark 그 외에도 유료 VPN만의 강점을 적극 이용해야 하는 이유는 다음 3가지로 요약할 수 있다. 보안 강화 해외 여행객이 증가함에 따라 공공 와이파이를 사용하는 경우가 늘어나고 있다. 그러나 공공 와이파이는 보안이 취약해 개인 정보를 노출할 위험이 있다. 따라서 VPN을 사용하여 데이터를 암호화하고 개인 정보를 보호하는 것이 중요하다. 서프샤크 VPN은 사용자의 개인 정보를 안전하게 유지하고 해킹을 방지하는 데 유용하다. 개인정보 보호 인터넷 사용자의 검색 기록과 콘텐츠 소비 패턴은 플랫폼에 의해 추적될 수 있다. VPN을 사용하면 사용자의 IP 주소와 로그를 숨길 수 있으며, 개인 정보를 보호할 수 있다. 또한 VPN은 사용자의 위치를 숨기고 인터넷 활동을 익명으로 유지하는 데 도움이 된다. 지역 제한 해제 해외 여행 중에도 한국에서 송금이 필요한 경우가 생길 수 있다. 그러나 IP가 해외 주소이므로 은행 앱에 접근하는 것이 제한될 수 있다. VPN을 사용하면 지역 제한을 해제해 해외에서도 한국 인터넷 서비스를 이용할 수 있다. 따라서 해외에서도 안전하고 편리하게 인터넷을 이용할 수 있다. 빠르고 안전한 유료 VPN, 서프샤크 VPN ⓒ Surfshark 뛰어난 보안 서프샤크 VPN은 강력한 암호화 기술을 사용하여 사용자의 인터넷 연결을 안전하게 보호한다. 이는 사용자의 개인 정보와 데이터를 보호하고 외부 공격으로부터 사용자를 보호하는 데 도움이 된다. 다양한 서버 위치 서프샤크 VPN은 전 세계 곳곳에 여러 서버가 위치하고 있어, 사용자가 지역 제한된 콘텐츠에 액세스할 수 있다. 해외에서도 로컬 콘텐츠에 손쉽게 접근할 수 있음은 물론이다. 속도와 대역폭 서프샤크 VPN은 빠른 속도와 무제한 대역폭을 제공하여 사용자가 원활한 인터넷 경험을 누릴 수 있도록 지원한다. 온라인 게임, 스트리밍, 다운로드 등 대역폭이 필요한 활동에 이상적이다. 다양한 플랫폼 지원 서프샤크 VPN은 다양한 플랫폼 및 디바이스에서 사용할 수 있다. 윈도우, 맥OS, iOS, 안드로이드 등 다양한 운영체제 및 디바이스에서 호환되어 사용자가 어디서나 안전한 인터넷을 즐길 수 있다. 디바이스 무제한 연결 서프샤크 VPN은 무제한 연결을 제공하여 사용자가 필요할 때 언제든지 디바이스의 갯수에 상관없이 VPN을 사용할 수 있다.