Straipsnių katalogas
Kai jūsų užkardos taisyklių sąrašas išsipučia iki tūkstančių įrašų, rankinis jų ištrynimas yra tarsi smėlio grūdelių skaičiavimas dykumoje – tai užima daug laiko ir yra skausminga.
Šiuo metu automatizuoti scenarijai tampa gelbėjimosi mechanizmu.
Kodėl reikalingos automatinio valymo taisyklės?
Naudodami „Cloudflare“ kaip CDN ir WAF, dažnai konfigūruojame IP prieigos taisykles , kad blokuotume kenkėjiškas užklausas.
Šiose taisyklėse gali būti tokių komentarų kaip „Užblokavo AI B“ , „Wordfence Sync“ arba „Žinomas užpuoliko IP adresas“.
Taisyklių skaičius laikui bėgant sparčiai didės.
Jei nebus išvalytos, konsolės taisyklės kaupsis ir paveiks valdymo efektyvumą.
Dar blogiau, „Cloudflare“ konsolėje nėra funkcijos „vienu spustelėjimu ištrinti paketą pagal komentarą“.
Tai reiškia, kad galite juos pasirinkti ir ištrinti tik rankiniu būdu po vieną, o tai yra itin neefektyvu.
Sprendimas
Šiai problemai išspręsti galime naudoti „Cloudflare“ REST API.
Paskambinus firewall/access_rules/rules Sąsajos ir scenarijai gali:
- Gauti puslapiavimąVisos dabartinio domeno taisyklės.
- Atitinkantys komentaraiRaktiniai žodžiai lauke.
- Automatiškai inicijuoti IŠTRINIMO užklausąPaketinio valymo paskirties taisyklės.
Šis metodas yra ne tik efektyvus, bet ir padeda išvengti žmogiškųjų klaidų.

Parengiamieji darbai
Prieš pradėdami rašyti scenarijų, turite paruošti kelis pagrindinius parametrus.
1. API prieigos raktas
Norėdami sukurti naują žetoną, eikite į „Cloudflare“ API žetonų puslapį .
Turi būti suteikti leidimai: Zona → Užkardos paslaugos → Redaguoti.
2. Zonos ID
Prisijunkite prie „Cloudflare“ konsolės, eikite į savo domeno apžvalgos puslapį ir dešinėje rasite 32 skaitmenų zonos ID.
3. Įdiekite priklausomybių bibliotekas
Paleiskite „PowerShell“ arba terminale:
python -m pip install requests
Tai leis jums jį įdiegti. requests Biblioteka užtikrina, kad scenarijus galėtų teisingai iškviesti API.
Užbaigtas Python skriptas
Žemiau pateikiamas paruoštas naudoti Python skriptas.
Išsaugoti kaip cloudflare_clean.pyPakeisti API_TOKEN Ir ZONE_ID GERAI.
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()
paleisti scenarijų
Terminale įveskite:
python /path/to/cloudflare_clean.py
Scenarijus automatiškai nuskaitys ir ištrins taisykles su nurodytais komentarais.
Dažnai užduodami klausimai ir trikčių šalinimo vadovas
1. Zonos ir paskyros leidimai
- Zonos lygio taisyklės: taikomos tik vienam domenui.
- Paskyros lygio taisyklės: taikomos visai paskyrai; reikia modifikuoti API kelią.
/accounts/{ACCOUNT_ID}/....
2. Autentifikavimo klaidų ataskaitų teikimas
Jei pasirodo 403 Authentication errorPaprastai tai nutinka dėl neteisingo teisių apimties nustatymo.
Įsitikinkite, kad prieigos rakto leidimas apima „Ugniasienės paslaugos“ → „Redaguoti“.
3. Puslapiavimo mechanizmas
„Cloudflare“ API vienu metu grąžina daugiausia 100 taisyklių.
Scenarijus praeina result_info.total_pages Automatinis puslapių vartymas užtikrina visišką nuskaitymą.
Kodėl automatizavimas yra neišvengiamas pasirinkimas
Realioje gamybinėje aplinkoje taisyklių skaičius gali lengvai viršyti 5000.
Rankinis trynimas ne tik užima daug laiko, bet ir yra linkęs į praleidimus.
Naudodami automatizavimo scenarijus galite:
- Nebegaliojančios taisyklės išvalomos kasdien.
- Palaikykite švarų užkardos taisyklių sąrašą.
- Kad būtų išvengta klaidingo teisėtų vartotojų uždraudimo.
Šis metodas leidžia efektyviau valdyti svetainės saugumą.
Oficialioje „Cloudflare“ dokumentacijoje aiškiai nurodyta:
"API suteikia programinę prieigą prie užkardos taisyklių valdymo, įskaitant kūrimą, įtraukimą į sąrašą ir ištrynimą."
来源:„Cloudflare“ API dokumentacija
Tai rodo, kad pateikta oficiali API, tačiau konsolėje neįdiegta paketinio trynimo funkcija.
Išvada
Informacijos saugumo pasaulyje efektyvumas yra gynyba.
Iškvietę „Cloudflare“ API per „Python“ scenarijus, mes ne tik įveikėme konsolės apribojimus, bet ir pradėjome ugniasienės taisyklių valdymo automatizavimo erą.
Tai technologijų ir išminties derinys ir neišvengiama tendencija svetainių saugumo operacijose.
Tikri meistrai negaišta dienų spustelėdami pelę konsolėje; jie naudoja kodą, kad mašinos atliktų nuobodų darbą už juos.
Taigi, imkimės veiksmų.
Padarykite taip, kad jūsų užkardos taisyklės veiktų kaip tikslus laikrodis, o ne kaip netvarkingų skaitmeninių šiukšlių kratinys.
Saugumo esmė yra tvarka. O už tvarkos slypi automatizavimas.
Tikiuosi, kad jums bus naudingas straipsnis „Kaip automatiškai paketiniu būdu išvalyti IP prieigos taisykles su nurodytais komentarais WAF naudojant „Cloudflare API + Python““, kuriuo pasidalinta Chen Weiliang tinklaraštyje ( https://www.chenweiliang.com/ ).
Nedvejodami pasidalinkite šio straipsnio nuoroda: https://www.chenweiliang.com/cwl-34436.html
