O recurso ALIYUN::DDoS::Policy cria uma política de mitigação do Anti-DDoS.
Sintaxe
{
"Type": "ALIYUN::DDoS::Policy",
"Properties": {
"PolicyName": String,
"Type": String,
"ActionType": String,
"BlackIpList": List,
"Content": Map,
"WhiteIpList": List
}
}
Propriedades
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
PolicyName |
String |
Sim |
Sim |
Nome da política. |
Nenhuma. |
|
Type |
String |
Sim |
Não |
Tipo da política. |
Valores válidos:
|
|
ActionType |
String |
Não |
Não |
Tipo da ação. |
Valores válidos:
|
|
BlackIpList |
List |
Não |
Não |
Endereços IP na lista de bloqueios. |
A lista de bloqueios pode conter até 1.999 endereços IP. |
|
Content |
Map |
Não |
Sim |
Conteúdo da política. |
Para mais informações, consulte Propriedades de Content. |
|
WhiteIpList |
List |
Não |
Não |
Endereços IP na lista de permissões. |
A lista de permissões pode conter até 1.999 endereços IP. |
Sintaxe de Content
"Content": {
"WhitenGfbrNets": Boolean,
"PortRuleList": List,
"RegionBlockCountryList": List,
"RegionBlockProvinceList": List,
"FingerPrintRuleList": List,
"SourceLimit": Map,
"EnableDefense": Boolean,
"EnableIntelligence": Boolean,
"SourceBlockList": List,
"EnableDropIcmp": Boolean,
"IntelligenceLevel": String,
"ReflectBlockUdpPortList": List,
"BlackIpListExpireAt": Integer,
"Layer4RuleList": List
}
Propriedades de Content
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
BlackIpListExpireAt |
Integer |
Não |
Sim |
Tempo de expiração da lista de bloqueios de endereços IP. |
Nenhuma. |
|
EnableDefense |
Boolean |
Não |
Sim |
Defina se a mitigação específica para porta deve ser ativada. |
Nenhuma. |
|
EnableIntelligence |
Boolean |
Não |
Sim |
Defina se a proteção inteligente deve ser ativada. |
Nenhuma. |
|
EnableDropIcmp |
Boolean |
Não |
Sim |
Defina se o bloqueio de ICMP deve ser ativado. |
Nenhuma. |
|
FingerPrintRuleList |
List |
Não |
Sim |
Regras de filtro de correspondência de bytes. |
É possível configure até oito regras. Para mais informações, consulte Propriedades de FingerPrintRuleList. |
|
IntelligenceLevel |
String |
Não |
Sim |
Nível da proteção inteligente. |
Valores válidos:
|
|
Layer4RuleList |
List |
Não |
Sim |
Regras de mitigação específicas para porta. |
É possível configure até oito regras. Para mais informações, consulte Propriedades de Layer4RuleList. |
|
PortRuleList |
List |
Não |
Sim |
Regras de bloqueio de porta. |
É possível configure até oito regras. Para mais informações, consulte Propriedades de PortRuleList. |
|
RegionBlockCountryList |
List |
Não |
Sim |
Países incluídos na lista de bloqueios por localização. |
Nenhuma. |
|
RegionBlockProvinceList |
List |
Não |
Sim |
Províncias incluídas na lista de bloqueios por localização. |
Nenhuma. |
|
ReflectBlockUdpPortList |
List |
Não |
Sim |
Portas filtradas pelas políticas de ataque de reflexão UDP. |
Exemplo: {'Length': {'Min': 0, 'Max': 20}}. |
|
SourceLimit |
Map |
Não |
Sim |
Configurações para limitação de taxa de source. |
Para mais informações, consulte Propriedades de SourceLimit. |
|
SourceBlockList |
List |
Não |
Sim |
Endereços IP de source bloqueados devido à limitação de taxa de source. |
Para mais informações, consulte Propriedades de SourceBlockList. |
|
WhitenGfbrNets |
Boolean |
Não |
Sim |
Defina se os blocos CIDR de back-to-origin do Anti-DDoS Proxy devem ser adicionados à lista de permissões. |
Nenhuma. |
Sintaxe de PortRuleList
"PortRuleList": [
{
"SrcPortEnd": Integer,
"SeqNo": Integer,
"SrcPortStart": Integer,
"PortRuleId": String,
"DstPortStart": Integer,
"DstPortEnd": Integer,
"Protocol": String
}
]
Propriedades de PortRuleList
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
DstPortStart |
Integer |
Sim |
Sim |
Início do intervalo de portas de destino. |
Valores válidos: 0 a 65535. |
|
DstPortEnd |
Integer |
Sim |
Sim |
Fim do intervalo de portas de destino. |
Valores válidos: 0 a 65535. |
|
Protocol |
String |
Sim |
Sim |
Tipo do protocolo. |
Valores válidos:
|
|
SrcPortEnd |
Integer |
Sim |
Sim |
Fim do intervalo de portas de source. |
Valores válidos: 0 a 65535. |
|
SeqNo |
Integer |
Sim |
Sim |
Número de sequência que indica a ordem em que a regra de bloqueio de porta entra em vigor. |
Nota
Um número menor indica maior prioridade. |
|
SrcPortStart |
Integer |
Sim |
Sim |
Início do intervalo de portas de source. |
Valores válidos: 0 a 65535. |
|
PortRuleId |
String |
Não |
Sim |
ID da regra de bloqueio de porta. |
Nenhuma. |
Sintaxe de FingerPrintRuleList
"FingerPrintRuleList": [
{
"SrcPortEnd": Integer,
"SeqNo": Integer,
"SrcPortStart": Integer,
"FingerPrintRuleId": String,
"RateValue": Integer,
"PayloadBytes": String,
"DstPortStart": Integer,
"MatchAction": String,
"Offset": Integer,
"MaxPktLen": Integer,
"MinPktLen": Integer,
"DstPortEnd": Integer,
"Protocol": String
}
]
Propriedades de FingerPrintRuleList
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
DstPortStart |
Integer |
Sim |
Sim |
Início do intervalo de portas de destino. |
Valores válidos: 0 a 65535. |
|
DstPortEnd |
Integer |
Sim |
Sim |
Fim do intervalo de portas de destino. |
Valores válidos: 0 a 65535. |
|
MatchAction |
String |
Sim |
Sim |
Ação acionada quando a regra de filtro de correspondência de bytes é atendida. |
Valores válidos:
|
|
MaxPktLen |
Integer |
Sim |
Sim |
Comprimento máximo do pacote. |
Valores válidos: 1 a 1500. |
|
MinPktLen |
Integer |
Sim |
Sim |
Comprimento mínimo do pacote. |
Valores válidos: 1 a 1500. |
|
Protocol |
String |
Sim |
Sim |
Tipo do protocolo. |
Valores válidos:
|
|
SrcPortEnd |
Integer |
Sim |
Sim |
Fim do intervalo de portas de source. |
Valores válidos: 0 a 65535. |
|
SeqNo |
Integer |
Sim |
Sim |
Número de sequência que indica a ordem em que a regra de filtro de correspondência de bytes entra em vigor. |
O valor desta propriedade deve ser um número inteiro. Nota
Um número menor indica maior prioridade. |
|
SrcPortStart |
Integer |
Sim |
Sim |
Início do intervalo de portas de source. |
Valores válidos: 0 a 65535. |
|
FingerPrintRuleId |
String |
Não |
Sim |
ID da regra de filtro de correspondência de bytes. |
Nenhuma. |
|
Offset |
Integer |
Não |
Sim |
Deslocamento. |
Valores válidos: 0 a 1500. |
|
PayloadBytes |
String |
Não |
Sim |
Payload. |
Nenhuma. |
|
RateValue |
Integer |
Não |
Sim |
Limite de taxa. |
Valores válidos: 1 a 100000. Nota
Especifique esta propriedade quando MatchAction for definido como ip_rate ou session_rate. |
Sintaxe de SourceLimit
"SourceLimit": {
"Pps": Integer,
"SynBps": Integer,
"Bps": Integer,
"SynPps": Integer
}
Propriedades de SourceLimit
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
Bps |
Integer |
Não |
Sim |
Limite de largura de banda para endereços IP de source. |
Unidade: bytes por segundo. |
|
Pps |
Integer |
Não |
Sim |
Limite de pacotes por segundo (pps) para endereços IP de source. |
Unidade: pps. |
|
SynBps |
Integer |
Não |
Sim |
Limite de largura de banda para pacotes SYN de source. |
Unidade: bytes por segundo. |
|
SynPps |
Integer |
Não |
Sim |
Limite de pps para pacotes SYN de source. |
Unidade: pps. |
Sintaxe de SourceBlockList
"SourceBlockList": [
{
"Type": Integer,
"ExceedLimitTimes": Integer,
"EverySeconds": Integer,
"BlockExpireSeconds": Integer
}
]
Propriedades de SourceBlockList
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
BlockExpireSeconds |
Integer |
Sim |
Sim |
Período de validade da entrada na lista de bloqueios para o endereço IP de source. |
Unidade: segundos. |
|
ExceedLimitTimes |
Integer |
Sim |
Sim |
Número de vezes que o endereço IP de source excede um limite dentro de um período estatístico. |
Nenhuma. |
|
EverySeconds |
Integer |
Sim |
Sim |
Período estatístico para coleta de dados sobre endereços IP de source, usado para determinar se devem ser bloqueados. |
Unidade: segundos. |
|
Type |
Integer |
Sim |
Sim |
Tipo do limite de taxa de source. |
Valores válidos:
|
Sintaxe de Layer4RuleList
"Layer4RuleList": [
{
"Action": String,
"ConditionList": List,
"Priority": Integer,
"Method": String,
"Limited": Integer,
"Name": String,
"Match": String
}
]
Propriedades de Layer4RuleList
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
Action |
String |
Sim |
Sim |
Ação. |
Valores válidos:
|
|
ConditionList |
List |
Sim |
Sim |
Condições de correspondência. |
Para mais informações, consulte Propriedades de ConditionList. |
|
Limited |
Integer |
Sim |
Sim |
Número mínimo de bytes em uma sessão para acionar a correspondência. |
Valores válidos: 0 a 2048. |
|
Method |
String |
Sim |
Sim |
Tipo da regra. |
Valores válidos:
|
|
Match |
String |
Sim |
Sim |
Condição que determina se a ação especificada na regra é executada. |
Valores válidos:
|
|
Name |
String |
Sim |
Sim |
Nome da regra. |
Nenhuma. |
|
Priority |
Integer |
Sim |
Sim |
Prioridade da regra. |
Valores válidos: 1 a 100. Nota
Um valor menor indica maior prioridade. |
Sintaxe de ConditionList
"ConditionList": [
{
"Position": Integer,
"Arg": String,
"Depth": Integer
}
]
Propriedades de ConditionList
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
Arg |
String |
Sim |
Sim |
Termo usado para correspondência. |
Nota
Se você defina Method como char, o valor de Arg deve ser uma string ASCII. Se você defina Method como hex, o valor de Arg deve ser uma string hexadecimal. O termo pode ter até 2.048 caracteres. |
|
Depth |
Integer |
Sim |
Sim |
Número de bytes a partir da posição inicial para correspondência. |
Valores válidos: 1 a 2048. |
|
Position |
Integer |
Sim |
Sim |
Posição inicial para correspondência. |
Valores válidos: 0 a 2047. |
Valores de retorno
Fn::GetAtt
Type: tipo da política.
Content: conteúdo da política.
PolicyName: nome da política.
PolicyId: ID da política.
Exemplos
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
PolicyName:
Description:
en: The name of the policy.
Required: true
Type: String
Default: test_policy_312
Resources:
ExtensionResource:
Properties:
Content:
EnableIntelligence: true
SourceBlockList:
- Type: 4
ExceedLimitTimes: 5
EverySeconds: 60
BlockExpireSeconds: 1200
- Type: 3
ExceedLimitTimes: 5
EverySeconds: 60
BlockExpireSeconds: 2400
- Type: 6
ExceedLimitTimes: 5
EverySeconds: 60
BlockExpireSeconds: 3360
- Type: 5
ExceedLimitTimes: 5
EverySeconds: 60
BlockExpireSeconds: 180
EnableDropIcmp: true
PortRuleList:
- SrcPortEnd: 65535
SrcPortStart: 0
SeqNo: 1
DstPortStart: 0
DstPortEnd: 65535
MatchAction: drop
Protocol: udp
- SrcPortEnd: 65535
SrcPortStart: 333
SeqNo: 2
DstPortStart: 666
DstPortEnd: 65535
MatchAction: drop
Protocol: tcp
IntelligenceLevel: weak
RegionBlockProvinceList:
- 11
ReflectBlockUdpPortList:
- 137
- 99
- 916
FingerPrintRuleList:
- SrcPortEnd: 65535
SrcPortStart: 56
SeqNo: 1
PayloadBytes: '16'
RateValue: 100
DstPortStart: 69
MatchAction: ip_rate
Offset: 56
MaxPktLen: 33
DstPortEnd: 65535
MinPktLen: 2
Protocol: tcp
SourceLimit:
Pps: 66
SynBps: 1024
Bps: 1024
SynPps: 66
BlackIpListExpireAt: 1734489860
PolicyName:
Ref: PolicyName
Type: ALIYUN::DDoS::Policy
Outputs:
Content:
Description: Configuration Content.
Value:
Fn::GetAtt:
- ExtensionResource
- Content
PolicyId:
Description: The ID of the policy.
Value:
Fn::GetAtt:
- ExtensionResource
- PolicyId
PolicyName:
Description: The name of the policy.
Value:
Fn::GetAtt:
- ExtensionResource
- PolicyName
Type:
Description: The type of the policy.
Value:
Fn::GetAtt:
- ExtensionResource
- Type
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"PolicyName": {
"Description": {
"en": "The name of the policy."
},
"Required": true,
"Type": "String",
"Default": "test_policy_312"
}
},
"Resources": {
"ExtensionResource": {
"Properties": {
"Content": {
"EnableIntelligence": true,
"SourceBlockList": [
{
"Type": 4,
"ExceedLimitTimes": 5,
"EverySeconds": 60,
"BlockExpireSeconds": 1200
},
{
"Type": 3,
"ExceedLimitTimes": 5,
"EverySeconds": 60,
"BlockExpireSeconds": 2400
},
{
"Type": 6,
"ExceedLimitTimes": 5,
"EverySeconds": 60,
"BlockExpireSeconds": 3360
},
{
"Type": 5,
"ExceedLimitTimes": 5,
"EverySeconds": 60,
"BlockExpireSeconds": 180
}
],
"EnableDropIcmp": true,
"PortRuleList": [
{
"SrcPortEnd": 65535,
"SrcPortStart": 0,
"SeqNo": 1,
"DstPortStart": 0,
"DstPortEnd": 65535,
"MatchAction": "drop",
"Protocol": "udp"
},
{
"SrcPortEnd": 65535,
"SrcPortStart": 333,
"SeqNo": 2,
"DstPortStart": 666,
"DstPortEnd": 65535,
"MatchAction": "drop",
"Protocol": "tcp"
}
],
"IntelligenceLevel": "weak",
"RegionBlockProvinceList": [
11
],
"ReflectBlockUdpPortList": [
137,
99,
916
],
"FingerPrintRuleList": [
{
"SrcPortEnd": 65535,
"SrcPortStart": 56,
"SeqNo": 1,
"PayloadBytes": "16",
"RateValue": 100,
"DstPortStart": 69,
"MatchAction": "ip_rate",
"Offset": 56,
"MaxPktLen": 33,
"DstPortEnd": 65535,
"MinPktLen": 2,
"Protocol": "tcp"
}
],
"SourceLimit": {
"Pps": 66,
"SynBps": 1024,
"Bps": 1024,
"SynPps": 66
},
"BlackIpListExpireAt": 1734489860
},
"PolicyName": {
"Ref": "PolicyName"
}
},
"Type": "ALIYUN::DDoS::Policy"
}
},
"Outputs": {
"Content": {
"Description": "Configuration Content.",
"Value": {
"Fn::GetAtt": [
"ExtensionResource",
"Content"
]
}
},
"PolicyId": {
"Description": "The ID of the policy.",
"Value": {
"Fn::GetAtt": [
"ExtensionResource",
"PolicyId"
]
}
},
"PolicyName": {
"Description": "The name of the policy.",
"Value": {
"Fn::GetAtt": [
"ExtensionResource",
"PolicyName"
]
}
},
"Type": {
"Description": "The type of the policy.",
"Value": {
"Fn::GetAtt": [
"ExtensionResource",
"Type"
]
}
}
}
}