- Config를 이용해서 Ec2-SecurityGroup REVOKE2024년 12월 27일
- wngnl05
- 작성자
- 2024.12.27.:59
Config 만들때 전체 보안그룹 이벤트 확인
람다에 Config가 접근할 수 있도록 권한 추가하기
aws lambda add-permission --function-name <람다 이름> --action lambda:InvokeFunction --statement-id config --principal config.amazonaws.com
Python Code
더보기import json import boto3 from datetime import datetime ec2 = boto3.resource('ec2') def lambda_handler(event, context): instance_name = "wsi-test" inbound_ports = [22, 80, 3306] outbound_ports = [22, 80, 443] instances = ec2.instances.filter(Filters=[{'Name': 'tag:Name', 'Values': [instance_name]}]) for instance in instances: instance_id = instance.id security_groups = instance.security_groups for sg in security_groups: security_group = ec2.SecurityGroup(sg['GroupId']) # 인바운드 규칙 삭제 ingress_permissions = security_group.ip_permissions for permission in ingress_permissions: if 'FromPort' in permission and permission['FromPort'] not in inbound_ports: security_group.revoke_ingress( IpPermissions=[permission] ) else: pass # 아웃바운드 규칙 삭제 egress_permissions = security_group.ip_permissions_egress for permission in egress_permissions: if 'FromPort' in permission and permission['FromPort'] not in outbound_ports: security_group.revoke_egress( IpPermissions=[permission] ) else: pass # 인바운드 규칙 추가 for port in inbound_ports: try: security_group.authorize_ingress( IpPermissions=[{'IpProtocol': 'tcp', 'FromPort': port, 'ToPort': port, 'IpRanges': [{'CidrIp': '0.0.0.0/0'}]}] ) except Exception as e: pass # 아웃바운드 규칙 추가 for port in outbound_ports: try: security_group.authorize_egress( IpPermissions=[{'IpProtocol': 'tcp', 'FromPort': port, 'ToPort': port, 'IpRanges': [{'CidrIp': '0.0.0.0/0'}]}] ) except Exception as e: pass print(f"Security group rules updated for {sg['GroupId']}")
'Aws' 카테고리의 다른 글
S3에 개체가 생성되면 SQS로 메시지 보내기 (0) 2024.12.27 ApiGateway Post 에 특정한 문자 들어있으면 오류 발생시키기 (0) 2024.12.27 Eks Nginx Ingress Controller 설치하기 (0) 2024.12.27 Codecommit 에 Dockerfile을 위치하지 않고 Docker 배포하기 (0) 2024.12.27 CloudWatch 로그 그룹에 지표 필터 사용하기 (0) 2024.12.27 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)