예전에 작성해 둔 글이 있어 포스팅합니다.
AWS 에서 Network ACL 혹은 Security Group 에 의하여 차단된 IP 를 검색한 후 지정된 임계치 이상 차단이 계속된 IP 가 있는 경우 Email 을 통하여 알람을 받기 위한 설정은 다음과 같습니다.
1. CloudWatch Log Group 생성
CloudWatch 메뉴에서 Logs 항목을 선택한 후 “Actions” 버튼을 클릭하여 VPC Flow Log 를 수신할 CloudWatch Log Group 을 생성합니다.
Log Group 의 이름을 입력하고 “Create Log Group” 버튼을 클릭합니다.
2. VPC Flow Log 활성화
: Network ACL 이나 Security Group 에 의하여 차단된 IP 정보를 로깅하기 위하여 VPC Flow Log 를 활성홥니다.
VPC Flow Log 를 활성화하려고하는 VPC 를 선택한 후 화면 하단의 “Flow Logs” 탭을 선택합니다.
“Create Flow log” 버튼을 클릭한 후 아래와 같이 각 항목을 선택한 후 “Create” 버튼을 클릭합니다.
- Filter : 차단된 IP 만을 로깅할 목적이므로 “Reject” 를 선택합니다.
- Destination : 이전 단계에서 생성한 CloudWatch Log Group 으로 전달해야하므로 “Send to CloudWatch Logs” 를 선택합니다.
- Destination log group : 이전 단계에서 생성한 CloudWatch Log Group 을 선택합니다.
- IAM Role : CloudWatch Log Group 으로 Flow Log 를 전달하기 위한 Role 을 선택합니다. 적당한 Role 이 없는 경우 “Set Up Permissions” 링크를 클릭하여 새로운 Role 을 생성합니다.
다음과 같이 정상적으로 VPC Flow Log 가 활성화된 것을 확인합니다.
CloudWatch Logs 로 이동하여 이전 단계에서 생성한 Log Group 으로 Flow Log 가 수신되는지 확인합니다.
- 각 Log Stream 은 사용중인 ENI 별로 수집됩니다.
생성한 CloudWatch Log Group 을 선택한 후 Metric Filter 생성을 위하여 “Create Metric Filter” 버튼을 클릭합니다.
Filter Pattern 에 아래의 값을 입력한 후 “Assign Metric” 버튼을 클릭합니다.
[version, account, eni, source, destination, srcport, destport, protocol, packets > 5, bytes, windowstart, windowend, action="REJECT", flowlogstatus]
“Create Metric Filter and Assign a Metric” 화면에서 아래와 같이 Filter Name 과 기타 항목에 대한 값을 입력한 후 “Create Filter” 버튼을 클릭합니다.
생성된 Metric Filter 에서 알람 생성을 위하여 “Create Alarm” 링크를 클릭합니다.
Alarm 생성을 위하여 아래와 같이 Alarm Details 의 각 항목의 값을 입력합니다.
- SNS Topic 의 경우 기존의 설정을 사용하거나 VPC Flow Log 를 위한 Topic 을 생성하여 Email 수신을 원하는 경우 사용할 이름을 아래와 같이 입력한 후 “Email List” 에 수신자의 Email 을 입력합니다.
설정된 Email 에 수신된 구독 확인 메일의 “Confirm Subscription” 링크를 클릭하여 구독을 확인합니다.
View Alarm 버튼을 클릭합니다.
정상 동작 확인
Alarm 동작 확인을 위하여 차단되는 IP 를 이용하여 EC2 Instance 에 접속을 여러번 시도한 후 아래와 같이 Alarm Email 이 수신되는 것을 확인합니다.
감사합니다.