Kaip automatiškai ir partijomis išvalyti komentuotas IP prieigos taisykles WAF naudojant „Cloudflare“ API ir „Python“

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ų.

Kaip automatiškai ir partijomis išvalyti komentuotas IP prieigos taisykles WAF naudojant „Cloudflare“ API ir „Python“
Kaip automatiškai ir partijomis išvalyti komentuotas IP prieigos taisykles WAF naudojant „Cloudflare“ API ir „Python“

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

Norėdami atskleisti daugiau paslėptų triukų🔑, prisijunkite prie mūsų „Telegram“ kanalo!

Dalinkitės ir like jei patiko! Jūsų pasidalinimai ir mygtukai „Patinka“ yra mūsų nuolatinė motyvacija!

 

发表 评论

您的邮箱地址不会被公开.必填项已用*标注

Pereikite į viršų