다음을 통해 공유


Web Application Firewall DRS 규칙 그룹 및 규칙

Azure Front Door의 Azure Web Application Firewall은 일반적인 취약성과 익스플로잇으로부터 웹 애플리케이션을 보호합니다. Azure 관리형 규칙 세트는 일반적인 보안 위협에 대한 보호를 쉽게 배포할 수 있는 방법을 제공합니다. Azure에서 이러한 규칙 집합을 관리하므로 규칙이 새로운 공격 서명으로부터 보호가 필요할 때 업데이트됩니다.

DRS(기본 규칙 집합)에는 범위 확대, 특정 취약성에 대한 패치, 가양성 감소율 개선을 제공하기 위해 Microsoft Intelligence 팀과 협력하여 작성된 Microsoft 위협 인텔리전스 컬렉션 규칙도 포함되어 있습니다.

참고 항목

WAF 정책에서 규칙 집합 버전이 변경되면 규칙 집합에 대해 수행한 모든 기존 사용자 지정이 새 규칙 집합의 기본값으로 다시 설정됩니다. 참조: 규칙 집합 버전 업그레이드 또는 변경

기본 규칙 집합

Azure 관리형 DRS에는 다음 위협 범주에 대한 규칙이 포함됩니다.

  • 사이트 간 스크립팅
  • Java 공격
  • 로컬 파일 포함
  • PHP 삽입 공격
  • 원격 명령 실행
  • 원격 파일 포함
  • 세션 고정
  • SQL 삽입 공격 보호
  • 프로토콜 공격자

새 공격 서명이 규칙 집합에 추가되면 DRS의 버전 번호가 증가합니다.

DRS는 WAF 정책의 검색 모드에서 기본적으로 사용하도록 설정됩니다. DRS 내에서 개별 규칙을 사용하지 않거나 사용하도록 설정하여 애플리케이션 요구 사항을 충족할 수 있습니다. 규칙별로 특정 작업을 설정할 수도 있습니다. 사용 가능한 작업은 Allow, Block, Log, Redirect입니다.

경우에 따라 WAF(웹 애플리케이션 방화벽) 평가에서 특정 요청 특성을 생략해야 할 수도 있습니다. 일반적인 예제로는 인증에 사용되는 Active Directory 삽입 토큰이 있습니다. 관리형 규칙, 규칙 그룹 또는 전체 규칙 집합에 대한 제외 목록을 구성할 수 있습니다. 자세한 내용은 Azure Front Door의 Azure Web Application Firewall 제외 목록을 참조하세요.

기본적으로 DRS 버전 2.0 이상은 요청이 규칙과 일치할 때 변칙 채점을 사용합니다. DRS 버전 2.0 미만은 규칙을 트리거하는 요청을 차단합니다. 또한 DRS에서 미리 구성된 규칙을 바이패스하려는 경우 동일한 WAF 정책에서 사용자 지정 규칙을 구성할 수 있습니다.

사용자 지정 규칙은 항상 DRS의 규칙을 평가하기 전에 적용됩니다. 요청이 사용자 지정 규칙과 일치하면 해당 규칙 동작이 적용됩니다. 요청이 차단되거나 백 엔드로 전달됩니다. 다른 사용자 지정 규칙이나 DRS의 규칙은 처리되지 않습니다. WAF 정책에서 DRS를 제거할 수도 있습니다.

Microsoft 위협 인텔리전스 수집 규칙

Microsoft 위협 인텔리전스 수집 규칙은 향상된 적용 범위 확대, 특정 취약성에 대한 패치, 더 효율적인 가양성 감소를 제공하도록 Microsoft 인텔리전스 팀과 협력하여 작성되었습니다.

기본적으로 Microsoft 위협 인텔리전스 컬렉션 규칙은 기본 제공 DRS 규칙 중 일부를 바꿔 사용하지 않도록 설정됩니다. 예를 들어, 규칙 ID 942440 SQL 주석 시퀀스가 검색됨은 이제 사용되지 않고 Microsoft 위협 인텔리전스 컬렉션 규칙 99031002로 대체되었습니다. 대체된 규칙은 합법적인 요청에서 가양성 검색의 위험을 줄입니다.

변칙 채점

DRS 2.0 이상을 사용하는 경우 WAF는 변칙 채점을 사용합니다. WAF가 방지 모드인 경우에도 규칙과 일치하는 트래픽은 즉시 차단되지 않습니다. 대신 OWASP 규칙 집합은 각 규칙의 심각도(위험, 오류, 경고 또는 알림)를 정의합니다. 심각도는 변칙 점수라고 하는 요청의 숫자 값에 영향을 줍니다. 요청의 변칙 점수가 5 이상 누적되면 WAF가 요청에 대한 작업을 수행합니다.

규칙 심각도 변칙 점수에 기여하는 값
위험 5
오류 4
경고 3
알림 2

WAF를 구성할 때 WAF가 변칙 점수 임계값 5를 초과하는 요청을 처리하는 방법을 결정할 수 있습니다. 3가지 변칙 점수 작업 옵션은 Block, Log 또는 Redirect입니다. 구성 시 선택한 변칙 점수 작업은 변칙 점수 임계값을 초과하는 모든 요청에 적용됩니다.

예를 들어 요청의 변칙 점수가 5 이상이고 WAF가 방지 모드여서 변칙 점수 작업이 Block으로 설정된 경우 요청이 차단됩니다. 요청에서 변칙 점수가 5 이상이고 WAF가 검색 모드인 경우 요청이 기록되지만 차단되지는 않습니다.

전체 변칙 점수가 5이므로 변칙 점수 작업이 Block으로 설정된 방지 모드에서는 하나의 중요 규칙 일치만 있어도 WAF가 요청을 차단할 수 있습니다. 그러나 하나의 경고 규칙 일치 항목은 변칙 점수를 3만큼 증가시키며, 이것만으로는 트래픽을 차단하는 데 충분하지 않습니다. 변칙 규칙이 트리거되면 로그에 "일치" 작업이 표시됩니다. 변칙 점수가 5 변칙인 경우 규칙 집합에 대해 구성된 변칙 점수 작업을 사용하여 별도의 규칙이 트리거됩니다. 기본 변칙 점수 작업은 Block이며, 이로 인해 blocked 작업이 있는 로그 항목이 생성됩니다.

WAF가 이전 버전의 기본 규칙 집합(DRS 2.0 미만)을 사용하는 경우 WAF는 기존 모드에서 실행됩니다. 규칙과 일치하는 트래픽은 다른 규칙 일치 항목과 관련이 없는 항목으로 간주됩니다. 기존 모드에서는 특정 요청과 일치하는 전체 규칙 세트가 표시되지 않습니다.

사용하는 DRS 버전에 따라 요청 본문 검사에 지원되는 콘텐츠 형식도 결정됩니다. 자세한 내용은 FAQ의 WAF에서 어떤 콘텐츠 형식을 지원하나요?를 참조하세요.

규칙 집합 버전 업그레이드 또는 변경

새 규칙 집합 버전을 업그레이드하거나 할당하고 기존 규칙 재정의 및 제외를 유지하려는 경우 PowerShell, CLI, REST API 또는 템플릿을 사용하여 규칙 집합 버전을 변경하는 것이 좋습니다. 새 버전의 규칙 집합에는 최신 규칙, 추가 규칙 그룹이 있을 수 있으며, 더 나은 보안을 적용하고 가양성(false positives)을 줄이기 위해 기존 서명에 대한 업데이트가 있을 수 있습니다. 테스트 환경의 변경 내용의 유효성을 검사하고 필요한 경우 미세 조정한 다음 프로덕션 환경에 배포하는 것이 좋습니다.

참고 항목

Azure Portal을 사용하여 WAF 정책에 새 관리 규칙 집합을 할당하는 경우 규칙 상태, 규칙 작업 및 규칙 수준 제외와 같은 기존 관리 규칙 집합의 모든 이전 사용자 지정이 새 관리 규칙 집합의 기본값으로 다시 설정됩니다. 그러나 사용자 지정 규칙 또는 정책 설정은 새 규칙 집합 할당 중에 영향을 받지 않습니다. 프로덕션 환경에 배포하기 전에 규칙 재정의를 재정의하고 변경 내용의 유효성을 검사해야 합니다.

DRS 2.1

DRS 2.1 규칙은 이전 버전의 DRS보다 더 나은 보호를 제공합니다. 여기에는 Microsoft 위협 인텔리전스 팀에서 개발한 다른 규칙과 가양성을 줄이기 위한 서명 업데이트가 포함됩니다. 또한 URL 디코딩 이외의 변환도 지원합니다.

DRS 2.1에는 다음 표와 같이 17개의 규칙 그룹이 포함됩니다. 각 그룹에는 여러 규칙이 포함되며 개별 규칙, 규칙 그룹 또는 전체 규칙 집합에 대한 동작을 사용자 지정할 수 있습니다. DRS 2.1은 OWASP(Open Web Application Security Project) CRS(핵심 규칙 집합) 3.3.2를 기준으로 하며 Microsoft Threat Intelligence 팀에서 개발한 추가 독점 보호 규칙을 포함합니다.

자세한 내용은 Azure Front Door의 WAF(웹 애플리케이션 방화벽) 조정을 참조하세요.

참고 항목

DRS 2.1은 Azure Front Door 프리미엄에서만 사용할 수 있습니다.

규칙 그룹 ruleGroupName 설명
일반 일반 일반 그룹
METHOD-ENFORCEMENT METHOD-ENFORCEMENT 잠금 메서드(PUT, PATCH)
PROTOCOL-ENFORCEMENT PROTOCOL-ENFORCEMENT 프로토콜 및 인코딩 문제로부터 보호
PROTOCOL-ATTACK PROTOCOL-ATTACK 헤더 삽입, 요청 스머글링 및 응답 분할로부터 보호
APPLICATION-ATTACK-LFI LFI 파일 및 경로 공격으로부터 보호
APPLICATION-ATTACK-RFI RFI RFI(원격 파일 포함) 공격으로부터 보호
APPLICATION-ATTACK-RCE RCE 원격 코드 실행 공격으로부터 보호
APPLICATION-ATTACK-PHP PHP PHP 삽입 공격으로부터 보호
APPLICATION-ATTACK-NodeJS NODEJS Node JS 공격으로부터 보호
APPLICATION-ATTACK-XSS XSS 사이트 간 스크립팅 공격으로부터 보호
APPLICATION-ATTACK-SQLI SQLI SQL 삽입 공격으로부터 보호
APPLICATION-ATTACK-SESSION-FIXATION FIX 세션 고정 공격으로부터 보호
APPLICATION-ATTACK-SESSION-JAVA Java JAVA 공격으로부터 보호
MS-ThreatIntel-WebShells MS-ThreatIntel-WebShells 웹 셸 공격으로부터 보호
MS-ThreatIntel-AppSec MS-ThreatIntel-AppSec AppSec 공격으로부터 보호
MS-ThreatIntel-SQLI MS-ThreatIntel-SQLI SQLI 공격으로부터 보호
MS-ThreatIntel-CVEs MS-ThreatIntel-CVEs CVE 공격으로부터 보호

사용하지 않도록 설정된 규칙

다음 규칙은 DRS 2.1에서 기본적으로 사용되지 않습니다.

규칙 ID 규칙 그룹 설명 세부 정보
942110 SQLI SQL 삽입 공격: 일반적인 삽입 테스트 감지됨 MSTIC 규칙 99031001로 대체됨
942150 SQLI SQL 삽입 공격 MSTIC 규칙 99031003으로 대체됨
942260 SQLI 기본 SQL 인증 바이패스 시도 감지 2/3 MSTIC 규칙 99031004로 대체됨
942430 SQLI 제한된 SQL 문자 이상 감지(인수): 특수 문자 # 초과(12) 가양성이 너무 많음
942440 SQLI SQL 주석 시퀀스가 검색됨 MSTIC 규칙 99031002로 대체됨
99005006 MS-ThreatIntel-WebShells Spring4Shell 상호 작용 시도 SpringShell 취약성을 방지하는 규칙 사용
99001014 MS-ThreatIntel-CVEs Spring Cloud 라우팅 식 삽입이 시도됨 - CVE-2022-22963 SpringShell 취약성을 방지하는 규칙 사용
99001015 MS-ThreatIntel-WebShells Spring Framework 안전하지 않은 클래스 개체 악용이 시도됨 CVE-2022-22965 SpringShell 취약성을 방지하는 규칙 사용
99001016 MS-ThreatIntel-WebShells Spring Cloud Gateway Actuator 삽입이 시도됨 CVE-2022-22947 SpringShell 취약성을 방지하는 규칙 사용
99001017 MS-ThreatIntel-CVEs Apache Struts 파일 업로드 악용 CVE-2023-50164 시도 Apache Struts 취약성을 방지하는 규칙 사용

DRS 2.0

DRS 2.0 규칙은 이전 버전의 DRS보다 더 나은 보호를 제공합니다. DRS 2.0은 URL 디코딩 이외의 변환도 지원합니다.

DRS 2.0에는 다음 표와 같이 17개의 규칙 그룹이 포함되어 있습니다. 각 그룹에는 여러 규칙이 포함됩니다. 개별 규칙 및 전체 규칙 그룹을 사용하지 않도록 설정할 수 있습니다.

참고 항목

DRS 2.0은 Azure Front Door 프리미엄에서만 사용할 수 있습니다.

규칙 그룹 ruleGroupName 설명
일반 일반 일반 그룹
METHOD-ENFORCEMENT METHOD-ENFORCEMENT 잠금 메서드(PUT, PATCH)
PROTOCOL-ENFORCEMENT PROTOCOL-ENFORCEMENT 프로토콜 및 인코딩 문제로부터 보호
PROTOCOL-ATTACK PROTOCOL-ATTACK 헤더 삽입, 요청 스머글링 및 응답 분할로부터 보호
APPLICATION-ATTACK-LFI LFI 파일 및 경로 공격으로부터 보호
APPLICATION-ATTACK-RFI RFI RFI(원격 파일 포함) 공격으로부터 보호
APPLICATION-ATTACK-RCE RCE 원격 코드 실행 공격으로부터 보호
APPLICATION-ATTACK-PHP PHP PHP 삽입 공격으로부터 보호
APPLICATION-ATTACK-NodeJS NODEJS Node JS 공격으로부터 보호
APPLICATION-ATTACK-XSS XSS 사이트 간 스크립팅 공격으로부터 보호
APPLICATION-ATTACK-SQLI SQLI SQL 삽입 공격으로부터 보호
APPLICATION-ATTACK-SESSION-FIXATION FIX 세션 고정 공격으로부터 보호
APPLICATION-ATTACK-SESSION-JAVA Java JAVA 공격으로부터 보호
MS-ThreatIntel-WebShells MS-ThreatIntel-WebShells 웹 셸 공격으로부터 보호
MS-ThreatIntel-AppSec MS-ThreatIntel-AppSec AppSec 공격으로부터 보호
MS-ThreatIntel-SQLI MS-ThreatIntel-SQLI SQLI 공격으로부터 보호
MS-ThreatIntel-CVEs MS-ThreatIntel-CVEs CVE 공격으로부터 보호

DRS 1.1

규칙 그룹 ruleGroupName 설명
PROTOCOL-ATTACK PROTOCOL-ATTACK 헤더 삽입, 요청 스머글링 및 응답 분할로부터 보호
APPLICATION-ATTACK-LFI LFI 파일 및 경로 공격으로부터 보호
APPLICATION-ATTACK-RFI RFI 원격 파일 포함 공격으로부터 보호
APPLICATION-ATTACK-RCE RCE 원격 명령 실행으로부터 보호
APPLICATION-ATTACK-PHP PHP PHP 삽입 공격으로부터 보호
APPLICATION-ATTACK-XSS XSS 사이트 간 스크립팅 공격으로부터 보호
APPLICATION-ATTACK-SQLI SQLI SQL 삽입 공격으로부터 보호
APPLICATION-ATTACK-SESSION-FIXATION FIX 세션 고정 공격으로부터 보호
APPLICATION-ATTACK-SESSION-JAVA Java JAVA 공격으로부터 보호
MS-ThreatIntel-WebShells MS-ThreatIntel-WebShells 웹 셸 공격으로부터 보호
MS-ThreatIntel-AppSec MS-ThreatIntel-AppSec AppSec 공격으로부터 보호
MS-ThreatIntel-SQLI MS-ThreatIntel-SQLI SQLI 공격으로부터 보호
MS-ThreatIntel-CVEs MS-ThreatIntel-CVEs CVE 공격으로부터 보호

DRS 1.0

규칙 그룹 ruleGroupName 설명
PROTOCOL-ATTACK PROTOCOL-ATTACK 헤더 삽입, 요청 스머글링 및 응답 분할로부터 보호
APPLICATION-ATTACK-LFI LFI 파일 및 경로 공격으로부터 보호
APPLICATION-ATTACK-RFI RFI 원격 파일 포함 공격으로부터 보호
APPLICATION-ATTACK-RCE RCE 원격 명령 실행으로부터 보호
APPLICATION-ATTACK-PHP PHP PHP 삽입 공격으로부터 보호
APPLICATION-ATTACK-XSS XSS 사이트 간 스크립팅 공격으로부터 보호
APPLICATION-ATTACK-SQLI SQLI SQL 삽입 공격으로부터 보호
APPLICATION-ATTACK-SESSION-FIXATION FIX 세션 고정 공격으로부터 보호
APPLICATION-ATTACK-SESSION-JAVA Java JAVA 공격으로부터 보호
MS-ThreatIntel-WebShells MS-ThreatIntel-WebShells 웹 셸 공격으로부터 보호
MS-ThreatIntel-CVEs MS-ThreatIntel-CVEs CVE 공격으로부터 보호

Bot Manager 1.0

Bot Manager 1.0 규칙 집합은 악의적인 봇에 대한 보호 및 좋은 봇 검색을 제공합니다. 규칙은 봇 트래픽을 Good, Bad 또는 Unknown 봇으로 분류하여 WAF에서 검색한 봇에 대한 세부적인 제어를 제공합니다.

규칙 그룹 설명
BadBots 잘못된 봇으로부터 보호
GoodBots 양호한 봇 식별
UnknownBots 알 수 없는 봇 식별

Bot Manager 1.1

Bot Manager 1.1 규칙 집합은 Bot Manager 1.0 규칙 집합의 향상된 기능입니다. 악성 봇에 대한 향상된 보호를 제공하고 좋은 봇 검색을 향상합니다.

규칙 그룹 설명
BadBots 잘못된 봇으로부터 보호
GoodBots 양호한 봇 식별
UnknownBots 알 수 없는 봇 식별

다음 규칙 그룹 및 규칙은 Azure Front Door의 Azure Web Application Firewall을 사용할 때 사용할 수 있습니다.

2.1 규칙 집합

일반

RuleId 설명
200002 요청 본문을 구문 분석하지 못함
200003 엄격한 유효성 검사에 실패한 다중 파트 요청 본문

메서드 적용

RuleId 설명
911100 정책에서 메서드를 사용할 수 없음

프로토콜 적용

RuleId 설명
920100 잘못된 HTTP 요청 줄
920120 다중 파트/양식 데이터 바이패스 시도
920121 다중 파트/양식 데이터 바이패스 시도
920160 Content-Length HTTP 헤더가 숫자가 아님
920170 본문 콘텐츠를 통한 GET 또는 HEAD 요청.
920171 분할 전송 인코딩을 통한 GET 또는 HEAD 요청.
920180 POST 요청에 콘텐츠-길이 헤더가 없습니다.
920181 Content-Length 및 Transfer-Encoding 헤더가 99001003임
920190 범위: 마지막 바이트 값이 잘못되었습니다.
920200 범위: 필드가 너무 많음(6개 이상)
920201 범위: pdf 요청 필드가 너무 많음(35개 이상)
920210 여러 개의 충돌하는 연결 헤더 데이터가 발견되었습니다.
920220 URL 인코딩 남용 공격 시도
920230 여러 URL 인코딩 탐지
920240 URL 인코딩 남용 공격 시도
920260 유니코드 전자/반자 남용 공격 시도
920270 요청에 잘못된 문자(null 문자)
920271 요청에 잘못된 문자(인쇄할 수 없는 문자)
920280 호스트 헤더가 누락된 요청
920290 빈 호스트 헤더
920300 Accept 헤더가 누락된 요청
920310 요청에 빈 Accept 헤더가 있음
920311 요청에 빈 Accept 헤더가 있음
920320 User-Agent 헤더 누락
920330 빈 User-Agent 헤더
920340 요청에 콘텐츠가 있지만 Content-Type 헤더가 누락됨
920341 콘텐츠가 있는 요청은 Content-Type 헤더 필요
920350 호스트 헤더가 숫자 IP 주소임
920420 정책에 따라 요청 콘텐츠 형식이 허용되지 않음
920430 정책에 따라 HTTP 프로토콜 버전이 허용되지 않음
920440 정책에 따라 URL 파일 확장이 허용되지 않음
920450 정책에 따라 HTTP 헤더가 제한됨
920470 잘못된 Content-Type 헤더
920480 정책에 따라 요청 콘텐츠 형식 문자 집합이 허용되지 않음
920500 백업 또는 작업 파일에 액세스 시도

프로토콜 공격

RuleId 설명
921110 HTTP 요청 밀반입 공격
921120 HTTP 응답 분리 공격
921130 HTTP 응답 분리 공격
921140 헤더를 통한 HTTP 헤더 삽입 공격
921150 페이로드를 통한 HTTP 헤더 삽입 공격(CR/LF 검색됨)
921151 페이로드를 통한 HTTP 헤더 삽입 공격(CR/LF 검색됨)
921160 페이로드를 통한 HTTP 헤더 삽입 공격(CR/LF 및 헤더-이름 발견)
921190 HTTP 분할(요청 파일 이름에서 CR/LF 검색됨)
921200 LDAP 삽입 공격

LFI: 로컬 파일 포함

RuleId 설명
930100 경로 탐색 공격(/../)
930110 경로 탐색 공격(/../)
930120 OS 파일 액세스 시도
930130 제한된 파일 액세스 시도

RFI: 원격 파일 포함

RuleId 설명
931100 가능한 RFI(원격 파일 포함) 공격: IP 주소를 사용하는 URL 매개 변수
931110 가능한 RFI(원격 파일 포함) 공격: 일반 RFI 취약 매개 변수 이름이 URL 페이로드에 사용됨
931120 가능한 RFI(원격 파일 포함) 공격: URL 페이로드가 후행 물음표 문자(?)에 사용됨
931130 가능한 RFI(원격 파일 포함) 공격 = 오프-도메인 참조/링크

RCE: 원격 명령 실행

RuleId 설명
932100 원격 명령 실행: Unix 명령 삽입
932105 원격 명령 실행: Unix 명령 삽입
932110 원격 명령 실행: Windows 명령 삽입
932115 원격 명령 실행: Windows 명령 삽입
932120 원격 명령 실행: Windows PowerShell 명령 발견
932130 원격 명령 실행: Unix 셸 식 또는 Confluence 취약성(CVE-2022-26134)이 발견됨
932140 원격 명령 실행: Windows FOR/IF 명령 발견
932150 원격 명령 실행: 직접 Unix 명령 실행
932160 원격 명령 실행: Unix Shell 코드 발견
932170 원격 명령 실행: Shellshock(CVE-2014-6271)
932171 원격 명령 실행: Shellshock(CVE-2014-6271)
932180 제한된 파일 업로드 시도

PHP 공격

RuleId 설명
933100 PHP 삽입 공격: 여는/닫는 태그 발견
933110 PHP 삽입 공격: PHP 스크립트 파일 업로드 발견
933120 PHP 삽입 공격: 구성 지시문 발견
933130 PHP 삽입 공격: 변수 발견
933140 PHP 삽입 공격: I/O 스트림 발견
933150 PHP 삽입 공격: 고위험 PHP 함수 이름 발견
933151 PHP 삽입 공격: 보통 위험 PHP 함수 이름 발견
933160 PHP 삽입 공격: 고위험 PHP 함수 호출 발견
933170 PHP 삽입 공격: 직렬화된 개체 삽입
933180 PHP 삽입 공격: 변수 함수 호출 발견
933200 PHP 삽입 공격: 래퍼 체계가 검색됨
933210 PHP 삽입 공격: 변수 함수 호출 발견

Node JS 공격

RuleId 설명
934100 Node.js 삽입 공격

XSS: 교차 사이트 스크립팅

RuleId 설명
941100 libinjection을 통한 XSS 공격 감지됨
941101 libinjection을 통한 XSS 공격 감지됨
규칙이 Referer 헤더가 있는 요청 탐지
941110 XSS 필터 - 범주 1: 스크립트 태그 벡터
941120 XSS 필터 - 범주 2: 이벤트 처리기 벡터
941130 XSS 필터 - 범주 3: 특성 벡터
941140 XSS 필터 - 범주 4: JavaScript URI 벡터
941150 XSS 필터 - 범주 5: 허용되지 않는 HTML 특성
941160 NoScript XSS InjectionChecker: HTML 삽입
941170 NoScript XSS InjectionChecker: 특성 삽입
941180 노드 유효성 검사기 블랙리스트 키워드
941190 스타일시트를 사용하는 XSS
941200 VML 프레임을 사용하는 XSS
941210 난독 처리된 JavaScript를 사용하는 XSS
941220 난독 처리된 VB 스크립트를 사용하는 XSS
941230 embed 태그를 사용하는 XSS
941240 import 또는 implementation 특성을 사용하는 XSS
941250 IE XSS 필터 - 공격 감지됨
941260 meta 태그를 사용하는 XSS
941270 link href를 사용하는 XSS
941280 base 태그를 사용하는 XSS
941290 applet 태그를 사용하는 XSS
941300 object 태그를 사용하는 XSS
941310 US-ASCII 잘못된 형식의 인코딩 XSS 필터 - 공격 탐지
941320 가능한 XSS 공격 감지됨 - HTML 태그 처리기
941330 IE XSS 필터 - 공격 감지됨
941340 IE XSS 필터 - 공격 감지됨
941350 UTF-7 인코딩 IE XSS - 공격 탐지
941360 JavaScript 난독 처리 탐지
941370 JavaScript 전역 변수 발견
941380 AngularJS 클라이언트 쪽 템플릿 삽입이 검색됨

SQLI: SQL 삽입

RuleId 설명
942100 libinjection을 통한 SQL 삽입 공격 탐지
942110 SQL 삽입 공격: 일반적인 삽입 테스트 탐지
942120 SQL 삽입 공격: SQL 연산자 탐지
942140 SQL 삽입 공격: 일반 DB 이름 탐지
942150 SQL 삽입 공격.
942160 sleep() 또는 benchmark()를 사용하는 블라인드 SQLI 테스트 탐지
942170 조건부 쿼리를 포함하여 SQL benchmark 및 sleep 삽입 공격 탐지
942180 기본 SQL 인증 바이패스 시도 1/3 탐지
942190 MSSQL 코드 실행 및 정보 수집 시도 탐지
942200 MySQL 주석-/공백-난독 처리된 삽입 및 억음 악센트 기호 종료 탐지
942210 연결된 SQL 삽입 시도 1/2 탐지
942220 정수 오버플로 공격 검색, 3.0.00738585072007e-308이 “매직 넘버” 크래시인 경우를 제외하고 skipfish에서 가져옴
942230 조건부 SQL 삽입 시도 탐지
942240 MySQL 문자 집합 스위치 및 MSSQL DoS 시도 탐지
942250 MATCH AGAINST, MERGE 및 EXECUTE IMMEDIATE 삽입 탐지
942260 기본 SQL 인증 바이패스 시도 2/3 탐지
942270 기본 SQL 삽입 검색 MySQL, Oracle 등에 대한 일반적인 공격 문자열
942280 Postgres pg_sleep 삽입, 지연 대기 공격. 데이터베이스 종료 시도 탐지
942290 기본 MongoDB SQL 삽입 시도 발견
942300 MySQL 주석, 조건 및 ch(a)r 삽입 탐지
942310 연결된 SQL 삽입 시도 2/2 탐지
942320 MySQL 및 PostgreSQL 저장 프로시저/함수 삽입 탐지
942330 클래식 SQL 삽입 프로빙 1/2 탐지
942340 기본 SQL 인증 바이패스 시도 3/3 탐지
942350 MySQL UDF 삽입 및 기타 데이터/구조 조작 시도 탐지
942360 연결된 기본 SQL 삽입 및 SQLLFI 시도 탐지
942361 키워드 alter 또는 union을 기준으로 기본 SQL 삽입 탐지
942370 클래식 SQL 삽입 프로빙 2/2 탐지
942380 SQL 삽입 공격.
942390 SQL 삽입 공격.
942400 SQL 삽입 공격.
942410 SQL 삽입 공격.
942430 제한된 SQL 문자 이상 탐지(인수): 특수 문자 수 초과(12)
942440 SQL 주석 시퀀스가 감지됨.
942450 SQL 16진수 인코딩 식별
942460 메타 문자 이상 탐지 경고 - 단어가 아닌 문자 반복
942470 SQL 삽입 공격.
942480 SQL 삽입 공격.
942500 MySQL 인라인 주석이 검색되었습니다.
942510 틱 또는 백틱에 의한 SQLi 바이패스 시도가 검색되었습니다.

세션 고정

RuleId 설명
943100 가능한 세션 고정 공격: HTML의 쿠키 값 설정
943110 가능한 세션 고정 공격: 오프-도메인 참조 페이지가 있는 SessionID 매개 변수 이름
943120 가능한 세션 고정 공격: 참조 페이지가 없는 SessionID 매개 변수 이름

Java 공격

RuleId 설명
944100 원격 명령 실행: Apache Struts, Oracle WebLogic
944110 잠재적 페이로드 실행 검색
944120 가능한 페이로드 실행 및 원격 명령 실행
944130 의심스러운 Java 클래스
944200 Java 역직렬화 Apache Commons 악용
944210 Java serialization을 사용할 수 있음
944240 원격 명령 실행: Java 직렬화 및 Log4j 취약성(CVE-2021-44228, CVE-2021-45046)
944250 원격 명령 실행: 의심스러운 Java 메서드가 검색됨

MS-ThreatIntel-WebShells

RuleId 설명
99005002 웹 셸 상호 작용 시도(POST)
99005003 웹 셸 업로드 시도(POST) - CHOPPER PHP
99005004 웹 셸 업로드 시도(POST) - CHOPPER ASPX
99005005 웹 셸 상호 작용 시도
99005006 Spring4Shell 상호 작용 시도

MS-ThreatIntel-AppSec

RuleId 설명
99030001 헤더의 경로 통과 우회(/.././../)
99030002 요청 본문의 경로 통과 우회(/.././../)

MS-ThreatIntel-SQLI

RuleId 설명
99031001 SQL 삽입 공격: 일반적인 삽입 테스트 감지됨
99031002 SQL 주석 시퀀스가 검색됨
99031003 SQL 삽입 공격
99031004 기본 SQL 인증 바이패스 시도 감지 2/3

MS-ThreatIntel-CVEs

RuleId 설명
99001001 알려진 자격 증명으로 F5 tmui(CVE-2020-5902) REST API 악용 시도
99001002 Citrix NSC_USER 디렉터리 통과 시도함 CVE-2019-19781
99001003 Atlassian Confluence Widget Connector 악용 시도함 CVE-2019-3396
99001004 Pulse Secure 사용자 지정 템플릿 악용 시도함 CVE-2020-8243
99001005 SharePoint 형식 변환기 악용 시도함 CVE-2020-0932
99001006 Pulse Connect 디렉터리 통과 시도함 CVE-2019-11510
99001007 Junos OS J-Web 로컬 파일 포함 시도함 CVE-2020-1631
99001008 Fortinet 경로 통과 시도함 CVE-2018-13379
99001009 Apache struts ognl 삽입 시도함 CVE-2017-5638
99001010 Apache struts ognl 삽입 시도함 CVE-2017-12611
99001011 Oracle WebLogic 경로 통과 시도함 CVE-2020-14882
99001012 Telerik WebUI 안전하지 않은 역직렬화 악용 시도함 CVE-2019-18935
99001013 SharePoint 안전하지 않은 XML 역직렬화 시도함 CVE-2019-0604
99001014 Spring Cloud 라우팅 식 삽입이 시도됨 - CVE-2022-22963
99001015 Spring Framework 안전하지 않은 클래스 개체 악용이 시도됨 CVE-2022-22965
99001016 Spring Cloud Gateway Actuator 삽입이 시도됨 CVE-2022-22947
99001017 Apache Struts 파일 업로드 악용 시도CVE-2023-50164

참고 항목

WAF의 로그를 검토하는 경우 규칙 ID 949110이 표시될 수 있습니다. 규칙 설명에 인바운드 변칙 점수 초과가 포함될 수 있습니다.

이 규칙은 요청에 대한 총 변칙 점수가 허용되는 최대 점수를 초과했음을 나타냅니다. 자세한 내용은 변칙 채점을 참조하세요.

WAF 정책을 튜닝하는 경우 WAF 구성을 조정할 수 있도록 요청에서 트리거된 다른 규칙을 조사해야 합니다. 자세한 내용은 Azure Front Door의 Azure Web Application Firewall 튜닝을 참조하세요.

다음 단계