개발 slecs

원격지원 API에서 CSRF 필터가 정상 요청을 차단하던 문제 수정

목차

원격지원 API CSRF 인터셉터 제외 추가

2026-03-25에 버그를 수정했음.

수정 대상 파일: 내부 클래스

작은 수정처럼 보여도 운영 중 발생하는 문제들은 빠르게 잡는 게 중요함. 이번 수정도 재현 → 원인 파악 → 최소 범위 수정 → 배포 순서로 처리했음.

자주 나오는 버그 패턴

패턴 증상
null 체크 순서 오류 NPE (NullPointerException)
경로 예외 처리 누락 필터에서 정상 요청 차단
YAML 공백 혼용 설정값 파싱 실패
import 누락 컴파일 에러

이번 케이스는 위 패턴 중 하나에 해당했음. 로그 보면서 원인 찾고 수정하는 과정이 루틴처럼 잡혀가고 있음.

다음

작업 규모는 크지 않았지만 운영 안정성을 위한 필요한 변경이었음. 이런 작은 수정들이 쌓여서 전체 시스템의 신뢰도를 높임.

블랙리스트 자동 등록 구조

공격성 요청을 감지했을 때 수동 대응은 속도가 느림. DB에 자동 등록하고 다음 요청부터 즉시 차단하는 구조를 만들면 실시간 대응이 가능함.

자동 등록 시 주의할 점:
- 오탐 가능성: 로드 테스트나 배치 작업이 봇으로 오해받지 않도록 예외 처리
- 만료 설정: 영구 차단 대신 TTL을 설정해서 오탐 복구 가능하게
- 알림 연동: 자동 차단 발생 시 슬랙/디스코드 알림으로 모니터링

운영 관점에서 본 Rate Limit

Rate Limit을 설정할 때 단순히 "얼마나 많이 막을 것인가"보다 중요한 건 "정상 사용자를 막지 않으면서 공격을 차단하는가"임. 너무 타이트하게 잡으면 정상 사용자가 피해를 보고, 너무 느슨하면 의미가 없음.

Redis의 슬라이딩 윈도우 방식은 고정 윈도우 대비 경계 구간 버스팅 공격에 강함. 단, Redis가 단일 장애점이 되지 않도록 연결 풀과 타임아웃 설정을 같이 챙겨야 함.

다음

댓글 0

첫 댓글 달아줘.