Akamai Diversity

Akamai 블로그

클라우드 워크플로우 보안을 위한 10가지 모범 사례

클라우드 마이그레이션은 양날의 검입니다. 뛰어난 확장성, 민첩성, 애플리케이션에 대한 새로운 접근 방식을 약속하지만 동시에 복잡성이 가중되고 보안 리스크가 증가합니다.
또한 잇따른 보안 유출 사고로 보안 취약점이 노출되면서 클라우드의 리스크에 대한 경각심이 높아졌습니다.

다행스러운 점은 클라우드 워크플로우 보안에 적용할 수 있는 모범 사례가 몇 가지 있다는 사실입니다. 모든 클라우드 사업자 사이에 유사한 특징이 존재합니다. 대표적인 클라우드 사업자인 Amazon Web Services(AWS)의 사례를 살펴보면서 퍼블릭 클라우드 배포의 일부 보안 문제와 이를 해결할 수 있는 10가지 입증된 모범 사례를 검토해 보겠습니다.

  1. 매뉴얼을 반드시 확인하세요. 모든 클라우드 사업자는 보안 인프라 설계와 애플리케이션 설정에 대한 권장사항을 가지고 있습니다. 여기에는 일반적으로 자산의 식별·분류·보호, 리소스에 대한 접속 관리, 사용자 및 그룹 생성, 클라우드의 데이터, 운영 체제, 애플리케이션, 전체 인프라를 보호하는 방법 등이 포함됩니다. AWS를 사용하는 경우 AWS 보안 모범 사례를 기본 가이드로 다운로드하고, AWS Security Hub에서 보안 검사 및 알림을 관리하며, AWS 보안 블로그를 구독하여 업데이트를 확인할 수 있습니다.

  2. 공동 책임 모델을 파악하세요. AWS와 다른 사업자들은 클라우드 보안이 공동 책임임을 명시하고 있습니다. 클라우드 사업자는 플랫폼의 가용성을 보장하고 최신 상태로 유지해야할 책임이 있고 고객은 애플리케이션과 데이터를 보호해야할 책임이 있습니다. 대부분의 데이터 유출 사고는 고객의 잘못으로 발생했습니다. 클라우드 사업자의 책임과 고객의 책임 범위를 정확하게 파악해야 합니다.

  3. 언제나 문제가 발생할 수 있다는 사실을 받아들이세요. 잘못된 설정 같은 내부 오류와 DDoS 공격 같은 외부 이벤트는 항상 발생합니다. 피해를 최소화하려면 취약점을 파악해야 합니다. 보안 인시던트 대응 런북을 만들고 거버넌스, 리스크, 컴플라이언스 모델을 확립해 준비 상태를 강화해야 합니다. 이를 위해 업무와 책임, 대응 메커니즘, 서비스 수준 계약(SLA) 표준을 정의하고 파트너가 본연의 업무에 책임질 수 있도록 해야 합니다.

  4. 보안 옵션을 평가하세요. 네이티브 퍼블릭 클라우드 보안, DIY 보안, 포인트 솔루션에는 모두 각각의 장단점이 있습니다. 클라우드 사업자의 솔루션으로 보호할 수 있는 영역은 어디이고, 하이브리드 또는 멀티 클라우드 아키텍처에 걸쳐 일관된 제어를 보장하기 위해 플랫폼 애그노스틱 접근 방식을 어느 영역에 적용해야 하는지 따져봐야 합니다.

    또한 필요한 경우 직원 부족 및 전문지식 부족 문제를 해결해야 합니다. 업무 부하를 가장 효율적으로 분산시킬 수 있는 방법을 고민하고 관련 경험과 고객을 보유한 벤더사를 물색합니다. 적합한 보안 파트너는 리스크를 줄이고 민첩성을 높일 수 있도록 도와줍니다. 전문 서비스와 매니지드 보안 서비스(매니지드 SOC)가 향후 요구사항 또는 특수 프로젝트에 필요한 옵션인지 확인해야 합니다.

  5. 비즈니스 조력자가 되어야 합니다. 보안은 혁신을 방해하는 것이 아니라 비즈니스에 도움이 되어야 합니다. 퍼블릭 클라우드를 이용하면 DevOps팀은 인프라에 신속하게 대응하고 테스트 속도를 높이며 컨테이너 및 마이크로서비스와 같은 새로운 기술을 활용해 지속적인 테스트와 배포를 수행할 수 있습니다. 이를 지원하려면 개발 주기 초기 단계에서 보안을 통합해야 합니다. 하지만 안전한 소프트웨어 개발 수명주기(SDLC)를 구현해도 모든 취약점을 커버하지 않습니다. 이때 WAF를 기본 웹 애플리케이션 런타임 보안 툴로 배포하면 안전망을 구축할 수 있습니다.

  6. 임시방편은 영원히 지속됩니다. 개발에서 편의상 선택한 지름길이 프로덕션에 들어가기 전에 반드시 수정되는 것은 아닙니다. 공개 접속을 허용하지 않는 새로운 AWS S3 버킷의 기본 설정을 예로 들어 보겠습니다. 이 설정을 정책 및 오브젝트 수준의 허용을 통해 곧바로 수정할 수 있습니다. 또는 가상 퍼블릭 클라우드(VPC)가 사용자를 보호한다는 가정하에 몇 번의 클릭만으로 공개 접속을 허용하는 지름길을 선택할 수도 있습니다. 하지만 후자의 경우 새로운 취약점으로 이어지게 됩니다. 한시적으로 잘못된 방법을 사용하면 영원히 지속되거나 새로운 표준으로 자리잡게 됩니다.

  7. 아무도 믿지 마세요. 제로 트러스트 접근 방식은 내부와 외부의 모든 요청을 확인합니다. 모든 보안 모니터링 및 서비스가 올바르게 설정되어 있고 위반사항이 즉각적으로 담당자에게 보고되도록 하는 것을 목표로 합니다.

    AWS를 사용하는 경우 다음 서비스를 반드시 사용해야 합니다.
         - CloudTrail 및 CloudWatch: 시스템에 대한 사용자 및 API 콜 뿐만 아니라 인프라 콜까지 포함합니다.
         - Guard Duty: 호스트 통신, 위협 인텔리전스, VPC Flow 로그 모니터링을 통한 네트워크 통신을 포함합니다.
         - AWS Inspector: 호스트 취약점과 CIS 벤치마크를 포함합니다.
         - AWS Config 및 Config Rules: 자산 인벤토리와 설정 컴플라이언스를 관리합니다.
         - AWS Security Hub 또는 Splunk 등의 기타 솔루션: 써드파티 모니터링을 집계합니다.

    적절한 보안 조치를 마련한 후에도 퍼블릭 리포지토리에서 다운로드하는 컨테이너 또는 코드를 검사하는 단계가 프로세스에서 누락된 경우 서버 측 요청 위조(SSRF)와 같은 문제가 발생할 수 있습니다. SSRF의 경우 애플리케이션이 접속해야 하는 DNS 네임 또는 IP 주소를 화이트리스트로 만드는 것이 보안을 강화할 수 있는 방법입니다. 블랙리스트에 의존해야 하는 경우 사용자가 입력한 인풋이 적절한지 반드시 검증해야 합니다.

  8. 앞문을 엄호합니다. 효과가 큰 보안 조치는 정상 요청과 악성 요청을 구별하기 위해 인바운드 및 아웃바운드 트래픽을 제어하고 모니터링하는 것입니다.

    WAF는 사이트 기능이나 데이터를 손상시킬 수 있는 위협을 확인하기 위해 인바운드 트래픽을 검사합니다. 하지만 API 트래픽은 사각지대에 놓여 있습니다. 많은 기업들은 어떤 API 트래픽이 누구에게 노출되었는지, API 데이터에 어떤 일이 일어나고 있는지 가시성을 확보하지 못하고 있습니다. API 트래픽을 보호할 수 있는 WAF도 있지만  API Gateway를 사용하면 모든 API 소비자에게 통합된 엔트리 포인트를 제공할 수 있습니다.

    내부 서버가 감염되면 중요한 데이터를 훔치거나 명령 및 제어(C2) 시스템과 통신하려고 할 때, 대규모 리소스의 네트워크에 위협이 될 수 있습니다. 예상되는 도메인 네임 목록으로 아웃바운드 트래픽을 필터링하는 것은 VPC의 아웃바운드 트래픽을 보호하는 효율적인 방법입니다. 이러한 서비스의 호스트네임은 일반적으로 배포 시 알려지고, 애플리케이션에서 접속해야 하는 호스트 목록은 많지 않으며 자주 변경되지 않기 때문입니다. 호스트네임은 거의 변경되지 않습니다.

  9. 미래를 계획하세요. 산업 분야에 상관 없이 미래의 요구사항에 탄력적으로 대응할 수 있어야 합니다. 많은 기업의 경우 클라우드 우선 전략을 선택하지만 온프레미스에서 가장 잘 운영되는 워크로드가 있다는 점을 깨닫게 됩니다. 또한 많은 경우 가장 좋은 아키텍처를 구축하려면 여러 클라우드 사업자가 필요하기도 합니다. 지금은 관심을 기울이지 않고 있을 수도 있지만 다른 플랫폼에서 사용 가능한 기능을 이용하면 보안 또는 컨테이너 관리 등을 미래지향적인환경으로 만들 수 있습니다.

  10. 보안 체계를 테스트하세요. 기업의 보안 준비 상태를 정기적으로 테스트해야 합니다. IT 시스템과 비즈니스 프로세스의 취약점을 검사하고 향후 공격의 리스크를 줄일 수 있는 조치를 권장해야 합니다. 내부적으로 보안 상태를 평가하거나 써드파티와 협력할 수도 있습니다. 이에 대한 자세한 내용은 Gartner의 Actions for Internal Audit on Cybersecurity, Data Risks 또는 AWS 보안 감사 가이드라인을 참조하세요.

퍼블릭 클라우드를 현명하게 사용하세요.
보안 유출 사고는 막대한 비용을 발생시키고 보안 툴만 배포한다고 해서 보안 유출 사고를 막을 수 없습니다. 클라우드에서 애플리케이션을 보호하려면 퍼블릭 클라우드 서비스 모델과 알려진 보안 문제를 명확하게 이해해야 합니다. 이를 위해서는 수많은 전문 지식이 필요할 수 있지만, 잘 정의된 모범 사례는 큰 도움이 될 수 있습니다.