AWS 멀티 어카운트 NACL 차단 자동화, 운영 경험과 개선점 공유

by DD
2시간 전
조회수 2

수십 개의 AWS 계정에서 공격 IP 차단 시 발생하는 수동 작업의 비효율성 및 누락 문제를 해결하기 위해 자동화 도구 WOOWA-SOC-ACL-IR을 도입함

초기에는 단순 fan-out 구조로 구현되었으나, 운영 중 NACL과 DynamoDB 간의 상태 불일치(Drift) 문제 해결을 위해 alldelete 및 sync_check 기능 추가

분산 시스템의 특성으로 인한 NACL 생성 실패 후 DDB 기록 누락, 동시성 문제로 인한 처리 누락 등 다양한 함정을 발견하고 코드 수정 및 Reserved Concurrency 설정을 통해 개선함

개선 후 부분 실패가 정직하게 노출되고, 일시적 누락 계정에 대한 즉시 retry 로직을 추가하여 균등한 보호 수준을 확보함

멀티 어카운트 환경의 NACL 관리 복잡성

수십 개의 AWS 계정에서 공격 IP를 차단하기 위해 각 계정의 NACL에 수동으로 deny 룰을 추가하는 것은 시간 소모적이고 오류 발생 가능성이 높은 작업임.

각 계정별 VPC 및 NACL 설정이 상이하여 일관된 정책 적용 어려움

차단 IP 증가 시 수동 작업 누락으로 인한 보안 공백 발생 가능성 증대

분석가의 콘솔 직접 접근 방식은 차단까지의 시간 지연(Time to Block)을 야기함

이러한 문제를 해결하기 위해 WOOWA-SOC-ACL-IR 도구는 API Gateway, SQS, Lambda, DynamoDB를 활용하여 멀티 어카운트 NACL 차단 프로세스를 자동화함.

NACL 슬롯 관리 및 교체(Rotation) 전략

AWS NACL은 규칙 수 한도가 기본 20개이며, 최대 40개까지 증설 가능함. 본 시스템에서는 침해대응 전용 슬롯(Rules 21-50)을 확보하여 자동화 대상 NACL에 대해 한도를 40개로 증설함.

각 NACL은 인바운드와 아웃바운드용으로 분리 운영하여 슬롯 효율성 증대

30개 슬롯이 모두 차면, 가장 오래된 차단 항목(Oldest Block Entry)을 삭제하고 새 항목으로 교체(Rotation)하는 방식으로 슬롯 관리

이 방식은 슬롯 한도 초과 문제를 방지하고 지속적인 차단 정책 적용을 가능하게 함.

분산 시스템의 상태 불일치(Drift) 및 재시도 로직

운영 중 NACL과 DynamoDB 간의 상태 불일치(State Drift)가 빈번하게 발생함. 이는 NACL 생성 실패 후 DDB 기록 누락, 혹은 그 반대의 경우에 발생함.

NACL 생성 후 readback 검증 루프를 추가하여 AWS API의 일시적 일관성 지연(Eventual Consistency) 문제 대응

`exit()` 대신 `return`과 `continue`를 사용하여 단일 계정 실패가 전체 람다 실행을 중단시키지 않도록 로직 수정

`alldelete` 직후 잔여 룰 발생 시, 두 번의 삭제 시도와 재조회를 통해 안정성 확보

일시적 실패를 겪은 계정에 대해 즉시 retry 로직을 추가하여 균등한 보호 수준 회복 시도

동시성 문제(Race Condition)와 Lambda Reserved Concurrency

짧은 간격으로 들어오는 차단 요청이 여러 Lambda 인스턴스를 동시에 실행시키면서 NACL과 DDB 간의 Race Condition 발생. 이는 sync_check가 완벽해도 update 단계에서 불일치를 야기함.

Lambda Reserved Concurrency를 1로 설정하여 NACL 차단 람다의 동시 실행 차단

이를 통해 단일 람다 내에서 sync_check → update 순서 보장 및 중간 상태 관찰 방지

분당 처리량 초과 시 메시지 적체 가능성은 SQS 큐 모니터링으로 관리

운영 메시지의 정직성 확보 및 가시성 증대

패치 이전에는 부분 실패가 성공으로 위장되거나 누락되는 경우가 많았으나, 개선 후 실패 사실이 정직하게 슬랙 알림으로 노출됨.

`update_error_value` 누적 방식 수정으로 부분 실패 정보 누락 방지

`alldelete` 후 잔여 룰 발생 시, FAIL! leftover after retry 메시지로 명확히 보고

이를 통해 운영자는 시스템의 실제 상태를 정확히 인지하고 후속 조치 가능

멀티 어카운트 NACL 차단 자동화 도구 운영 및 개선 경험