The 4C’s of Cloud Native Security

Understanding the
4Cs of Cloud Native
Security: Code, Container,
Cluster, and Cloud

4C 개요

세상은 눈 깜짝할 사이에 계속해서 변화합니다. 어제는 클라우드 시대였고, 오늘은 클라우드 네이티브 시대로 진입했습니다. 이 변화는 상당히 짧은 시간에 일어났을지라도 그 영향은 우리가 상상하는 것보다 훨씬 큽니다. 이 변화를 간략히 설명하자면, 인터넷이나 클라우드 환경에서 온디맨드 IT 자원을 가지고 있던 것에서 클라우드 원칙에 기반한 소프트웨어 아키텍처를 가지고 새로운 세대의 애플리케이션을 개발하는 것으로 전환하는 것입니다.

그리고 모든 새로운 기술은 옛 기술을 무용지물로 만들려는 경향이 있듯이, 클라우드 환경에서 고도로 확장 가능한 애플리케이션을 빌드하고 실행하기 위한 이 새로운 접근 방식도 기존의 클라우드 보안이나 네트워크 보안을 무용지물로 만들어버렸으며 부적합하게 만들었습니다. 실제로 클라우드 네이티브의 인프라에 중립적이고 개발자 중심의 멀티 클라우드 접근 방식은 상호 연결된 도구와 플랫폼을 사용하므로 사이버 위협의 인기 대상이 되었습니다.

그래서 점점 더 많은 기업들이 컨테이너화된 애플리케이션과 Kubernetes 투자의 가치를 극대화하기 위해 클라우드 네이티브 방법을 채택함에 따라, 이러한 애플리케이션을 진화하는 보안 위험으로부터 보호해야 하는 필요가 중요한 역할을 하고 있습니다. 그러나 클라우드 네이티브 애플리케이션을 보호한다는 것은 그 중요한 측면을 모두 보호하는 것을 의미하며, 이것은 말로 하는 것보다는 훨씬 어려운 과제입니다. 이 블로그에서는 각 보안 측면과 각 측면의 모범 사례에 대해 간략하게 살펴보겠습니다. 

 

image.png

What are the four C's of cloud native security?

클라우드 네이티브 보안의 네 가지 C는 이 방법론을 기반으로 한 애플리케이션의 네 가지 근본적인 레이어를 나타냅니다. 이 레이어는 애플리케이션이 최종 사용자에게 도달하기 전에 개발자 및 데브옵스 팀이 클라우드 컴퓨팅의 모범 사례를 따라야 하며 모든 보안 목표를 달성하고 확인을 통과하기 위한 필수적인 것들입니다. 이 네 가지 레이어는 코드 보안, 컨테이너 보안, 클러스터 보안 및 클라우드 보안입니다.

각각의 "C"에 대해 깊이 파헤쳐보고 그들을 더 잘 이해하며, 또한 4개의 "C"에 관한 가장 자주 묻는 질문에 답해보겠습니다.

Code Security

Container Security

Cluster Security

Cloud Security

#1 Code Security

#1 Code Security

코드는 클라우드 기반이든 아니든 응용 프로그램의 가장 내부적인 부분 또는 레이어 중 하나입니다. 또한 조직에게 가장 큰 보안 통제를 제공하는 주요 공격 표면 중 하나입니다. 개발자 또는 보안 팀은 노출된 각 서비스, API 엔드포인트 및 기타 부분, 그리고 API 엔드포인트를 통해 엄격한 액세스 관리 및 위협 모니터링을 통해 보안 문제를 최소화할 수 있습니다. 모든 통신에 대해 내부 또는 외부 모두를 위한 TLS 암호화가 코드 보안의 추가적인 레이어를 보장하기 위한 표준이 되어야 합니다.

코드 품질과 보안은 무엇인가요?

코드 품질과 보안은 두 가지 매우 다른 but 연결된 코드 개발 프로세스 측면입니다. 코드 품질은 개발자들에게 중요한 고려 사항이며, 코드 보안은 테스트 부서의 고민거리입니다. 현재 점점 내장된 시장에서 코드를 클라우드 배포하기 전에 코드에서 잠재적인 보안 위험을 확인하고 보안 사고의 범위를 확인하는 것은 모든 응용 프로그램 개발자의 책임입니다.

코드 취약점이란 무엇인가요?

코드 취약점은 코드에서의 결함 또는 오류로, 보안 위험을 초래하고 위협 요소가 코드를 어떤 엔드포인트에든 연결하고 모든 데이터를 추출하거나, 더 나쁜 경우에는 코드를 변조하고 기타 작업을 수행할 수 있는 기회를 제공합니다. 또한 코드 취약점은 사용자 및 개발자를 다양한 종류의 보안 위협으로 취약하게 만듭니다.

보안 코드 분석은 무엇인가요?

보안 코드 분석은 논리 오류, 구현, 스타일 가이드 등을 확인하여 기존의 보안 취약점을 식별하기 위한 수동 또는 자동화된 검사 프로세스입니다. 오늘날은 정적 애플리케이션 보안 테스트 (SAST)와 같은 도구를 사용하여 보안 코드 검토를 수행할 수 있으며, 이러한 도구는 개발자들이 효과적으로 보안 업무를 수행하는 데 도움을 주는뿐만 아니라 GitHub, GitLab, Eclipse, IntelliJ 등과 호환되어 개발자들이 선호하는 환경에서 작업할 수 있습니다.

코드에 보안을 어떻게 제공할 수 있나요?

SAST와 유사하게 코드 보안을 제공하는 두 가지 더 선호되는 방법은 Dynamic Application Security Testing (DAST)와 Interactive Application Security Testing (IAST)입니다. 코드에 보안을 제공하기 위한 몇 가지 권장 방법은 통신의 포트 범위를 제한하고 응용 프로그램의 타사 라이브러리를 자동으로 스캔하며 동적 프로빙 공격을 시작하는 것입니다.

#2 Container Security

#2 Container Security

image.png

코드가 개발되면 컨테이너화할 준비가 된 것이며, 이것은 코드를 컨테이너에 넣을 수 있는 것을 의미합니다. 따라서 컨테이너는 클라우드 네이티브 보안의 두 번째 레이어를 형성합니다. 이 단계에서 코드는 계속 배포되기 전에 빌드 파이프라인을 작업할 애플리케이션 개발 팀에게 이동합니다.

도커 컨테이너 보안이란 무엇인가요?

도커 컨테이너 보안은 호스트부터 네트워크까지 도커 컨테이너를 보안하는 포괄적인 프로세스입니다. 도커 컨테이너 보안은 그 구성 요소의 이동적인 성격 때문에 조직에게 도전적일 수 있으며, 사고 대응 및 클라우드 보안 전략의 높은 수준을 요구합니다.

컨테이너를 어떻게 보안할 수 있나요?

컨테이너를 보호하는 동안 주의를 기울여야 할 세 가지 영역이 있습니다. 첫째로 Docker 이미지를 빌드하는 동안 이미지와 운영 체제에서 알려진 취약점을 스캔하는 것이 매우 중요합니다. 이미지 서명은 견고한 식별 및 액세스 관리를 유지하고 강제하는 다음 단계입니다. 마지막 부분은 컨테이너화 프로세스가 완료된 후에는 최소 OS 권한을 가진 사용자를 생성하고 이들을 사용하지 않도록 하는 것입니다.

#3 Cluster Security

#3 Cluster Security

클러스터는 세 번째 레이어이며, 보안과 Kubernetes를 생각할 때 대부분은 Kubernetes 클러스터 보안을 생각합니다.

DevOps에서 클러스터란 무엇인가요?

클러스터는 컨테이너화된 애플리케이션을 실행하기 위해 사용되는 가상 개인 클라우드를 통해 연결된 가상 머신(VM)에서 호스팅되는 노드 그룹입니다. Kubernetes에서 클러스터는 그것의 원하는 상태를 관리하는 역할을 담당합니다.

클러스터 보안이란 무엇인가요?

클러스터 보안은 여러 개의 인스턴트 액세스 포인트와 장치 간의 config, 클러스터 조인 등과 같은 안전한 제어 플레인 메시지의 보안을 유지하기 위해 설계된 통신 프로토콜을 나타냅니다.

클러스터를 어떻게 보안할 수 있나요?

클러스터를 보안하기 위해서는 구성 가능한 클러스터 구성 요소와 클러스터에서 실행되는 애플리케이션 두 가지에 가장 많은 주의를 기울여야 합니다. 클러스터 구성 요소의 보안을 유지하는 데 부족한 액세스 제어는 주요 과제 중 하나이며, 클러스터 구성 오류는 개발 팀에 대한 또 다른 주요 고민입니다.

클러스터 보안의 기본 원칙 중 일부는 RBAC 권한 부여, 인증, 네트워크 정책 구현, Pod 보안 표준 보장, 애플리케이션 비밀번호 암호화 및 Kubernetes Ingress를 위한 TLS 활용 등이 있습니다.

클러스터 인증이란 무엇인가요?

클러스터 인증은 클러스터 보안 서비스의 도움을 받아 동료, 클라이언트 또는 하위 구성 요소의 식별을 결정하는 프로세스입니다. 각 클라우드 제공 업체마다 고유한 클러스터 인증 시스템과 프로세스가 있습니다.

#4 Cloud Security

#4 Cloud Security

클라우드는 코드의 마지막 및 최종 레이어로, 코드가 개발되고 컨테이너화되고 클러스터를 거쳐 클라우드 배포를 위해 준비되었을 때입니다. 이로써 클라우드 보안은 프로세스에서 가장 복잡하고 번거로운 부분이자 가장 중요한 부분이 됩니다. 그러나 클라우드 보안의 바다 같은 세계로 깊이 파고들기 전에, 클라우드 보안은 공유 책임 모델을 필요로 한다는 점을 이해해야 합니다. 이 모델에 따라 클라이언트 또는 고객 기업은 온프레미스 또는 오피스 자산의 보안에 대한 책임을 질 수 있으며, 파트너는 모델의 포함 범주(IAAS, PAAS, SAAS)에 포함된 모든 클라우드 관련 자원의 보안을 책임지게 됩니다.

클라우드에서의 보안 서비스는 무엇인가요?

이메일 보안, 데이터 유실 방지, 식별 및 액세스 관리, 웹 보안 및 침입 탐지는 가장 일반적인 클라우드 보안 서비스 중 일부입니다. 보안 정보 및 이벤트 관리 (SIEM), 데이터 암호화, 업무 연속성 및 재해 복구, 네트워크 보안은 클라우드 보안 서비스의 범주에 속합니다.

어떤 종류의 클라우드 보안 솔루션이 있나요?

클라우드 보안 솔루션의 종류는 공급업체마다 다릅니다. Cloud4C에서는 보안 컨설팅, 관리 보안 서비스, 고급 관리 탐지 및 응답(MDR), 관리 SOC, DevSecOps, 데이터 센터 보호, 고급 위협 감지, 네트워크 트래픽 및 중요 자산의 보안을 프로액티브하게 검출하고 클라우드 리소스 및 클라우드 환경에 360도 보안을 제공하기 위한 광범위한 클라우드 보안 솔루션을 제공합니다.

가장 효과적인 클라우드 보안은 무엇인가요?

"가장 효과적인" 클라우드 보안은 없지만 암호화, 제로 트러스트, 신형 위협 지능 및 보안 메커니즘, 잠재적인 위협을 검사하기 위한 정기적인 취약점 스캔과 같은 기업들이 알려진 및 알려지지 않은 위협으로부터 가장 약한 링크, 인프라 및 클라우드 네이티브 애플리케이션을 보호하기 위해 채택하는 최상의 방법 중 일부입니다.

관리 클라우드 보안 서비스는 무엇인가요?

관리 클라우드 보안 서비스는 클라우드 관리 서비스 제공 업체 (MSP)가 기업의 클라우드 보안 요구 사항의 종단 간 관리를 제공하는 용어 및 서비스 모델입니다.