Як аўтаматычна і пакетна ачышчаць закаментаваныя правілы доступу да IP-адраса ў WAF з дапамогай Cloudflare API і Python

Калі спіс правілаў брандмаўэра павялічыцца да тысяч запісаў, іх выдаленне ўручную будзе падобным на падлік пясчынак у пустыні — працаёмкі і балючы працэс.

У гэты момант аўтаматызаваныя скрыпты становяцца выратаваннем.

Навошта патрэбныя правілы аўтаматычнай ачысткі?

Пры выкарыстанні Cloudflare як CDN, так і WAF нам часта трэба наладзіць... Правілы доступу да IP-адрасоў Каб блакаваць шкоднасныя запыты.

Гэтыя правілы могуць уключаць каментарыі, такія як «Заблакіравана» AIB ",Сінхранізацыя Wordfence Або IP-адрас зламысніка вядомы.

Колькасць правілаў будзе хутка павялічвацца з часам.

Калі не прыбраць правілы, яны будуць назапашвацца ў кансолі, што паўплывае на эфектыўнасць кіравання.

Што яшчэ горш, кансоль Cloudflare не прапануе функцыі «пакетнага выдалення каментара адным пстрычкай мышы».

Гэта азначае, што вы можаце ўручную выбіраць і выдаляць іх толькі па адным, што надзвычай неэфектыўна.

Рашэнне

Каб вырашыць гэтую праблему, мы можам выкарыстоўваць REST API Cloudflare.

Патэлефанаваўшы firewall/access_rules/rules Інтэрфейсы і скрыпты могуць:

  • Атрымаць пагінацыюУсе правілы ў бягучым дамене.
  • Супадзенні ў каментарахКлючавыя словы ў полі.
  • Аўтаматычна ініцыяваць запыт на выдаленнеПравілы пакетнай ачысткі мэтаў.

Гэты метад не толькі эфектыўны, але і дазваляе пазбегнуць памылак з боку чалавека.

Як аўтаматычна і пакетна ачышчаць закаментаваныя правілы доступу да IP-адраса ў WAF з дапамогай Cloudflare API і Python
Як аўтаматычна і пакетна ачышчаць закаментаваныя правілы доступу да IP-адраса ў WAF з дапамогай Cloudflare API і Python

Падрыхтоўчая праца

Перш чым пачаць пісаць сцэнар, трэба падрыхтаваць некалькі ключавых параметраў.

1. Токен API

Перайсці да Старонка токенаў API Cloudflare Стварыце новы токен.

Дазволы павінны быць прадастаўлены:Зона → Службы брандмаўэра → Рэдагаваць.

2. Ідэнтыфікатар зоны

Увайдзіце ў кансоль Cloudflare і перайдзіце ў старонку вашага дамена... Старонка агляду32-значны ідэнтыфікатар зоны вы знойдзеце справа.

3. Усталюйце бібліятэкі залежнасцей

Запусціце ў PowerShell або тэрмінале:

python -m pip install requests

Гэта дазволіць вам усталяваць яго. requests Бібліятэка гарантуе, што скрыпт можа правільна выклікаць API.

Поўны скрыпт Python

Ніжэй прыведзены гатовы да выкарыстання скрыпт на Python.

Захаваць як cloudflare_clean.pyЗамяніць API_TOKENZONE_ID Вось і ўсё.

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()

Запусціце скрыпт

Увядзіце ў тэрмінал наступнае:

python /path/to/cloudflare_clean.py

Скрыпт аўтаматычна праскануе і выдаліць правілы з указанымі каментарамі.

Часта задаваныя пытанні і кіраўніцтва па ліквідацыі непаладак

1. Зона супраць дазволаў уліковага запісу

  • Правілы ўзроўню зоны: прымяняюцца толькі да аднаго дамена.
  • Правілы ўзроўню ўліковага запісу: прымяняюцца да ўсяго ўліковага запісу; патрабуюць змены шляху API. /accounts/{ACCOUNT_ID}/....

2. Паведамленне пра памылкі аўтэнтыфікацыі

Калі з'явіцца 403 Authentication errorЗвычайна гэта адбываецца з-за няправільнай налады вобласці дазволаў.

Пераканайцеся, што дазвол на токен уключае Службы брандмаўэра → Рэдагаваць.

3. Механізм пагінацыі

API Cloudflare вяртае максімум 100 правілаў адначасова.

Скрыпт праходзіць result_info.total_pages Аўтаматычнае перагортванне старонак забяспечвае поўнае сканаванне.

Чаму аўтаматызацыя — непазбежны выбар

У рэальным вытворчым асяроддзі колькасць правілаў можа лёгка перавысіць [пэўны парог]. 5000 条.

Ручное выдаленне не толькі займае шмат часу, але і схільнае да пропускаў.

З дапамогай сцэнарыяў аўтаматызацыі вы можаце:

  • Тэрмін дзеяння правілаў скончыўся штодня.
  • Падтрымлівайце спіс правілаў брандмаўэра ў чысціні і парадку.
  • Каб пазбегнуць памылковага блакавання законных карыстальнікаў.

Такі падыход робіць кіраванне бяспекай вэб-сайта больш эфектыўным.

У афіцыйнай дакументацыі Cloudflare выразна гаворыцца:

API забяспечвае праграмны доступ да кіравання правіламі брандмаўэра, у тым ліку да стварэння, пералічэння і выдалення.
来源:Дакументацыя па API Cloudflare

Гэта паказвае на тое, што афіцыйны API быў прадстаўлены, але функцыя пакетнага выдалення не была рэалізавана ў кансолі.

Выснова

У свеце інфармацыйнай бяспекі эфектыўнасць — гэта абарона.

Выклікаючы API Cloudflare праз скрыпты Python, мы не толькі пераадолелі абмежаванні кансолі, але і адкрылі эру аўтаматызацыі кіравання правіламі брандмаўэра.

Гэта Спалучэнне тэхналогій і мудрасціГэта таксама непазбежная тэндэнцыя ў аперацыях па бяспецы вэб-сайтаў.

Сапраўдныя майстры не праводзяць свае дні, клікаючы мышшу ў кансолі; яны выкарыстоўваюць код, каб прымусіць машыны рабіць за іх стомную працу.

Дык давайце дзейнічаць.

Зрабіце правілы вашага брандмаўэра падобнымі да дакладнага гадзінніка, а не да кучы лічбавага смецця.

Сутнасць бяспекі — гэта парадак. А за парадкам стаіць аўтаматызацыя.

Блог Hope Chen Weiliang ( https://www.chenweiliang.com/ Артыкул «Як аўтаматычна пакетна ачысціць правілы доступу да IP-адрасоў з указанымі каментарамі ў WAF з дапамогай Cloudflare API + Python», размешчаны тут, можа быць вам карысным.

Запрашаем падзяліцца спасылкай на гэты артыкул:https://www.chenweiliang.com/cwl-34436.html

Каб адкрыць больш схаваных хітрасцяў🔑, далучайцеся да нашага канала ў Telegram!

Падзяліцеся і пастаўце лайкі, калі вам гэта падабаецца! Вашы акцыі і лайкі - наша пастаянная матывацыя!

 

发表 评论

Ваш электронны адрас не будзе апублікаваны. 必填 项 已 用 * Этыкетка

Пракрутка да пачатку