하이브리드클라우드 환경에서의도커, 컨테이너보안 적용방안양희선부장 클라우드보안팀 luke_yang@trendmicro.com www.cloudsec.com
Docker, 컨테이너보안
하이브리드클라우드환경 물리서버들 Public Cloud Private Cloud 가상서버들
Container 역사 많은컨테이너에서 Docker 와동의어로사용 기반기술은시간이지나면서발전 1982 2000 2004 2008 2013 2016 Chroot per process root filesystem BSD jails, virtual servers Solaris zones virtualized nics, resource groups LXC LinuX Containers cgroups, filesystem, net namespaces Docker (dotcloud) abstraction layer over LXC Windows Server 2016 native containers + Nano 기타컨테이너기술 LXC (Linux Containers), rkt (CoreOS), Warden/Garden (Cloud Foundry), Solaris Zones
Build, Ship, Run App 1 Build 빌드프로세스가이미지를생성합니다. Bins/Libs 이미지에는응용프로그램및종속성이포함됩니다. 그러나기본 O/S 가아닙니다. Ship Run Container Docker Engine Operating System 이미지가레지스트리에푸시. Run Host Docker Engine 을사용하여등록된이미지를가져온다음 Docker 호스트의이미지에서컨테이너생성및실행 Image App 1 Bins/Libs App 1 Bins/Libs App 2 Bins/Libs App 3 Bins/Libs Image Registry Build Ship
Docker + Container 개발자는 Docker+Container 선호!!! App 1 App 2 App 3 VM 보다가벼운 Container ( 효율적인리소스관리 ) 간편한빌드, 배포 Bins/Libs 1 Bins/Libs Bins/Libs App 1 App 2 App 3 4 Bins/Libs Bins/Libs Bins/Libs Docker Engine 8 Guest OS Guest OS Guest OS Operating System 1 Infrastructure 하이퍼바이저 컨테이너 가상머신
기존워크로드 vs Container 워크로드 기존워크로드 OS 포함단일애플리케이션 Long-lived 릴리스로제공제한적인이식성 컨테이너워크로드공통호스트 OS 공유마이크로서비스 Short-lived 또는임시 CI / CD 호환엔진을가진모든플랫폼 기존어플리케이션을호스트 OS 및컨테이너용애플리케이션에적용할수있지만, 컨테이너워크로드를위해서는이미지를새로만들거나완전히새로운방식으로구축 / 적용해야합니다.
Docker 를주목하는이유 Docker 자료출처 - SlideShare
Docker Orchestration 이란? http://tm.co:80 http://tm.co:80 tcp:1000 tcp:2000 자료출처 - SlideShare
Docker Orchestration - Kubernetes Source: https://containerd.io/
Dev Pipeline 의위험요소 - Pipeline 에악성소프트웨어및취약한소프트웨어유입 Application Container (e.g. MySQL) Application Container (e.g. NGINX) Application Container (e.g.webapp) Docker Kubernetes Host OS Server Commit Build Push Deploy/Runtime
Docker, 컨테이너 2 가지보안방안 보안적용 2 가지방안필요 Docker, 컨테이너보안 컨테이너이미지보안 Security Security
Deep Security
Deep Security 기능 안티멀웨어 ( 백신 ) 방화벽 침입방어 ( 취약점방어 ) 로그감사 무결성모니터링 응용프로그램제어 Web 어플리케이션의취약점을보호 취약점방어 ( 가상패치 ) IDS / IPS Web 어플리케이션보호애플리케이션제어 OS 나어플리케이션의취약점을보호 애플리케이션을가시화하고통제 방화벽을통하여공격을받을기회를경감 방화벽 안티멀웨어 ( 백신 ) 악성프로그램공격에서보호 중요한보안이벤트를로그에서효율적으로발견 로그감사 Log Inspection 무결성모니터링 Integrity Monitoring 응용프로그램제어 Application Control 디렉토리, 파일, 레지스트리등의이상변경을감지 비인가응용프로그램을차단
Docker, 컨테이너보안 호스트와 Docker 컨테이너를안전하게보호 모든워크로드에서일관된보안유지 Amazon ECS
Docker, 컨테이너보안 정책적용 ( 컨테이너들 ) Deep Security 에이전트 (DSA) 애플리케이션컨테이너 ( 예 : MySQL) 애플리케이션컨테이너 ( 예 : NGINX) 침입차단 / 가상패치 (IPS) 실시간백신모듈 (AM) DSA 는 Docker Host 에설치 DS 커널모듈들 Docker 엔진 운영체제 정책적용 ( 호스트 ) 침입차단 / 가상패치 (IPS) 백신 (AM) 응용프로그램제어 방화벽, 웹평판 로그감사 무결성모니터링 응용프로그램제어
Docker, 컨테이너보안 - 설치된 Docker 호스트에대한가시성제공 Docker 서비스를하는서버들은 DSM (Deep Security Manager) 에서스마트폴더로구성하여쉽게찾고적용가능
Docker, 컨테이너보안 - 컨테이너세부정보제공 ( 악성코드탐지 / 차단시 ) 컨테이너에서탐지 / 삭제된악성파일이벤트의경우 Deep Security 에서세부정보제공 Container ID Container 이름 Container 이미지이름 컨테이너정보는외부로전달가능 이벤트전달 (Syslog 및 AWS SNS) REST API
Deep Security Smart Check
Deep Security Smart Check 이미지스캔및점검 도커이미지의취약점및악성코드탐지 Application Container (e.g. MySQL) Application Container (e.g. NGINX) Application Container (e.g.webapp) Docker Kubernetes Host OS Server Commit Build Push Deploy/Runtime - 런타임 (Runtime) 으로제공되기전에이미지점검
Deep Security Smart Check SW 빌드 Pipeline을위한원활한보안적용 레지스트리컨텐츠에대한가시성제공 멀웨어및취약점사전탐지 (vs. Runtime) 빌드프로모션 / 액세스제어를위한리스크임계값적용 Ops로전달하기전에보호규칙할당 지속적인모니터링및알림제공 SPN을통한새로운 CVE 및멀웨어패턴업데이트 조사또는감사를위한스캔내역검색 보안의운영영향도감소 API 를통해완전한자동화구현 Smart Check 로 CI/CD pipeline 을보호
Deep Security Smart Check Proxy 위협피드 멀웨어패턴 Trendx ML 파일쿼리 독립적인 Deep Security 컴포넌트 Docker/Kubernetes 응용프로그램 마이크로서비스아키텍처 업데이트 스케일링 Front End/Viewer Postgres db Auth Malware Scanner Scan Vulnerability Scanner APIs API 지원 UI 형태 Admin, Investigative 및 Pipeline 워크플로우를위한완벽한자동화지원 대부분모든레지스트리지원
Deep Security Smart Check CI/CD Pipeline 통합 이미지스캔및점검 Commit Build Push Scan Sign/Promote Deploy Alert Examine Remediate
Smart Check 배포 Deployment Activation Codes Images
구성현황 GCR ECR DTR Registry events Docs Frontend Scan Malware Scan dstf.trendmicro.com Alerts Developer CI/CD Build/Push Commit Invoke scan Console Proxy Registry Views Auth Vulnerability Scan Process scan result Signatures
추가내용
서버보안 7 년연속세계 1 위 The MARKET LEADER in server security for 7 straight years Other 30% Intel Symantec Source: IDC, Securing the Server Compute Evolution: Hybrid Cloud Has Transformed the Datacenter, January 2017 #US41867116
Compliance 대응 (PCI-DSS) PCI Install and maintain a firewall configuration to protect cardholder data Do not use vendor-supplied defaults for passwords or other security parameters Protect stored cardholder data Encrypt transmission of cardholder data use and regularly update anti-virus software Develop and maintain secure systems and applications Restrict access to cardholder data by business need to know Assign a unique ID to each person with computer access Restrict physical access to cardholder data Track and monitor all access to network resources and cardholder data Regularly test security systems and processes Maintain a policy that addresses info security for all personnel Responsibility Shared Shared Shared User User Shared Shared Shared Cloud Provider Shared Shared Shared
클라우드서비스에서입증된기능
Docker, 컨테이너 2 가지보안방안 보안적용 2 가지방안 Docker, 컨테이너보안 컨테이너이미지보안 Deep Security Deep Security Smart Check
THANK YOU 양희선부장 클라우드보안팀 @twitter handle www.cloudsec.com