아마 DevOps에 대해서는 들어보셨을 것입니다. 하지만 DevSecOps에 대해서는 들어보셨나요? DevSecOps는 소프트웨어 보안을 전체 소프트웨어 전달 프로세스의 핵심 부분으로 만드는 개념을 말합니다.
이것이 중요한 이유를 이해하려면 소프트웨어 보안이 과거에 어떻게 작동했는지 생각해 볼 필요가 있습니다. 전통적으로, 소프트웨어 보안 운영은 소프트웨어를 만드는 데 필요한 다른 프로세스와는 별개로 수행되었습니다. 개발자는 코드를 작성했고, IT 팀은 보안에 대해 별로 생각하지 않고 코드를 배포했습니다. 소프트웨어를 만들고 프로덕션 환경에 배치한 후에야 보안 엔지니어가 코드 안에서 또는 코드를 호스팅하는 환경 안에서 잠재적 취약점을 확인합니다.
이러한 소프트웨어 보안 접근 방식은 특히 배포 속도가 빨라지는 클라우드 환경에서 매우 비효율적입니다. 보안 문제가 감지될 때는 이미 작성되어 배포된 코드를 회수해야 하는 경우가 많습니다. 이것은 소프트웨어가 이미 운영되고 있는 후에야 문제가 감지되어 조직이 보안 위협에 노출되는 경우가 많다는 것을 의미하기도 합니다.
DevSecOps, 일명 "원점 회귀(shift left)" 보안은 소프트웨어 전달 프로세스의 모든 단계에 보안을 통합함으로써 이러한 문제를 해결합니다. 덕분에 개발자는 코드를 작성할 때 보안에 대해 생각하고, 소프트웨어는 배포되기 전에 보안 문제에 대한 테스트를 받고, IT 팀은 배포 후 나타나는 보안 문제를 신속하게 해결하기 위한 계획을 수립할 수 있습니다.
DevOps를 기반으로 하는 DevSecOps
DevSecOps는 DevOps의 대안이 아닙니다. 단지 개발자와 IT 팀이 고립된 상태로 따로 일하는 것이 아니라 긴밀히 협력해야 한다는 DevOps의 핵심 개념을 보안까지 포함하도록 확장하는 것입니다. 효과적인 DevSecOps는 DevOps를 수용하고 전체 CI/CD 개발 파이프라인에 보안을 통합하는 것을 의미합니다.
DevSecOps는 도구가 아니라 문화
많은 도구와 프로세스가 조직에서 DevSecOps를 달성하는 데 도움을 줄 수 있지만, 궁극적으로 DevSecOps는 특정 도구나 프로세스가 아닙니다. 이것은 하나의 문화입니다.
DevSecOps는 결국 조직에 올바른 문화적 가치를 심어주는 것입니다. 개발자, IT 팀, 보안 전문가 등 소프트웨어 전달에 관여하는 모든 사람들이 모든 일에서 소프트웨어 보안을 최우선으로 고려해야 한다는 생각을 가져야 합니다. 전체 팀이 애플리케이션과 관련된 결정을 내리기 전에 보안에 미치는 영향에 대해 생각해야 합니다. 그렇게 된다면 DevSecOps를 달성하게 됩니다.
DevSecOps 구현
DevSecOps를 달성할 수 있는 방법 중에서 최상의 방법 또는 이상적인 조합은 고객의 필요에 따라 달라집니다. 일반적으로, 조직에서 DevSecOps 문화를 구현하는 데 도움이 되는 전략은 다음과 같습니다.
교육: 소프트웨어 전달 프로세스의 모든 이해관계자가 최신 보안 위협 그리고 이를 해결해야 하는 중요성을 이해하도록 합니다.
커뮤니케이션: 보안 문제에 대한 정보를 신속하게 공유할 수 있도록 모든 팀원 간에 효과적인 커뮤니케이션 채널을 구축합니다.
보안 플레이북: 특정 유형의 보안 사고에 다양한 팀원들이 어떻게 대응해야 하는지 지정하는 "플레이북"을 개발합니다.
감사 및 규정 준수: 보안 감사 및 규정 준수 검사를 소프트웨어 전달 프로세스의 일상적인 부분으로 만듭니다.
올바른 도구 도입: 클라우드에서 보안 및 규정 준수 정책을 자동으로 시행하는 데 도움이 되는 API 기반 클라우드 보안 도구를 모색합니다.
개발자가 보안에 신경 쓰도록 함
DevSecOps를 구현하려고 할 때 대부분의 조직은 개발자 팀으로부터 가장 큰 저항을 받습니다. 문제는, 어떻게 개발자들이 보안에 관심을 두고, 보안을 자신의 워크로드에 추가하고, 필요한 기술을 배우도록 설득하느냐는 것입니다.
여기서 올바른 도구가 DevSecOps 혁신의 기폭제 역할을 할 수 있습니다. 클라우드 공급업체 API를 사용하여 정책을 자동화하는 도구를 구현함으로써 개발자는 일하면서 배우고 유해한 실수를 방지할 수 있습니다. 클라우드 네이티브 도구를 활용하여 AWS에서 정책을 자동화할 수 있습니다. 하지만 멀티 클라우드 구축을 사용하거나, 엄격한 규정 준수가 요구되거나, AWS 환경이 수많은 계정으로 확장된 경우에는 이를 효과적으로 수행하고 하나의 콘솔에서 모든 것을 관리하기 위해 타사 도구가 필요할 수 있습니다. 올바른 도구를 선택하는 팁은 이 블로그 게시물을 살펴보세요.
DHI 그룹이 DevSecOps 문화를 성공적으로 조성한 방법을 직접 보려면 'DevOps vs. SecOps'에서 DevSecOps로라는 블로그 게시물을 살펴보세요.