OWASP Core Rule Set
CRS · OWASP Core Rule Set · OWASP 코어 룰셋
는 웹 방화벽 엔진에서 사용할 수 있도록 공통 웹 공격 탐지 규칙을 모은 프로젝트다. 이상 점수 방식에서는 개별 규칙 일치와 누적 점수에 따른 최종 차단 결정을 구분한다.
밑줄 용어에 마우스를 올리거나, 키보드로 선택하거나, 터치하면 설명을 볼 수 있습니다.
01무엇이고, 어떤 일을 하나
- HTTP 공격·프로토콜 이상 조건을 규칙으로 제공한다.
- 여러 일치의 점수를 합쳐 차단 임계값과 비교한다.
- 서비스의 정상 입력에 맞춰 정밀한 예외와 탐지 수준을 관리한다.
02어떤 순서로 동작하나
- 개별 탐지
여러 규칙이 한 요청에서 서로 다른 신호를 발견할 수 있다. Anomaly scoring에서는 각 탐지의 점수를 누적한 뒤 차단 임계값과 비교한다.
- 심각도 가중치
의 기본 심각도 점수는 CRITICAL 5·ERROR 4·WARNING 3·NOTICE 2다. 실제 배포의 변수 값과 임계값은 별도로 확인한다.
- 검사 수준
은 실행할 규칙 집합과 관련된다. 높은 수준은 더 많은 신호와 오탐 가능성을 만들므로 임계값 숫자와 같은 개념이 아니다.
- 평가 경계
요청 헤더·본문의 처리 단계와 최종 점수 판정 시점을 구분한다. 한 규칙의 매칭 로그가 바로 실제 차단을 뜻하지는 않는다.
- 탐지 전용
DetectionOnly에서는 탐지·기록과 실제 차단 효과를 분리해 읽는다. 높은 점수 기록만 보고 사용자의 요청이 차단됐다고 단정하지 않는다.
03먼저 알아둘 용어와 구성요소
- 여러 규칙 일치의 심각도 가중치를 누적한 점수.
- 누적 점수를 차단 조건과 비교하는 기준.
- 활성화되는 추가 검사 범위와 민감도에 관련된 수준.
- 특정 규칙·변수·경로에 한정해 동작을 조정하는 예외.
04예제로 따라가기
- 조건 고정: 교육용 정책의 요청 차단 임계값을 7로 둔다. 이는 제품 기본값을 주장하는 예제가 아니다.
- 첫 신호: 규칙 A가 CRITICAL 점수 5를 더해 누적값이 5가 된다. 이 점수만으로는 설정한 임계값 7에 도달하지 않는다.
- 두 번째 신호: 규칙 B가 WARNING 점수 3을 더하면 누적값은 8이다. 각 규칙이 독립적으로 본 신호와 누적값을 구분한다.
- 차단 판정: 차단을 적용하는 모드에서 최종 평가가 8≥7을 확인하면 해당 정책에 따라 거부한다. 로그의 규칙 ID·phase·누적값을 연결한다.
- 모드 비교: 같은 입력을 DetectionOnly로 처리하면 탐지 기록이 남아도 차단 액션은 적용되지 않는다. 응답·백엔드 도달 여부를 함께 관찰한다.
05혼동하기 쉬운 점과 확인 기준
- 점수 5와 3이 누적되어 기준을 넘는 사례를 모든 배포의 고정 기본값으로 외우지 않는다. 임계값·레벨·실행 모드를 함께 기록한다.
- 정상 요청의 오탐을 해결할 때 전역 임계값만 높이면 관련 없는 다른 위협의 탐지도 약해질 수 있다.
06상세 노트 · 실습 자료
헤더 구조, 설정 예시, 수치 계산과 수업 캡처는 아래 노트에서 이어집니다.
함께 보는 학습 자료
아래 공식 자료를 본문의 개념·예제와 함께 읽어 보세요. 자료별로 확인할 위치와 관찰할 내용을 적었습니다.
OWASP CRS: 이상 점수와 차단 판정 흐름
개별 규칙의 severity 점수가 누적되어 요청·응답 차단 임계값에 도달하는 과정을 예제로 따라갈 수 있다.
- CRITICAL·ERROR·WARNING·NOTICE의 기본 점수
- 요청과 응답의 별도 누적 임계값
- 일반 평가 단계와 선택적인 Early Blocking
공식 문서 · 표준
기초 개념과 동작 설명을 대조한 자료입니다. 제품 버전과 실제 설정에 따른 차이는 본문 및 원문에서 확인하세요.