Directorio de artigos
Unha vez que a lista de regras do cortafuegos chega a miles de entradas, eliminalas manualmente é como contar grans de area no deserto: leva moito tempo e é doloroso.
Neste punto, os scripts automatizados convértense nun salvavidas.
Por que son necesarias as regras de limpeza automática?
En uso Cloudflare 作为 CDN 和 WAF 的过程中,我们经常会设置 Regras de acceso IP Para bloquear solicitudes maliciosas.
Estas regras poden incluír comentarios, como "Bloqueado por AIB ",Sincronización de Wordfence 或 "Coñécese o enderezo IP do atacante".
O número de regras aumentará rapidamente co tempo.
Se non se limpan, as regras da consola acumularanse, o que afectará á eficiencia da xestión.
Para empeorar as cousas, a consola de Cloudflare non ofrece unha función de "eliminación por lotes cun só clic por comentario".
Isto significa que só podes seleccionalos e eliminalos manualmente un por un, o que é extremadamente ineficiente.
Solución
Para resolver este problema, podemos usar API REST de Cloudflare.
Chamando firewall/access_rules/rules As interfaces e os scripts poden:
- Obter paginaciónTodas as regras baixo o dominio actual.
- Comentarios coincidentesPalabras clave no campo.
- Iniciar automaticamente unha solicitude de ELIMINARRegras de obxectivos de limpeza por lotes.
Este método non só é eficiente, senón que tamén evita o erro humano.

Traballo preparatorio
Antes de comezar a escribir o guión, debes preparar varios parámetros clave.
1. Token da API
Ir a Páxina de tokens da API de Cloudflare Crea un novo token.
Os permisos deben concederse:Zona → Servizos de cortafuegos → Editar.
2. ID da zona
Inicia sesión na consola de Cloudflare e vai ao teu dominio... Páxina de visión xeralPodes atopar o ID da zona de 32 díxitos á dereita.
3. Instalar bibliotecas de dependencias
Executar en PowerShell ou no terminal:
python -m pip install requests
Isto permitirache instalalo. requests A biblioteca garante que o script poida chamar á API correctamente.
Script completo de Python
A continuación móstrase un script de Python listo para usar.
Gardar como cloudflare_clean.pySubstituír API_TOKEN E ZONE_ID OK.
import requests
API_TOKEN = "你的_API_TOKEN"
ZONE_ID = "你的_ZONE_ID"
TARGET_NOTE = "Blocked by AIB"
headers = {
"Authorization": f"Bearer {API_TOKEN}",
"Content-Type": "application/json",
}
def delete_matching_ip_rules_zone():
page = 1
deleted_count = 0
while True:
url = f"https://api.cloudflare.com/client/v4/zones/{ZONE_ID}/firewall/access_rules/rules?page={page}&per_page=100"
response = requests.get(url, headers=headers)
if response.status_code != 200:
print(f"请求失败: {response.text}")
break
data = response.json()
rules = data.get("result", [])
if not rules:
break
for rule in rules:
rule_id = rule.get("id")
rule_value = rule.get("configuration", {}).get("value")
rule_notes = rule.get("notes", "")
if TARGET_NOTE in rule_notes:
del_url = f"{url}/{rule_id}"
del_res = requests.delete(del_url, headers=headers)
if del_res.json().get("success"):
print(f"✅ 删除成功: {rule_value}")
deleted_count += 1
result_info = data.get("result_info", {})
total_pages = result_info.get("total_pages", 1)
if page >= total_pages:
break
page += 1
print(f"清理完成,共删除 {deleted_count} 条规则。")
if __name__ == "__main__":
delete_matching_ip_rules_zone()
Executar o script
Introduza o seguinte no terminal:
python /path/to/cloudflare_clean.py
O script buscará e eliminará automaticamente as regras cos comentarios especificados.
Preguntas frecuentes e guía de resolución de problemas
1. Permisos de zona vs. de conta
- Regras a nivel de zona: aplícanse só a un único dominio.
- Regras a nivel de conta: aplícanse a toda a conta; requiren a modificación da ruta da API.
/accounts/{ACCOUNT_ID}/....
2. Notificación de erros de autenticación
Se aparece 403 Authentication errorIsto adoita deberse a unha configuración incorrecta do ámbito de permisos.
Asegúrate de que o permiso do token inclúa Servizos de cortafuegos → Editar.
3. Mecanismo de paxinación
A API de Cloudflare devolve un máximo de 100 regras á vez.
O guión pasa result_info.total_pages O paso de páxina automático garante unha dixitalización completa.
Por que a automatización é unha elección inevitable
Nun entorno de produción do mundo real, o número de regras pode superar facilmente [un certo limiar]. 5000 条.
A eliminación manual non só leva moito tempo, senón que tamén é propensa a omisións.
Cos scripts de automatización, podes:
- As regras caducadas elimínanse diariamente.
- Manteña limpa a lista de regras do cortafuegos.
- Para evitar bloquear por erro usuarios lexítimos.
Esta estratexia fai que a xestión da seguridade do sitio web sexa máis eficiente.
A documentación oficial de Cloudflare indica claramente:
"A API proporciona acceso programático para xestionar as regras do cortafuegos, incluíndo a creación, a listaxe e a eliminación."
fonte:Documentación da API de Cloudflare
Isto indica que se proporcionou a API oficial, pero a función de eliminación por lotes non se implementou na consola.
Conclusión
No mundo da seguridade da información, a eficiencia é defensa.
Ao chamar á API de Cloudflare mediante scripts de Python, non só superamos as limitacións da consola, senón que tamén marcamos o comezo dunha era de automatización para a xestión de regras de firewall.
Isto é un A combinación de tecnoloxía e sabedoríaEsta tamén é unha tendencia inevitable nas operacións de seguridade dos sitios web.
Os verdadeiros mestres non pasan os días facendo clic co rato na consola; usan código para que as máquinas fagan o traballo tedioso por eles.
Entón, tomemos medidas.
Fai que as regras do teu cortafuegos funcionen como un reloxo preciso, non como unha mestura de lixo dixital desordenado.
A esencia da seguridade é a orde. E detrás da orde reside a automatización.
Blog de Hope Chen Weiliang ( https://www.chenweiliang.com/ O artigo "Como limpar automaticamente por lotes as regras de acceso IP con comentarios específicos en WAF usando a API de Cloudflare + Python" compartido aquí pode serche útil.
Benvido a compartir a ligazón deste artigo:https://www.chenweiliang.com/cwl-34436.html
