헬스체크 차단 해제
목차
/health 엔드포인트 BotBlockFilter 차단 해제 (Docker 헬스체크 실패 수정)
2026-04-02에 서버 보안 필터 관련 작업을 진행했음.
운영 서버에 붙어있는 보안 필터는 크게 세 가지를 처리함: IP 기반 Rate Limit, 봇/공격 패턴 감지, 블랙리스트 자동 등록. 이번 작업에서 임계값 조정이나 예외 경로 추가를 했음.
처리 흐름
요청 수신
→ 화이트리스트 IP 확인
→ 봇 UA / 의심 경로 감지
→ Rate Limit 체크 (Redis 슬라이딩 윈도우)
→ 차단 / 블랙리스트 등록 / 통과
| 항목 | 기존 | 변경 후 |
|---|---|---|
| Rate Limit 임계값 | 완화 상태 | 강화 (1분 기준 하향) |
| 공격 패턴 감지 | 기본 | 의심 경로 + 페이로드 확장 |
| 블랙리스트 | 수동 | DB 자동 등록 |
예외 경로 처리가 중요함. 헬스체크 엔드포인트나 모니터링 수집 경로가 필터에 막히면 운영에 영향이 생기기 때문에, 해당 경로들은 필터를 스킵하도록 명시적으로 제외함.
AJAX 요청은 Rate Limit 카운트에서 제외하는 옵션도 추가했음. 페이지 로드 시 AJAX 요청이 많이 나가는 구조라 동일 기준 적용하면 정상 사용자도 막힐 수 있어서임.
끝
작업 규모는 크지 않았지만 운영 안정성을 위한 필요한 변경이었음. 이런 작은 수정들이 쌓여서 전체 시스템의 신뢰도를 높임.
운영 관점에서 본 Rate Limit
Rate Limit을 설정할 때 단순히 "얼마나 많이 막을 것인가"보다 중요한 건 "정상 사용자를 막지 않으면서 공격을 차단하는가"임. 너무 타이트하게 잡으면 정상 사용자가 피해를 보고, 너무 느슨하면 의미가 없음.
Redis의 슬라이딩 윈도우 방식은 고정 윈도우 대비 경계 구간 버스팅 공격에 강함. 단, Redis가 단일 장애점이 되지 않도록 연결 풀과 타임아웃 설정을 같이 챙겨야 함.
다음
댓글 0
첫 댓글 달아줘.