클라우드 보안이 다른 이유
데이터의 무단 노출 및 유출, 취약한 액세스 제어, 공격에 대한 취약성, 가용성 중단 등과 같은 매우 심각한 정보 기술(IT) 보안 또는 사이버 보안 문제는 기존 IT 시스템뿐만 아니라 클라우드 시스템에도 영향을 미칩니다. 다른 컴퓨팅 환경과 마찬가지로 클라우드 보안도 다음과 같은 보안 요건이 사전에 갖추어져 있어야 합니다.
- 데이터 및 시스템의 안전성 확인
- 현재 보안 상태 파악
- 비정상적인 현상을 즉시 인지
- 예기치 않은 이벤트 발생 시 추적 및 대응
많은 기업이 클라우드 컴퓨팅 환경의 장점을 잘 알고 있지만 보안 문제가 일어날 가능성이 있기 때문에 사용하기를 주저하고 있습니다. Red Hat도 이를 잘 알고 있습니다. 형태가 없는 리소스가 인터넷과 물리 서버를 통해 전송될 때 그 경로에 있는 모든 것을 파악하기란 쉽지 않습니다. 이러한 동적인 환경에서는 보안 위협과 같이 모든 상황이 계속 바뀝니다. 클라우드 보안은 IT 보안이라고 해도 과언이 아닙니다. 하지만 차이를 구체적으로 이해한다면 '클라우드'라는 단어에서 더 이상 보안 위험을 느끼지 않을 것입니다.
보안 경계 소실
보안은 상당 부분 액세스 제어와 관련이 있습니다. 전통적인 환경에서는 일반적으로 경계 보안 모델을 사용하여 액세스를 규제합니다. 클라우드 환경은 긴밀하게 연결되어 있으므로 트래픽이 기존의 경계 방어벽을 우회하기가 쉽습니다. 안전하지 않은 애플리케이션 프로그래밍 인터페이스(API), 취약한 Identity 및 자격 증명 정보 관리, 해커, 악의적인 내부자는 시스템과 데이터에 위협 요소로 작용할 수 있습니다. 클라우드에서 취약점을 없애고 무단 액세스를 방지하려면 데이터 중심 접근 방식으로 전환해야 합니다. 데이터를 암호화하고 인증 프로세스를 강화해야 합니다. 또한 강력한 암호 및 이중 인증(2FA)이 필요하며 모든 수준에 네트워크 보안 조치를 구축해야 합니다.
소프트웨어 중심
'클라우드'란 소프트웨어를 통해 사용자에게 제공되는 호스팅된 리소스를 말합니다. 처리 중인 모든 데이터와 더불어 클라우드 컴퓨팅 인프라는 역동성, 확장성, 이식성을 제공합니다. 암호화와 같이 워크로드의 고유한 부분이든 클라우드 관리 시스템과 API를 통한 동적 방식을 통해서든 클라우드 보안 제어는 유휴 데이터와 전송 중인 데이터 모두를 다루고 워크로드를 처리하면서 환경 변수에 대응할 수 있어야 합니다. 그래야 시스템 손상 및 데이터 침해로부터 클라우드 환경을 보호하고 안전을 유지할 수 있습니다.
정교해진 보안 위협 환경
정교한 보안 위협이란 클라우드를 포함하여 현대적인 컴퓨팅에 부정적인 영향을 미치는 모든 요인을 말합니다. 지능형 지속 위협(Advanced Persistent Threats, APT)과 같이 점점 정교해지는 맬웨어 및 기타 공격은 컴퓨팅 스택의 취약한 부분을 표적으로 삼아 네트워크 방어 체계를 회피하도록 설계됩니다. 데이터가 유출되면 무단으로 정보가 공개되거나 데이터가 손실 또는 변조될 수 있습니다. 이러한 위협에 대처하기 위한 유일한 방법은 클라우드 보안 방식을 개발하고 최신 상태로 유지하여 신종 위협에 대응하는 것입니다.
클라우드 보안은 공동의 책임
어떤 클라우드 배포를 사용하든 클라우드 내에서 자신이 소유하고 있는 공간을 보호할 책임이 있습니다. 클라우드를 관리해주는 업체가 있다고 해서 보안을 소홀히 해서는 안 됩니다. 실사를 제대로 수행하지 않는 것은 보안 실패의 주요 원인입니다. 클라우드 보안은 모두의 책임이며, 여기에는 다음이 포함됩니다.
신뢰할 수 있는 소프트웨어 사용
클라우드에 무엇이 있는지 파악하는 것이 중요합니다. 외부 소스에서 다운로드한 여느 코드와 마찬가지로 패키지가 어디에서 왔는지, 누가 구축했는지, 패키지 내에 악성 코드가 들어 있는지 식별해야 합니다. 알려지고 신뢰할 수 있는 소스에서 소프트웨어를 가져오고, 적시에 업데이트를 제공하고 설치할 수 있는 메커니즘이 마련되어 있는지 확인합니다.
컴플라이언스 이해
개인 정보, 금융 정보 등 각종 민감한 클라우드 데이터에는 엄격한 규정이 적용될 수 있습니다. 어디에서 누구와 비즈니스를 수행하는가에 따라 적용되는 법률이 달라지며 유럽 연합의 일반 데이터 보호 규정(General Data Protection Regulation, GDPR)을 참조하시기 바랍니다. 클라우드 배포를 선택하기 전에 규정 요구 사항을 확인합니다.
라이프사이클 관리
클라우드 네이티브 환경에서는 새로운 인스턴스를 손쉽게 생성할 수 있습니다. 따라서 오래된 인스턴스의 존재를 잊어버리기도 쉽습니다. 방치된 인스턴스는 활성화되어 있으나 모니터링되지 않아 이른바 '클라우드 좀비'가 될 수 있습니다. 이렇게 버려진 인스턴스는 점점 낡게 되어 결국 더는 새로운 보안 패치가 나오지 않습니다. 라이프사이클 관리 및 거버넌스 정책이 이러한 문제에 도움이 될 수 있습니다.
이식성 고려
워크로드를 다른 클라우드로 쉽게 옮길 수 있으십니까? SLA(서비스 수준 계약)에는 클라우드 제공업체가 고객의 데이터 또는 애플리케이션을 반환하는 시기와 방법이 명확히 명시되어 있어야 합니다. 빠른 시일 내에는 아니더라도 언젠가는 이동을 해야 할 때가 올 것입니다. 따라서 이식성을 고려하여 향후에 종속 문제가 발생하지 않게 해야 합니다.
지속적인 모니터링
작업 공간에서 진행 중인 작업을 모니터링하면 최소한 보안 침해의 영향을 피하거나 방지할 수 있습니다.
적합한 클라우드 제공업체 선택
클라우드 서비스와 보안의 복잡성을 이해하고 자격을 갖춘 신뢰할 수 있는 인력을 고용하고 파트너십을 맺으세요. 퍼블릭 클라우드 제공업체는 최신 정보를 파악하고 있으며 체계적인 보안 팀을 보유하고 있기 때문에 때로는 퍼블릭 클라우드의 인프라가 특정 조직의 프라이빗 클라우드보다 안전할 수도 있습니다.
퍼블릭 클라우드는 안전할까요?
이 문제에 대해 살펴보겠습니다. 3가지 클라우드(퍼블릭, 프라이빗, 하이브리드) 배포 간의 보안 차이점에 관해 자세히 설명할 수도 있지만, 사실 정말로 궁금한 것은 "퍼블릭 클라우드는 안전한가?"입니다. 이는 상황에 따라 달라집니다.
Amazon Web Services(AWS), Microsoft Azure, Google과 같은 퍼블릭 클라우드는 여러 유형의 워크로드에 적절한 보안을 제공하지만 프라이빗 클라우드에서 제공하는 분리 기능은 부족하므로 모든 상황에 적합하지는 않습니다. 퍼블릭 클라우드는 멀티테넌시를 지원합니다. 즉, 해당 클라우드 서비스 제공업체의 데이터 센터 성능(또는 스토리지 공간)을 임대하는 또 다른 "테넌트"도 있습니다. 각 테넌트는 누가 어떤 책임을 지는지 명시된 클라우드 제공업체의 서비스 수준 계약(SLA)에 서명합니다. 이러한 절차는 임대주로부터 물리적 공간을 빌리는 것과 비슷합니다. 임대주(클라우드 제공업체)는 건물(클라우드 인프라)을 유지관리하고 키(액세스)를 계속 보유하되, 대체로 임차인의 생활 방식(프라이버시)에 관여하지 않겠다고 약속합니다. 그 대신에 임차인은 건물의 온전한 상태를 손상시키거나 다른 임차인에게 폐를 끼치는 어떠한 행동(예: 보안되지 않는 애플리케이션 실행)도 하지 않기로 약속합니다. 하지만 임차인은 이웃을 선택할 수 없고 해를 끼치는 이웃을 만나게 될 수도 있습니다. 클라우드 제공업체의 인프라 보안 팀이 비정상적인 이벤트를 감시함에도 불구하고 악의적인 DDoS(분산 서비스 거부) 공격과 같은 은밀하거나 공격적인 위협은 여전히 다른 테넌트에게 부정적인 영향을 미칠 수 있습니다.
다행히도 업계가 인정한 보안 표준, 규정 그리고 CSA(Cloud Security Alliance)의 CCM(Cloud Controls Matrix)과 같은 제어 프레임워크가 있습니다. 또한 테넌트는 손상된 인프라에서 워크로드를 보호하는 추가 보안 툴(예: 암호화 및 DDoS 완화 기술)을 배포하여 멀티테넌트 환경에서 자신을 분리시킬 수 있습니다. 이렇게 해도 보안이 충분하지 않을 경우 클라우드 액세스 보안 브로커를 배포하여 활동을 모니터링하고 위험성이 낮은 엔터프라이즈 기능에 대한 보안 정책을 강화할 수 있습니다. 이러한 모든 조치를 취하더라도 엄격한 개인 정보 보호 규정, 보안 규정, 준수 규정에 따라 운영되는 업계에서는 충분하지 않을 수도 있습니다.
클라우드 네이티브 보안을 위한 DevSecOps
DevSecOps는 조직이 IT 보안을 강화하고 소프트웨어 환경의 위험을 줄일 수 있는 수단으로 DevOps 사례와 보안 전략을 결합한 것입니다. 쿠버네티스, 컨테이너, 마이크로서비스, 서비스 메쉬 등의 클라우드 네이티브 기술 은 조직에서 클라우드 애플리케이션을 보다 동적이고 안정적이며 대규모로 구축, 배포 및 실행하는 데 필요한 구성 요소를 제공하기 때문에 큰 인기를 얻게 되었습니다.
클라우드 네이티브 기술이 도입한 변화로 인해 조직에는 보안을 DevSecOps 모델로 발전시켜야 할 필요성이 생겼습니다. 즉, 보안 및 엔지니어링팀이 서로 협력해 조직이 현대적이고 확장 가능한 애플리케이션을 구축 및 실행할 수 있도록 지원할 성공적인 전략을 개발해야 한다는 의미입니다. 이는 보안을 코드로 구현하는 워크플로우를 소프트웨어 개발 라이프사이클 초반에 통합하는 시프트 레프트(shift left) 방식을 통해 가능합니다.
하이브리드 클라우드로 보안 위험 완화
보안과 관련된 의사 결정은 위험 내성 분석 및 비용 편익 분석과 관련이 많습니다. 잠재적 보안 위험이나 편익이 조직의 전반적인 상태에 어떤 영향을 미칠 수 있을까요? 제일 중요한 사항은 무엇일까요? 모든 워크로드에 가장 높은 수준의 암호화와 사이버 보안이 필요한 것은 아닙니다. 이렇게 생각해 보세요. 집을 잠그면 모든 소지품을 비교적 안전하게 보관할 수 있지만 귀중품은 금고에 넣어 보관할 수도 있습니다. 선택권이 있다는 것은 유익한 일입니다.
그렇기 때문에 많은 기업이 모든 클라우드의 장점을 활용할 수 있는 하이브리드 클라우드로 전환하고 있습니다. 하이브리드 클라우드는 둘 이상의 퍼블릭 클라우드 또는 프라이빗 클라우드가 서로 연결된 환경이 조합된 것입니다.
하이브리드 클라우드를 사용하면 규정 준수, 감사, 정책 또는 보안 요구 사항을 기반으로 하는 워크로드 및 데이터를 배치할 위치를 선택할 수 있으므로 특히 프라이빗 클라우드에 있는 민감한 워크로드를 보호하는 동시에 퍼블릭 클라우드에 있는 덜 민감한 워크로드를 실행할 수 있습니다. 데이터 마이그레이션, 복잡성 증가, 대규모 공격에 대한 취약성 등 하이브리드 클라우드 고유의 보안 문제가 발생하기도 하지만 여러 환경의 조합은 보안 위험에 대처하는 강력한 방어책 중 하나가 될 수 있습니다.