Windows 인스턴스 보안 모범 사례
Windows 인스턴스 보안 모범 사례
Windows 인스턴스에 대해 다음 보안 모범 사례를 따르는 것을 권장합니다.
출처: 문서
높은 수준의 보안 모범 사례
Windows 인스턴스에 대해 다음 높은 수준의 보안 모범 사례를 준수해야 합니다.
- 최소 접근(Least access) — 신뢰되고 예상되는 시스템과 위치에만 접근 권한을 부여합니다. 이는 Active Directory, Microsoft 비즈니스 생산성 서버, 원격 데스크톱 서비스, 역방향 프록시 서버, IIS 웹 서버 같은 인프라 서비스 등 모든 Microsoft 제품에 적용됩니다. Amazon EC2 인스턴스 보안 그룹, 네트워크 액세스 제어 목록(ACL), Amazon VPC 공개/비공개 서브넷 같은 AWS 기능을 사용해 아키텍처의 여러 위치에 걸쳐 보안을 계층화하세요. Windows 인스턴스 내에서는 Windows 방화벽을 사용해 배포 내에서 심층 방어(defense-in-depth) 전략을 추가로 계층화할 수 있어요. 시스템이 설계된 대로 작동하는 데 필요한 OS 구성 요소와 애플리케이션만 설치합니다. IIS 같은 인프라 서비스를 서비스 계정으로 실행하도록 구성하거나, 애플리케이션 풀 ID 같은 기능을 사용해 인프라 전반에서 로컬 및 원격으로 리소스에 접근하도록 구성하세요.
- 최소 권한(Least privilege) — 인스턴스와 계정이 기능을 수행하는 데 필요한 최소 권한 집합을 결정합니다. 서버와 사용자를 이렇게 정의된 권한만 허용하도록 제한하세요. 역할 기반 액세스 제어(RBAC) 같은 기법을 사용해 관리 계정의 표면적을 줄이고, 작업을 완료하기 위한 가장 제한적인 역할을 만들니다. NTFS 내의 EFS(Encrypting File System) 같은 OS 기능을 사용해 저장 중인 민감한 데이터를 암호화하고, 애플리케이션과 사용자의 접근을 제어합니다.
- 구성 관리(Configuration management) — 최신 보안 패치와 바이러스·악성코드 백신, 침입 탐지/차단, 파일 무결성 모니터링을 포함한 호스트 기반 보호 제품군을 통합한 기준 서버 구성을 만듭니다. 각 서버를 현재 기록된 기준과 평가해 편차를 식별하고 표시합니다. 각 서버가 적절한 로그와 감사 데이터를 생성하고 안전하게 저장하도록 구성합니다.
- 변경 관리(Change management) — 서버 구성 기준에 대한 변경을 제어하고 완전히 자동화된 변경 프로세스를 지향하는 프로세스를 만듭니다. 또한 Windows PowerShell DSC와 함께 JEA(Just Enough Administration)를 활용해 관리 접근을 최소 필수 기능으로 제한합니다.
- 패치 관리(Patch management) — EC2 인스턴스의 운영 체제와 애플리케이션을 정기적으로 패치, 업데이트, 보호하는 프로세스를 구현합니다.
- 감사 로그(Audit logs) — Amazon EC2 인스턴스에 대한 접근과 모든 변경을 감사해 서버 무결성을 검증하고 승인된 변경만 이루어지도록 합니다. IIS용 향상된 로깅(Enhanced Logging) 같은 기능을 활용해 기본 로깅 기능을 강화하세요. VPC Flow Logs와 AWS CloudTrail 같은 AWS 기능도 네트워크 접근(허용/거부 요청)과 API 호출을 각각 감사하는 데 사용할 수 있어요.
업데이트 관리
Amazon EC2에서 Windows Server를 실행할 때 최상의 결과를 얻으려면 다음 모범 사례를 구현하는 것을 권장합니다.
- Windows Update 구성
- 드라이버 업데이트
- 최신 Windows AMI 사용
- 마이그레이션 전 성능 테스트
- 시작 에이전트 업데이트
업데이트를 설치한 뒤에는 Windows 인스턴스를 재부팅하세요. Windows 인스턴스를 최신 버전의 Windows Server로 업그레이드하거나 마이그레이션하는 방법은 "EC2 Windows 인스턴스를 최신 버전의 Windows Server로 업그레이드" 문서를 참조하세요.
Windows Update 구성 — AWS Windows Server AMI에서 시작된 인스턴스는 기본적으로 Windows Update를 통해 업데이트를 받지 않습니다.
Windows 드라이버 업데이트 — 모든 Windows EC2 인스턴스에서 최신 드라이버를 유지해 최신 문제 수정과 성능 향상이 전체 플릿에 적용되도록 하세요. 인스턴스 유형에 따라 AWS PV, Amazon ENA, AWS NVMe 드라이버를 업데이트해야 합니다.
- 새 드라이버 릴리스에 대한 업데이트를 받으려면 SNS 주제를 사용하세요.
- AWS Systems Manager Automation runbook인
AWSSupport-UpgradeWindowsAWSDrivers를 사용해 인스턴스 전반에 업데이트를 쉽게 적용하세요.
최신 Windows AMI로 인스턴스 시작 — AWS는 매월 새 Windows AMI를 릴리스하며, 여기에는 최신 OS 패치, 드라이버, 시작 에이전트가 포함됩니다. 새 인스턴스를 시작하거나 사용자 지정 이미지를 만들 때는 최신 AMI를 활용해야 합니다.
- 각 AWS Windows AMI 릴리스의 업데이트를 보려면 "AWS Windows AMI version history"를 참조하세요.
- 최신 AMI로 빌드하려면 "Systems Manager Parameter Store를 사용해 최신 Windows AMI 쿼리"를 참조하세요.
- 데이터베이스 및 규정 준수 강화 사용 사례를 위해 사용할 수 있는 특수 Windows AMI에 대한 자세한 내용은 AWS Windows AMI Reference의 "Specialized Windows AMIs"를 참조하세요.
마이그레이션 전 시스템/애플리케이션 성능 테스트 — 엔터프라이즈 애플리케이션을 AWS로 마이그레이션하는 것은 많은 변수와 구성을 포함할 수 있어요. 다음을 확인하기 위해 EC2 솔루션을 항상 성능 테스트하세요.
- 인스턴스 유형이 인스턴스 크기, 고급 네트워킹, 테넌시(공유 또는 전용)를 포함해 제대로 구성되었는지
- 인스턴스 토폴로지가 워크로드에 적합하고 필요한 경우 전용 테넌시, 배치 그룹, 인스턴스 스토어 볼륨, 베어 메탈 같은 고성능 기능을 활용하는지
최신 버전의 EC2Launch v2 설치 — 최신 EC2Launch v2 에이전트를 설치해 최신 개선 사항이 전체 플릿에 적용되도록 하세요. 혼합 플릿이 있거나 EC2Launch(Windows Server 2016, 2019) 또는 EC2 Config(레거시 OS 전용) 에이전트를 계속 사용하려면 각각의 최신 버전으로 업데이트하세요.
자동 업데이트는 다음 Windows Server 버전과 시작 에이전트 조합에서 지원됩니다. SSM Quick Setup Host Management 콘솔의 Amazon EC2 Launch Agents에서 자동 업데이트를 선택할 수 있어요.
| Windows 버전 | EC2Launch v1 | EC2Launch v2 |
|---|---|---|
| 2016 | ✓ | ✓ |
| 2019 | ✓ | ✓ |
| 2022 | ✓ |
구성 관리
Amazon Machine Image(AMI)는 Windows OS와 애플리케이션, 보안 제어 같은 선택적 고객 지정 사용자 지정을 포함하는 Amazon EC2 인스턴스의 초기 구성을 제공해요. 모든 Windows 인스턴스가 표준 보안 제어로 시작되도록, 맞춤형 보안 구성 기준을 포함하는 AMI 카탈로그를 만드세요. 보안 기준은 AMI에 통합하거나, EC2 인스턴스 시작 시 동적으로 부트스트랩하거나, AWS Service Catalog 포트폴리오를 통해 균일하게 배포할 수 있는 제품으로 패키징할 수 있습니다. AMI 보안에 대한 자세한 내용은 "Best Practices for Building an AMI"를 참조하세요.
각 Amazon EC2 인스턴스는 조직의 보안 표준을 준수해야 합니다. 필요하지 않은 Windows 역할과 기능은 설치하지 말고, 악성 코드(바이러스, 악성코드, 악용 완화)를 보호하고 호스트 무결성을 모니터링하며 침입 탐지를 수행하는 소프트웨어를 설치하세요. 보안 소프트웨어를 구성해 OS 보안 설정을 모니터링·유지하고, 중요 OS 파일의 무결성을 보호하며, 보안 기준과의 편차를 알리도록 합니다. Microsoft, CIS(Center for Internet Security), 또는 NIST(National Institute of Standards and Technology)가 게시한 권장 보안 구성 벤치마크 구현을 고려하세요. SQL Server용 Best Practice Analyzer 같은 특정 애플리케이션 서버용 Microsoft 도구 사용도 고려해 보세요.
AWS 고객은 Amazon Inspector 평가를 실행해 Amazon EC2 인스턴스에 배포된 애플리케이션의 보안과 규정 준수를 개선할 수도 있어요. Amazon Inspector는 애플리케이션의 취약점이나 모범 사례 이탈을 자동으로 평가하며, 일반적인 보안 규정 준수 표준(예: PCI DSS)과 취약점 정의에 매핑된 수백 개의 규칙 지식 기반을 포함합니다. 내장 규칙의 예로는 원격 루트 로그인이 활성화되어 있는지, 또는 취약한 소프트웨어 버전이 설치되어 있는지 확인하는 것이 있습니다. 이러한 규칙은 AWS 보안 연구원이 정기적으로 업데이트합니다.
Windows 인스턴스를 보호할 때는 분산 위치를 위한 확장 가능하고 안전하며 관리 가능한 인프라를 지원하도록 Active Directory 도메인 서비스를 구현하는 것을 권장합니다. 또한 Amazon EC2 콘솔 또는 AWS CloudFormation 같은 Amazon EC2 프로비저닝 도구로 인스턴스를 시작한 뒤에는 구성 드리프트가 발생할 경우 구성 상태를 유지하기 위해 Microsoft Windows PowerShell DSC 같은 기본 OS 기능을 사용하는 것이 좋은 관행입니다.
변경 관리
시작 시 Amazon EC2 인스턴스에 초기 보안 기준을 적용한 뒤에는 가상 머신의 보안을 유지하기 위해 진행 중인 Amazon EC2 변경을 제어하세요. 보안 그룹, 라우팅 테이블, 네트워크 ACL 같은 AWS 리소스 변경과 OS 및 애플리케이션 구성(Windows 또는 애플리케이션 패치, 소프트웨어 업그레이드, 구성 파일 업데이트) 변경을 승인하고 통합하는 변경 관리 프로세스를 수립합니다.
AWS는 AWS CloudTrail, AWS Config, CloudFormation, AWS Elastic Beanstalk, Systems Center Operations Manager 및 System Center Virtual Machine Manager용 관리 팩을 포함해 AWS 리소스 변경을 관리하는 데 도움이 되는 여러 도구를 제공합니다. Microsoft는 매월 둘째 화요일(또는 필요에 따라) Windows 패치를 릴리스하고, AWS는 Microsoft가 패치를 릴리스한 후 5일 이내에 AWS가 관리하는 모든 Windows AMI를 업데이트합니다. 따라서 모든 기준 AMI를 지속적으로 패치하고, CloudFormation 템플릿과 Auto Scaling 그룹 구성을 최신 AMI ID로 업데이트하며, 실행 중인 인스턴스 패치 관리를 자동화하는 도구를 구현하는 것이 중요합니다.
Microsoft는 Windows OS 및 애플리케이션 변경을 관리하는 여러 옵션을 제공합니다. 예를 들어 SCCM은 환경 수정의 전체 수명 주기 적용 범위를 제공합니다. 비즈니스 요구 사항을 해결하고 변경이 애플리케이션 SLA, 용량, 보안, 재해 복구 절차에 미치는 영향을 제어하는 도구를 선택하세요. 수동 변경을 피하고 대신 자동화된 구성 관리 소프트웨어나 EC2 Run Command 또는 Windows PowerShell 같은 명령줄 도구를 활용해 스크립트화되고 반복 가능한 변경 프로세스를 구현합니다. 이 요구 사항을 지원하기 위해 Windows 인스턴스와의 모든 상호 작용에 향상된 로깅이 있는 배스천 호스트(bastion host)를 사용해 모든 이벤트와 작업이 자동으로 기록되도록 하세요.
Amazon EC2 Windows 인스턴스 감사 및 책임
AWS CloudTrail, AWS Config, AWS Config Rules는 AWS 리소스 변경을 감사하기 위한 감사 및 변경 추적 기능을 제공해요. Windows 이벤트 로그를 구성해 로컬 로그 파일을 중앙 집중식 로그 관리 시스템으로 보내 보안 및 운영 동작 분석을 위한 로그 데이터를 보존합니다. Microsoft System Center Operations Manager(SCOM)는 Windows 인스턴스에 배포된 Microsoft 애플리케이션에 대한 정보를 집계하고 애플리케이션 역할과 서비스에 따라 사전 구성되고 사용자 지정된 규칙 집합을 적용합니다. System Center Management Packs는 SCOM을 기반으로 애플리케이션별 모니터링 및 구성 지침을 제공합니다. 이러한 관리 팩은 Windows Server Active Directory, SharePoint Server 2013, Exchange Server 2013, Lync Server 2013, SQL Server 2014 등 다양한 서버와 기술을 지원합니다.
Microsoft 시스템 관리 도구 외에도 고객은 Amazon CloudWatch를 사용해 인스턴스 CPU 사용률, 디스크 성능, 네트워크 I/O를 모니터링하고 호스트 및 인스턴스 상태 검사를 수행할 수 있어요. EC2Config, EC2Launch, EC2Launch v2 시작 에이전트는 Windows 인스턴스에 대한 추가 고급 기능에 접근할 수 있게 해줍니다. 예를 들어 Windows 시스템, 보안, 애플리케이션, IIS(Internet Information Services) 로그를 CloudWatch Logs로 내보낼 수 있으며, 이를 Amazon CloudWatch 지표 및 경보와 통합할 수 있습니다. 고객은 Windows 성능 카운터를 Amazon CloudWatch 사용자 지정 지표로 내보내는 스크립트도 만들 수 있어요.