다음을 통해 공유


Web Application Firewall DRS 및 CRS 규칙 그룹과 규칙

Application Gateway WAF(웹 애플리케이션 방화벽)의 Azure 관리 규칙 집합은 일반적인 취약점 및 악용 사례로부터 웹 애플리케이션을 적극적으로 보호합니다. Azure에서 관리하는 이러한 규칙 집합은 새 공격 서명을 막기 위해 필요에 따라 업데이트를 받습니다. 기본 규칙 집합에는 Microsoft 위협 인텔리전스 컬렉션 규칙도 통합됩니다. Microsoft 인텔리전스 팀은 향상된 적용 범위, 특정 취약성 패치 및 향상된 가양성 감소를 위해 협력을 통해 이러한 규칙을 작성하고 있습니다.

OWASP 핵심 규칙 집합 3.2 3.1, 3.0 또는 2.2.9를 기반으로 정의된 규칙을 사용하는 옵션도 있습니다.

규칙을 개별적으로 사용하지 않도록 설정하거나 각 규칙에 대해 특정 작업을 설정할 수 있습니다. 이 문서에는 현재 사용 가능한 규칙 및 규칙 집합이 포함되어 있습니다. 게시된 규칙 집합에 업데이트가 필요한 경우 여기에 문서화합니다.

참고 항목

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

기본 규칙 집합

Azure 관리형 DRS(기본 규칙 집합)에는 다음 위협 범주에 대한 규칙이 포함됩니다.

  • 사이트 간 스크립팅
  • Java 공격
  • 로컬 파일 포함
  • PHP 삽입 공격
  • 원격 명령 실행
  • 원격 파일 포함
  • 세션 고정
  • SQL 삽입 공격 보호
  • 프로토콜 공격자. 새 공격 서명이 규칙 집합에 추가되면 DRS의 버전 번호가 증가합니다.

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

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

참고 항목

Application Gateway WAF에서 2.1을 시작하는 동안 WAF를 튜닝하려면 다음 지침을 사용하세요. 규칙 세부 정보는 다음에서 설명합니다.

규칙 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 취약성을 방지하기 위해 작업을 차단으로 설정합니다. 이 규칙에 대해 변칙 점수가 지원되지 않습니다.

핵심 규칙 집합

Application Gateway WAF는 기본적으로 CRS 3.2로 미리 구성되지만 지원되는 다른 CRS 버전을 사용하도록 선택할 수 있습니다.

CRS 3.2는 Java 감염을 방어하는 새로운 엔진과 새로운 규칙 세트, 초기 파일 업로드 검사 세트, 이전 버전의 CRS보다 적은 가양성을 제공합니다. 필요에 맞게 규칙을 사용자 지정할 수도 있습니다. 새 Azure WAF 엔진에 대해 자세히 알아봅니다.

규칙 관리

WAF는 다음 웹 취약성으로부터 보호합니다.

  • SQL 삽입 공격
  • 사이트 간 스크립팅 공격
  • 명령 삽입, HTTP 요청 스머글링, HTTP 응답 분할, 원격 파일 포함 등의 기타 일반적인 공격
  • HTTP 프로토콜 위반
  • 호스트 사용자-에이전트 및 Accept 헤더 누락 같은 HTTP 프로토콜 이상
  • 봇, 크롤러 및 스캐너
  • 일반적인 애플리케이션 구성 오류(예: Apache 및 IIS)

관리 규칙 집합 튜닝

DRS와 CRS는 기본적으로 WAF 정책의 검색 모드에서 사용하도록 설정됩니다. 관리 규칙 집합 내에서 개별 규칙을 사용하지 않거나 사용하도록 설정하여 애플리케이션 요구 사항을 충족할 수 있습니다. 규칙별로 특정 작업을 설정할 수도 있습니다. DRS/CRS는 블록, 로그 및 변칙 점수 작업을 지원합니다. 봇 관리자 규칙 집합은 허용, 차단 및 로그 작업을 지원합니다.

경우에 따라 WAF 평가에서 특정 요청 특성을 생략해야 할 수도 있습니다. 일반적인 예제로는 인증에 사용되는 Active Directory 삽입 토큰이 있습니다. 특정 WAF 규칙이 평가될 때 적용하거나 모든 WAF 규칙 평가에 전역적으로 적용하도록 제외를 구성할 수 있습니다. 제외 규칙은 전체 웹 애플리케이션에 적용됩니다. 자세한 내용은 Application Gateway를 사용하는 WAF(Web Application Firewall) 제외 목록을 참조하세요.

기본적으로 DRS 버전 2.1/CRS 버전 3.2 이상에서는 요청이 규칙과 일치할 때 변칙 점수를 사용합니다. CRS 3.1 이하에서는 기본적으로, 일치하는 요청을 차단합니다. 또한 핵심 규칙 집합에서 미리 구성된 규칙을 무시하려는 경우 동일한 WAF 정책에서 사용자 지정 규칙을 구성할 수 있습니다.

사용자 지정 규칙은 항상 핵심 규칙 집합의 규칙을 평가하기 전에 적용됩니다. 요청이 사용자 지정 규칙과 일치하면 해당 규칙 동작이 적용됩니다. 요청이 차단되거나 백 엔드로 전달됩니다. 다른 사용자 지정 규칙이나 핵심 규칙 집합의 규칙은 처리되지 않습니다.

변칙 채점

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

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

변칙 점수가 5 이상이고 WAF가 방지 모드인 경우 요청이 기록되지만 차단되지는 않습니다. 요청에서 변칙 점수가 5 이상이고 WAF가 검색 모드인 경우 요청이 기록되지만 차단되지는 않습니다.

예를 들어 전체 변칙 점수가 5이므로 방지 모드에서는 하나의 위험 규칙 일치 항목만으로도 WAF에서 요청을 차단하는 데 충분합니다. 그러나 하나의 경고 규칙 일치 항목은 변칙 점수를 3만큼 증가시키며, 이것만으로는 트래픽을 차단하는 데 충분하지 않습니다. 변칙 규칙이 트리거되면 로그에 "일치" 작업이 표시됩니다. 변칙 점수가 5 이상인 경우 WAF 정책이 방지 또는 검색 모드에 있는지 여부에 따라 "차단됨" 또는 "검색됨" 작업으로 트리거되는 별도의 규칙이 있습니다. 자세한 내용은 변칙 채점 모드를 참조하세요.

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

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

참고 항목

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

DRS 2.1

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

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

규칙 그룹 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 공격으로부터 보호

OWASP CRS 3.2

CRS 3.2에는 다음 표와 같이 14개의 규칙 그룹이 포함되어 있습니다. 각 그룹은 비활성화할 수 있는 여러 개의 규칙을 포함합니다. 규칙 집합은 OWASP CRS 3.2.0 버전을 기반으로 합니다.

참고 항목

CRS 3.2는 WAF_v2 SKU에서만 사용할 수 있습니다. CRS 3.2는 새 Azure WAF 엔진에서 실행되므로 CRS 3.1 또는 그 이전으로 다운그레이드할 수 없습니다. 다운그레이드해야 하는 경우 Azure 지원에 문의하세요.

규칙 그룹 이름 설명
일반 일반 그룹
KNOWN-CVES 신규 및 알려진 CVE 검색 도움말
REQUEST-911-METHOD-ENFORCEMENT 잠금 메서드(PUT, PATCH)
REQUEST-913-SCANNER-DETECTION 포트 및 환경 스캐너로부터 보호
REQUEST-920-PROTOCOL-ENFORCEMENT 프로토콜 및 인코딩 문제로부터 보호
REQUEST-921-PROTOCOL-ATTACK 헤더 삽입, 요청 스머글링 및 응답 분할로부터 보호
REQUEST-930-APPLICATION-ATTACK-LFI 파일 및 경로 공격으로부터 보호
REQUEST-931-APPLICATION-ATTACK-RFI RFI(원격 파일 포함) 공격으로부터 보호
REQUEST-932-APPLICATION-ATTACK-RCE 원격 코드 실행 공격으로부터 보호
REQUEST-933-APPLICATION-ATTACK-PHP PHP 삽입 공격으로부터 보호
REQUEST-941-APPLICATION-ATTACK-XSS 사이트 간 스크립팅 공격으로부터 보호
REQUEST-942-APPLICATION-ATTACK-SQLI SQL 삽입 공격으로부터 보호
REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION 세션 고정 공격으로부터 보호
REQUEST-944-APPLICATION-ATTACK-JAVA JAVA 공격으로부터 보호

OWASP CRS 3.1

CRS 3.1에는 다음 표와 같이 14개의 규칙 그룹이 포함되어 있습니다. 각 그룹은 비활성화할 수 있는 여러 개의 규칙을 포함합니다. 규칙 집합은 OWASP CRS 3.1.1 버전을 기반으로 합니다.

참고 항목

CRS 3.1은 WAF_v2 SKU에서만 사용할 수 있습니다.

규칙 그룹 이름 설명
일반 일반 그룹
KNOWN-CVES 신규 및 알려진 CVE 검색 도움말
REQUEST-911-METHOD-ENFORCEMENT 잠금 메서드(PUT, PATCH)
REQUEST-913-SCANNER-DETECTION 포트 및 환경 스캐너로부터 보호
REQUEST-920-PROTOCOL-ENFORCEMENT 프로토콜 및 인코딩 문제로부터 보호
REQUEST-921-PROTOCOL-ATTACK 헤더 삽입, 요청 스머글링 및 응답 분할로부터 보호
REQUEST-930-APPLICATION-ATTACK-LFI 파일 및 경로 공격으로부터 보호
REQUEST-931-APPLICATION-ATTACK-RFI RFI(원격 파일 포함) 공격으로부터 보호
REQUEST-932-APPLICATION-ATTACK-RCE 원격 코드 실행 공격으로부터 보호
REQUEST-933-APPLICATION-ATTACK-PHP PHP 삽입 공격으로부터 보호
REQUEST-941-APPLICATION-ATTACK-XSS 사이트 간 스크립팅 공격으로부터 보호
REQUEST-942-APPLICATION-ATTACK-SQLI SQL 삽입 공격으로부터 보호
REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION 세션 고정 공격으로부터 보호
REQUEST-944-APPLICATION-ATTACK-SESSION-JAVA JAVA 공격으로부터 보호

OWASP CRS 3.0

CRS 3.0에는 다음 표와 같이 13개의 규칙 그룹이 포함되어 있습니다. 각 그룹은 비활성화할 수 있는 여러 개의 규칙을 포함합니다. 규칙 집합은 OWASP CRS 3.0.0 버전을 기반으로 합니다.

규칙 그룹 이름 설명
일반 일반 그룹
KNOWN-CVES 신규 및 알려진 CVE 검색 도움말
REQUEST-911-METHOD-ENFORCEMENT 잠금 메서드(PUT, PATCH)
REQUEST-913-SCANNER-DETECTION 포트 및 환경 스캐너로부터 보호
REQUEST-920-PROTOCOL-ENFORCEMENT 프로토콜 및 인코딩 문제로부터 보호
REQUEST-921-PROTOCOL-ATTACK 헤더 삽입, 요청 스머글링 및 응답 분할로부터 보호
REQUEST-930-APPLICATION-ATTACK-LFI 파일 및 경로 공격으로부터 보호
REQUEST-931-APPLICATION-ATTACK-RFI RFI(원격 파일 포함) 공격으로부터 보호
REQUEST-932-APPLICATION-ATTACK-RCE 원격 코드 실행 공격으로부터 보호
REQUEST-933-APPLICATION-ATTACK-PHP PHP 삽입 공격으로부터 보호
REQUEST-941-APPLICATION-ATTACK-XSS 사이트 간 스크립팅 공격으로부터 보호
REQUEST-942-APPLICATION-ATTACK-SQLI SQL 삽입 공격으로부터 보호
REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION 세션 고정 공격으로부터 보호

OWASP CRS 2.2.9

CRS 2.2.9에는 다음 표와 같이 10개의 규칙 그룹이 포함되어 있습니다. 각 그룹은 비활성화할 수 있는 여러 개의 규칙을 포함합니다.

참고 항목

CRS 2.2.9는 새 WAF 정책에 더 이상 지원되지 않습니다. 최신 CRS 3.2/DRS 2.1 이상 버전으로 업그레이드하는 것이 좋습니다.

규칙 그룹 이름 설명
crs_20_protocol_violations 프로토콜 위반(요청 본문에 잘못된 문자 또는 GET)으로부터 보호
crs_21_protocol_anomalies 잘못된 헤더 정보로부터 보호
crs_23_request_limits 한계를 초과하는 인수 또는 파일로부터 보호
crs_30_http_policy 제한된 메서드, 헤더 및 파일 유형으로부터 보호
crs_35_bad_robots 웹 크롤러가 및 스캐너로부터 보호
crs_40_generic_attacks 일반 공격(세션 고정, 원격 파일 포함, PHP 삽입 등)으로부터 보호
crs_41_sql_injection_attacks SQL 삽입 공격으로부터 보호
crs_41_xss_attacks 사이트 간 스크립팅 공격으로부터 보호
crs_42_tight_security 경로 순회 공격으로부터 보호
crs_45_trojans 백도어 트로이 목마로부터 보호

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 알 수 없는 봇 식별

다음 규칙 그룹 및 규칙은 Application Gateway에서 웹 애플리케이션 방화벽을 사용할 때 사용할 수 있습니다.

2.1 규칙 집합

일반

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

METHOD ENFORCEMENT

RuleId 설명
911100 정책에서 허용하지 않는 메서드

PROTOCOL-ENFORCEMENT

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 Encoding 남용 공격 시도
920230 여러 URL Encoding 감지됨
920240 URL Encoding 남용 공격 시도
920260 유니코드 전자/반자 남용 공격 시도
920270 요청에 잘못된 문자(null 문자)
920271 요청에 잘못된 문자(인쇄할 수 없는 문자)
920280 호스트 헤더가 누락된 요청
920290 빈 호스트 헤더
920300 Accept 헤더가 누락된 요청
920310 요청에 빈 Accept 헤더가 있음
920311 요청에 빈 Accept 헤더가 있음
920320 사용자 에이전트 헤더 누락
920330 빈 사용자 에이전트 헤더
920340 요청에 콘텐츠가 있지만 Content-Type 헤더가 누락됨
920341 콘텐츠가 있는 요청은 Content-Type 헤더 필요
920350 호스트 헤더가 숫자 IP 주소
920420 요청 콘텐츠 유형이 정책에서 허용되지 않음
920430 HTTP 프로토콜 버전이 정책에서 허용되지 않음
920440 URL 파일 확장명이 정책에서 허용되지 않음
920450 HTTP 헤더가 정책에서 제한됨
920470 잘못된 Content-Type 헤더
920480 요청 콘텐츠 유형 문자 집합이 정책에서 허용되지 않음
920500 백업 또는 작업 파일에 액세스 시도

PROTOCOL-ATTACK

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 잘못된 형식의 Encoding XSS 필터 - 공격 감지됨.
941320 가능한 XSS 공격 감지됨 - HTML 태그 처리기
941330 IE XSS 필터 - 공격 감지됨.
941340 IE XSS 필터 - 공격 감지됨.
941350 UTF-7 Encoding IE XSS - 공격 감지됨.
941360 JavaScript 난독 처리가 검색됨.
941370 JavaScript 전역 변수 발견
941380 AngularJS 클라이언트 쪽 템플릿 삽입이 검색됨

SQLI - SQL 삽입

RuleId 설명
942100 libinjection을 통한 SQL 삽입 공격 감지됨
942110 SQL 삽입 공격: 일반적인 삽입 테스트 감지됨
942120 SQL 삽입 공격: SQL 연산자 감지됨
942130 SQL 삽입 공격: SQL Tautology 감지됨
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 삽입, waitfor delay 공격 및 데이터베이스 종료 시도 감지
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진수 Encoding이 식별됨
942460 메타 문자 이상 감지 경고 - 반복적인 단어가 아닌 문자
942470 SQL 삽입 공격
942480 SQL 삽입 공격
942500 MySQL 인라인 주석이 검색되었습니다.
942510 틱 또는 백틱에 의한 SQLi 바이패스 시도가 검색되었습니다.

SESSION-FIXATION

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

*이 규칙의 작업은 기본적으로 로그로 설정됩니다. Apache Struts 취약성을 방지하기 위해 작업을 차단으로 설정합니다. 이 규칙에 대해 변칙 점수가 지원되지 않습니다.

참고 항목

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

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

다음 단계