
데브옵스
WAF 자동 차단 에이전트 개발기 - 공격자가 차단 대상을 고를 수 있었던 이유
두줄요약
보안관제 티켓을 읽어 WAF 차단을 자동화한 개발기를 정리했습니다. 속도보다 오차단 방지와 fail-safe 구조를 우선해 장애 없이 운영한 사례입니다.
문제 상황
- 보안관제 티켓을 기반으로 공격자 IP를 WAF에 자동 차단하는 반복 작업의 자동화 필요
- 오차단 시 서비스 장애로 이어져 속도보다 안전성이 더 중요한 업무 특성
원인 분석
- 티켓 본문에 공격자가 통제할 수 있는 문자열이 섞여 있어 파싱 방식이 주입 공격에 취약
- JIRA 필드 위치, 검색 조건, WAF 스코프, 연동 자동화 경로에 대한 초기 가정이 실제와 불일치
- 문서에만 존재하는 allowlist, 오타에 취약한 설정 파싱 같은 느슨한 안전장치
해결 방법
- 본문 파싱을 버리고 구조화된 커스텀 필드에서 IP를 직접 읽는 방식으로 전환
- allowlist, dry_run, 입력 검증을 코드로 강제하고 실패 시 사람에게 넘기는 fail-safe 설계 적용
- JQL, IP set 교집합 판정, GitLab-JIRA 연동 차단 등 운영 경로 전반에 방어 장치 추가
성능/운영 포인트
- 잘못 차단하지 않는 구조를 우선해 새벽 공격도 즉시 차단하면서 장애 0건 유지
- 검증 명령을 CLI로 분리해 설정, 권한, 대상 IP set을 단계별로 확인 가능하게 구성
- 실패가 나면 무조건 무동작으로 수렴하도록 설계해 실제 운영 데이터로 안전하게 학습


