안녕하세요. 코난 김대우입니다.
이번에 다룰 포스팅 내용은 클라우드와 보안 세 번째, Azure가 제공하는 클라우드 서비스 보안 인프라-라는 내용으로 진행 예정입니다. 아마도, 이 글에 관심있는 분들은 충분히 개발이나 IT인프라는 물론 클라우드에 대한 높은 이해와 관심을 가지는 분으로 예상되기 때문에, 설명이나 이해를 목표로 포스팅을 진행하기 보다는 짧은 노트 형태로 남겨 보려고 합니다. 이하, 경어 생략.


클라우드 보안 무엇이 이슈인가? - 클라우드와 보안 (1/3)

인프라 보안이 플랫폼 보안과 어플리케이션 보안으로 변화 - 클라우드와 보안 (2/3)

Azure가 제공하는 클라우드 서비스 보안 인프라 - 클라우드와 보안 (3/3)


이전 포스팅을 통해, 아래의 내용을 짚어 보았다.


클라우드 보안 무엇이 이슈인가? - 클라우드와 보안 (1/3)

- 클라우드를 사용하려는 고객과, 클라우드 솔루션 개발사의 고민은 크게 다르지 않다.

- 클라우드에도 여전히 산재한 IT 인프라 & 어플리케이션에 대한 보안 위협 및 패턴

- 클라우드로 서비스 한다고 해도, 위협 요인은 항상 존재. 보안 및 위협 대응 방식에 대한 근원적 변화가 필요.


인프라 보안이 플랫폼 보안과 어플리케이션 보안으로 변화 - 클라우드와 보안 (2/3)

- 클라우드 서비스 도입 전, 클라우드의 보안은 다음 사항에 대한 총체적 보안 이슈 검증이 필요

- Ownership에서 Control로 보안 모델 변화

- 클라우드 서비스의 위협요인 분석

- 클라우드 서비스의 보안 레이어


대미는 역시 우리가 관심 있는 Windows Azure의 클라우드 서비스 보안 인프라를 알아 보는 시간.

아래 내용 거의 대부분은 아래 기술백서의 내용임을 미리 밝힌다.

Windows Azure 보안 기술백서 다운로드 / Security Best Practices for Developing Windows Azure Applications


클라우드 서비스의 위협요인과 Windows Azure가 제공하는 방어 전략

1) Port Scanning/ Service Enumeration

- Service Definition file

- Windows Firewall

- VM switch packet filtering 


2) Denial of Service

- Load-balanced Infrastructure

- Network bandwidth throttling


3) Spoofing

- VLANs

- Hypervisor VM Switch filter

- encrypted and mutually authenticated over an HTTPS connection


4) Eavesdropping / Packet Sniffing

- restrict which IP and MAC addresses


5) Multi-tenant hosting and side-channel attacks

- inherently untrusted by the Root OS Hypervisor


6) External Verification

- Contracted two top-tier penetration testing firms


이외의 다양한 위협과 방어에 대한 내용은 Windows Azure 보안 기술백서에서 확인 가능하며, Designing More Secure Windows Azure Services 내용을 참조하면 더욱 상세한 위협과 대응에 대한 내용을 확인 가능.


클라우드 서비스의 보안 레이어와 Windows Azure

클라우드_서비스_보안_레이어.jpg

클라우드 레이어별로 Windows Azure는 다음과 같은 방어 전략을 제공 하며, 일부 내용만 소개.


1) 데이터 레이어

Strong storage keys for access control

SSL support for data transfers between all parties


2) 어플리케이션 레이어

Front-end .Net code running under partial trust

Windows account with least privileges


3) 호스트 레이어

Stripped down version of Windows Server 2008 OS

Host boundaries enforced by external hypervisor


4) 네트워크 레이어

Host firewall limiting traffic to VMs

VLANs and packet filters in routers


5) 물리적 레이어

World-class physical security

ISO 27001 and SAS 70 Type II certifications for datacenter processes


조금 더 상세히, Windows Azure가 제공하는 레이어별 보안 관련 사항 검토는 Windows Azure 보안 기술백서의 Appendix B. Windows Azure Deployment Security Threat Matrix 내용을 참조하면 더욱 상세한 내용을 확인 가능.


Windows Azure가 제공하는 데이터 보안 및 스토리지 보안

클라우드_데이터_스토리지_보안_구조.jpg

데이터 저장 방식이나 접근, 접근 제어 정책 등을 제공하며 아래의 내용이 권고됨.

- Generate Shared Access Signatures with the most restrictive set of ACLs possible that still grant the access required by the trusted party.

- Use the shortest lifetime possible.

- Use HTTPS in the request URL so the token cannot be snooped on the wire.

- Remember that these tokens are only used for temporary access to non-public blob storage – as with passwords, it‟s a bad idea to use the same ones over and over.



클라우드_서비스_데이터_스토리지_암호화.jpg

Windows Azure 데이터 스토리지 암호화 방식도 물론 사용 가능하며, 콘텐트에 대한 암호화는 어플리케이션에서 구성 후 손쉽게 암호화 처리가 가능 - 간략히, 데이터는 모두 암호화되어 저장되며, On-premise에서 암호화된 키를 보유하고 있는 구조. 이는 SQL Azure도 마찬가지로 활용 가능.

- Microsoft recommends using 256-bit AES keys for symmetric encryption

- Developers also should not store private keys associated with SSL/TLS certificates in Windows Azure Storage. Instead, upload them through the Developer Portal and access them via thumbprint references in the Service Configuration.



Windows Azure가 제공하는 네트워크 보안

클라우드_보안_Firewall_방화벽_구성.jpg

Azure는 자체에 다양한 여러 목적의 방화벽 구조가 존재. 인프라에서 관리되기도 하며, 필요할 경우 서비스 사용자가 제어도 가능. 예를 들어, 특정 서브넷만 클라우드 특정 어플리케이션에 접근하는 시나리오를 구성.

네트워크와 관련된 보안은 대부분 인프라 보안과 연관되며, 이에 대한 Windows Azure의 인프라 보안 전략은 앞에서 이미 소개되었음.



클라우드_보안_Security_SSL_채널.jpg

Azure의 구성요소간 다른 SSL 채널을 사용하며 SSL기반 릴레이 구조. 만에 하나, 특정 SSL 인증서에 대한 블리치가 생겨도 전체 SSL이 문제가 되는 경우를 예방하는 보안 구조 제공.


클라우드_보안_Identity_인증.jpg

클라우드 서비스에 맞는 인증 방식들을 제공하며, 안전한 ACS(Access Control Service) 환경 제공. REST 방식의 웹서비스 관련 내용이니 보안 관련된 권고 사항은 한가지. 

The AC leverages the OAuth Web Resource Authorization Protocol (OAuth WRAP)

참고자료 : Windows Azure 보안 인증 - Azure Identity


클라우드 어플리케이션 개발시 권장되는 보안 프로그래밍

클라우드_어플리케이션_보안_개발.jpg

클라우드에서 서비스되는 어플리케이션의 안정성은 개발자에게 의존적. 어플리케이션 개발시 권고되는 사항들을 가이드로 제공하며, 이에 입각한 개발을 권장. 금융권이나 민감한 개인정보 데이터를 다루는 클라우드 개발자라면, 기술을 떠나 꼭 Windows Azure 보안 기술 백서의 내용들을 읽어 두시길 권장.

- Isolate web roles and separate duties of individual roles in order to maximize the use of Windows Azure Partial Trust.

- Use the “Gatekeeper” design pattern to separate role duties and isolate privileged access

- Use multiple storage keys to restrict access to privileged information where the Gatekeeper pattern does not apply.


클라우드_보안_SDL_Security_Development_Lifecycle.jpg

SDL(Security Development Lifecycle) 가이드 제공. SDL에 대한 상세한 내용은 SQLER에서 최근 포스팅했던 안전한 클라우드 어플리케이션 개발 가이드 SDL - Security Development Lifecycle 참조(미리 적어놔서 다행)

-Security Education and Awareness

- Secure Development Practices on the Windows Azure platform


Windows Azure에서 권장되는 암호화 방식 권장사항은 Windows Azure 보안 기술백서의 Appendix D: Using SDL-approved cryptography in Windows Azure Applications 에서 상세히 확인 가능


클라우드_서비스_windows_Azure_보안_요약_정리.jpg


Windows Azure가 제공하는 다양한 보안 전략에 대한 소개를 마침.


PS.

클라우드와 보안 포스팅을 진행하면서, 월드클래스 클라우드 보안 서비스를 제공하는 곳은 전세계에 두군데 정도라고 언급했으며 당연히, Windows Azure가 그 중 하나. 


PS2.

곧 있을 클라우드 비즈니스 모델 관련 포스팅을 진행 후, Windows Azure 도입 사례 관련 내용을 풀어볼 예정.  전세계의 다양한 Industry와 민감한 데이터를 다루는 금융권과 같은 비즈니스에서도 어떻게 Azure가 새로운 기회를 창출하면서 잘 사용되는지 풀어볼 예정이며 많은 도움 되시면 좋겠습니다.


참고자료 : 

클라우드 보안 무엇이 이슈인가? - 클라우드와 보안 (1/3)

인프라 보안이 플랫폼 보안과 어플리케이션 보안으로 변화 - 클라우드와 보안 (2/3)

Azure가 제공하는 클라우드 서비스 보안 인프라 - 클라우드와 보안 (3/3)

Azure가 서비스되는 데이터센터들 - 소개 영상

Windows Azure 보안에 대한 소개 영상 - Windows Azure Security Overview

Windows Azure 보안 인증 - Azure Identity

Windows Azure 보안 기술백서 다운로드 / Security Best Practices for Developing Windows Azure Applications

안전한 클라우드 어플리케이션 개발 가이드 SDL - Security Development Lifecycle

Windows Azure Platform Security Essentials 시리즈 영상 소개


Azure - 클라우드 컴퓨팅 - 시리즈 강좌 리스트 
[Azure강좌] 1. 클라우드와 원도우 애저 소개
[Azure강좌] 2. SDK 설치와 Azure 무료 신청
[Azure강좌] 3. ASP.NET(Web Role) Hello World
[Azure강좌] 4. 프로젝트 패키지 Azure 배포
[Azure강좌] 5. Windows Azure Storage 서비스와 계정 설정
[Azure강좌] 6. 테이블 서비스와 StorageClient 라이브러리 #1
[Azure강좌] 7. SQL Azure 소개와 서버 구성
[Azure강좌] 8. 데이터베이스 생성과 SSMS 사용
[Azure강좌] 9. SQL Azure 마이그레이션 위자드 사용하기
[Azure강좌] 10. SQL Azure 방화벽 설정
[Azure강좌] 11. SQL Azure Manage 툴 사용해 보기
[Azure강좌] 12. 테이블 서비스와 StorageClient 라이브러리 #2
[Azure강좌] 13. SQL Azure ASP.NET GridView 바인딩
[Azure강좌] 14. Blob 서비스와 Container
[Azure강좌] 15. Blob 리스트 조회, 업로드 다운로드 예제
[Azure강좌] 16. 웹사이트 콘텐트 Blob 스토리지 이용
[Azure강좌] 17. Windows Azure CDN 설정
[Azure강좌] 18. Queue 서비스와 생성, 삭제, 메타데이터 추가
[Azure강좌] 19. Queue 의 메시지 피킹 및 가져오기, 추가, 삭제
[Azure강좌] 20. [Tip] SQL Azure 방화벽 룰 설정 예제 애플리케이션


Azure - 클라우드 컴퓨팅 - 동영상 참고 자료

[Azure 동영상 강좌] 1. 클라우드와 원도우 애저 소개 (애저 포털 둘러보기) 
[Azure 동영상 강좌] 2. SDK 설치와 Azure 무료 신청
[Azure 동영상 강좌] 3. ASP.NET(Web Role) Hello World
[Azure 동영상 강좌] 4. 프로젝트 패키지 Azure 배포
[Azure 동영상 강좌] 5. Windows Azure Storage 서비스와 계정 설정
[Azure 동영상 강좌] 6. 테이블 서비스와 StorageClient 라이브러리 #1
[Azure 동영상 강좌] 7. SQL Azure 소개와 서버 구성
[Azure 동영상 강좌] 8. 데이터베이스 생성과 SSMS 사용
[Azure 동영상 강좌] 9. SQL Azure 마이그레이션 위자드 사용하기
[Azure 동영상 강좌] 10. SQL Azure 방화벽 설정
[Azure 동영상 강좌] 11. SQL Azure Manage 툴 사용해 보기
[Azure 동영상 강좌] 12. 테이블 서비스와 StorageClient 라이브러리 #2
[Azure 동영상 강좌] 13. SQL Azure ASP.NET GridView 바인딩
[Azure 동영상 강좌] 14. Blob 서비스와 Container
[Azure 동영상 강좌] 15. Blob 리스트 조회, 업로드 다운로드 예제
[Azure 동영상 강좌] 16. 웹사이트 콘텐트 Blob 스토리지 이용
[Azure 동영상 강좌] 17. Windows Azure CDN 설정
[Azure 동영상 강좌] 18. Queue 서비스와 생성, 삭제, 메타데이터 추가
[Azure 동영상 강좌] 19. Queue 의 메시지 피킹 및 가져오기, 추가, 삭제
[Azure 동영상 강좌] 20. [Tip] SQL Azure 방화벽 룰 설정 예제 애플리케이션






profile

부족하지만, SQLER의 누군가와 함께한 나눔을 통해 제가 더 많이 즐거웠습니다.
SQLER와 함께 즐거워 할수록, 그 나눔을 통해 더 많은 기회와 가치를 발견하게 되었습니다.
나눔의 생각이 앞으로도 계속, SQLER를 움직일 것입니다.

코난, 김대우 / SQLER 운영자 / 골라먹는 SQLER RSS 정보 구독 / 실시간 SQLER 소식 uxkorea 트위터