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 튜닝을 참조하세요.