안녕하세요. 이쁜이와 멋쟁이의 "BTC_기범"입니다.
AWS의 매니지드 서비스들은 보안 업데이트를 진행하는 것을 강력히 권장하여
업데이트 사항이 발생될 때마다 업데이트가 예약되곤 합니다.
하지만 매니지드 서비스가 아닌 EC2는 그렇지 않은데요.
오늘은 이러한 EC2의 보안 업데이트를 자동으로 업데이트할 수 있도록 도와주는
System Manager Patch Manager에 대해 알아보고
System Manager Patch Manager 인스턴스 자동업데이트 구성을 진행해보겠습니다!
AWS Systems Manager란?
AWS 애플리케이션 및 리소스를 위한 운영 허브이자, 보안이 보장된 대규모 운영을 지원하는 하이브리드 클라우드 환경을 위한 안전한 end-to-end 관리 솔루션입니다.
Patch Manager란?
AWS Systems Manager의 기능 중 하나로 관리형 노드의 보안 관련 업데이트 및 기타 유형의 업데이트를 자동화하는 기능입니다.
실습
작업 환경
OS : Amazon linux2
AWS CLI : 2 version
사전 조건
- SSM Agent 버전 :
- 2.0.834.0 이상
- Python 버전 :
- 2.6 - 3.9 (Debian Server, Raspberry Pi OS 및 Ubuntu Server OS : 3.0 - 3.9 )
- 패치 소스에 대한 연결 :
- 관리형 노드가 인터넷에 직접 연결되어 있지 않고 VPC 엔드포인트가 있는 Amazon Virtual Private Cloud(Amazon VPC)를 사용하는 경우 노드가 소스 패치 리포지토리에 액세스 할 수 있는지 확인
- S3 엔드포인트 액세스 :
- 관리형 노드가 사설 네트워크에서 작동하는지 아니면 퍼블릭 네트워크에서 작동하는지에 관계없이 필수 AWS 관리형 Amazon Simple Storage Service(Amazon S3) 버킷에 액세스 하지 못하면 패치 작업이 실패
- 지원되는 운영 체제 :
참고 : Patch Manager 사전 조건 - AWS Systems Manager (amazon.com)
SSM Agent 설치
Amazon linux2 AMI의 경우 SSM Agent가 이미 설치되어 있는 AMI이기에 따로 설치가 필요하지 않습니다.
sudo systemctl status amazon-ssm-agent
참고 : Amazon Machine Images(AMIs), SSM Agent 사전 설치 - AWS Systems Manager
다른 OS의 경우 참고자료 참고하여 진행
참고 : Linux용 EC2 인스턴스에 수동으로 SSM Agent 설치 - AWS Systems Manager (amazon.com)
Python 설치
wget <https://www.python.org/ftp/python/3.8.16/Python-3.8.16.tar.xz>
sudo tar -xf Python-3.8.16.tar.xz
S3 버킷 생성
S3 버킷을 생성합니다.
패치 작업 방법
- Quick Setup에 구성된 패치 정책
- 단일 설정 : 유지 관리 기간 또는 State Manager 연결을 사용하여 패치 작업을 설정하려면 Systems Manager 콘솔의 여러 부분에서 여러 태스크를 수행해야 할 수 있습니다. 패치 정책을 사용하면 모든 패치 작업을 단일 마법사에서 설정할 수 있습니다.
- 다중 계정/다중 리전 지원 : Patch Manager에서 유지 관리 기간, State Manager 연결 또는 Patch now(지금 패치) 기능을 사용하면 단일 AWS 계정-AWS 리전 쌍의 관리형 노드에 대해서만 작업을 수행할 수 있습니다. 따라서 여러 계정과 여러 리전을 사용하는 경우, 각 계정-리전 쌍에서 설정 작업을 수행해야 하므로 설정 및 유지 관리 작업에 시간이 많이 소요될 수 있습니다. 반면, AWS Organizations를 사용하면 모든 AWS 리전에서 모든 AWS 계정의 모든 관리형 노드에 적용되는 단일 패치 정책을 설정할 수 있습니다. 또는 원하는 경우 계정 및 리전에서 선택한 일부 조직 단위(OU)에만 패치 정책을 적용할 수도 있습니다. 원하는 경우 패치 정책을 단일 로컬 계정에도 적용할 수 있습니다.
- 조직 차원의 설치 지원 : Quick Setup의 기존 호스트 관리 구성 옵션은 관리형 노드의 패치 규정 준수를 매일 검사할 수 있도록 지원합니다. 하지만 이 검사는 미리 정해진 시간에 수행되며, 패치 규정 준수 정보만 제공합니다. 패치 설치 작업은 수행되지 않습니다. 패치 정책을 사용하면 검사와 설치의 일정을 서로 다르게 지정할 수 있습니다. 사용자 지정 CRON 또는 Rate 표현식을 사용하여 이들 작업의 빈도와 시간을 선택할 수도 있습니다. 예를 들어 매일 누락된 패치를 검사하여 정기적으로 업데이트되는 규정 준수 정보를 제공할 수 있습니다. 하지만 원치 않는 가동 중단을 방지하기 위해, 설치 일정을 일주일에 한 번으로 정할 수도 있습니다.
- 간소화된 패치 기준선 선택 : 패치 정책에도 패치 기준선이 포함되어 있으며, 패치 기준선이 구성되는 방식에는 변화가 없습니다. 단, 패치 정책을 생성하거나 업데이트할 때, 각 운영 체제(OS) 유형에 사용할 AWS 관리형 기준선 또는 사용자 지정 기준선을 단일 목록에서 선택할 수 있습니다. 태스크마다 각 OS 유형에 대한 기본 기준선을 지정할 필요는 없습니다.
주의
패치 정책의 경우 지원되는 AWS 리전이 한정되어 있어 확인이 필요합니다!!
- Quick Setup에 구성된 호스트 관리 옵션
- 패치 Scan 또는 Install 태스크를 실행하기 위한 유지 관리 기간
- Patch Manager의 온디맨드 ‘Patch now(지금 패치)’ 작업
패치 정책을 사용하여 패치 작업 설정
1. 패치작업 설정을 통해 패치가 필요에 대해 ‘알림을 받기’만 할지 ‘알림 받기와 패치 진행’을 함께 할지 설정합니다.
2. 검사일정 설정으로 검사 진행할 시간 설정
3. 설치일정 설정으로 발견된 필요 패치를 진행할 시간 설정
4. 재부팅을 허락할지 말지에 대해 설정
패치가 실행되었을 때 발생되는 로그를 담을 S3를 선택할 수 있습니다.
선택하지 않을 경우, 발생되는 로그를 확인하기 위해서는 패치가 진행된 EC2로 접속하여 로그를 확인해야 합니다.
패치 정책을 적용한 대상을 설정합니다.
1. 대상의 리전을 선택합니다. 현재 리전 또는 다른 리전을 선택할 수 있습니다.
1-1. 현재 리전의 대상을 선택하는 경우 인스턴스를 타겟팅하는 방법,
- ALL
-특정 리소스 그룹
참고 : Resource Groups Management Console (amazon.com)
-태그를 이용한 지정
-특정 인스턴스를 수동으로 지정( 다수 지정 가능 )
1-2. 다른 리전의 대상을 선택하는 경우 인스턴스를 타겟팅하는 방법,
-ALL
-태그를 이용한 지정
2. 동시성 설정
설정된 대상 중 어느 정도의 대상이 동시에 패치를 실행할지 설정합니다.
‘노드 수’와 ‘노드 백분율’로 설정가능합니다.
3. 오류 임계값
대상의 패치를 진행할 때 오류를 허락하는 정도를 설정합니다.
‘노드 수’와 ‘노드 백분율’로 설정가능합니다.
대상으로 지정된 인스턴스들에 패치를 적용하기 위해 필요한 IAM 정책을 추가합니다.
설정 완료!!
추가 정보
다른 AWS 서비스와 통합
패치 매니저는 다음과 같은 AWS 서비스와 통합하여 사용할 수 있습니다.
- AWS Identity and Access Management(IAM) :
IAM을 사용하여 Patch Manager 작업에 액세스 할 수 있는 사용자, 그룹 및 역할을 제어할 수 있습니다. 자세한 내용은 AWS Systems Manager에서 IAM을 사용하는 방식 및 Systems Manager에 대한 인스턴스 권한 구성을 참조하세요. - AWS CloudTrail :
사용자 CloudTrail , 역할 또는 그룹에 의해 시작된 패치 작업 이벤트의 감사 가능한 기록을 기록하는 데 사용됩니다. 자세한 정보는 AWS CloudTrail을 사용하여 AWS Systems Manager API 호출 로깅을 참조하세요. - AWS Security Hub :
Patch Manager에서 패치 규정 준수 데이터를 AWS Security Hub로 보낼 수 있습니다. Security Hub에서는 우선순위가 높은 보안 알림 및 규정 준수 상태를 포괄적으로 파악할 수 있습니다. 또한 플릿의 패치 상태를 모니터링합니다. 자세한 정보는 Patch Manager와 AWS Security Hub 통합을 참조하세요. - AWS Config :
Patch Manager 대시보드에서 Amazon EC2 인스턴스 관리 데이터를 볼 수 있도록 AWS Config에서 기록을 설정합니다. 자세한 정보는 패치 대시보드 요약 보기(콘솔) 단원을 참조하세요.
요금
오늘은 System Manager Patch Manager을 통한 인스턴스 자동업데이트 구성 대해 알아보았습니다.
여러분들의 서비스에 이 기능을 통해 더 완벽한 보완을 구성하는데 도움이 되기를 기원하면서 글을 마치도록 하겠습니다.
이상 이쁜이와 멋쟁이의 "BTC_기범"이었습니다.
다음에 또 봬요~~~!!
'CSP (Cloud Service Provider) > AWS' 카테고리의 다른 글
[AWS] KMS의 활용 (2) | 2023.05.20 |
---|---|
S3 로그를 Lambda를 통해 CLoud watch로 전송 (0) | 2023.05.19 |
[AWS] DataSync (0) | 2023.05.19 |
CloudWatch 모니터링 및 알람 (0) | 2023.05.19 |
[AWS] DataPipeline (0) | 2023.05.12 |
댓글