Cloudflare API жана Python аркылуу WAF'та комментарийленген IP кирүү эрежелерин кантип автоматтык түрдө жана топ-топ менен тазалоо керек

Брандмауэр эрежелеринин тизмеси миңдеген жазууларга чейин көбөйгөндөн кийин, аларды кол менен жок кылуу чөлдөгү кумдун дандарын санаганга окшош — бул көп убакытты талап кылат жана азаптуу.

Бул учурда, автоматташтырылган сценарийлер куткаруучуга айланат.

Эмне үчүн автоматтык тазалоо эрежелери керек?

Cloudflare'ди CDN жана WAF катары колдонгондо , биз көп учурда зыяндуу суроо-талаптарды бөгөттөө үчүн IP кирүү эрежелерин конфигурациялайбыз.

Бул эрежелерге " AI B тарабынан бөгөттөлдү " , "Wordfence Sync" же "Белгилүү чабуулчунун IP дареги" сыяктуу аннотациялар кириши мүмкүн.

Убакыттын өтүшү менен эрежелердин саны тездик менен көбөйөт.

Эгер тазаланбаса, консолдогу эрежелер үйүлүп, башкаруунун натыйжалуулугуна таасир этет.

Андан да жаманы, Cloudflare консолу "комментарий боюнча бир чыкылдатуу менен топтук өчүрүү" функциясын сунуштабайт.

Бул сиз аларды бирден кол менен тандап жана жок кыла аласыз дегенди билдирет, бул өтө натыйжасыз.

Чечим

Бул көйгөйдү чечүү үчүн биз Cloudflare REST API колдоно алабыз.

Чалуу менен firewall/access_rules/rules Интерфейстер жана скрипттер төмөнкүлөрдү аткара алышат:

  • Баракчалоону алыңызУчурдагы домендин алкагындагы бардык эрежелер.
  • Дал келген комментарийлерТалаадагы ачкыч сөздөр.
  • DELETE сурамын автоматтык түрдө баштооТоптомдук тазалоо максатынын эрежелери.

Бул ыкма натыйжалуу гана болбостон, адамдын катасынан да сактайт.

Cloudflare API жана Python аркылуу WAF'та комментарийленген IP кирүү эрежелерин кантип автоматтык түрдө жана топ-топ менен тазалоо керек
Cloudflare API жана Python аркылуу WAF'та комментарийленген IP кирүү эрежелерин кантип автоматтык түрдө жана топ-топ менен тазалоо керек

Даярдык иштери

Сценарий жазууну баштоодон мурун, сиз бир нече негизги параметрлерди даярдашыңыз керек.

1. API токени

Жаңы токен түзүү үчүн Cloudflare API Токендер барагына өтүңүз .

Уруксаттар берилиши керек: Зона → Брандмауэр кызматтары → Түзөтүү.

2. Зона идентификатору

Cloudflare консолуна кирип, домениңиздин сереп барагына өтүңүз , ошондо оң жагынан 32 орундуу зонанын идентификаторун таба аласыз.

3. Көз карандылык китепканаларын орнотуңуз

PowerShell же терминалда иштетиңиз:

python -m pip install requests

Бул сизге аны орнотууга мүмкүндүк берет. requests Китепкана скрипттин API'ни туура чакыра алаарын камсыздайт.

Толук Python скрипти

Төмөндө колдонууга даяр Python скрипти келтирилген.

Сактоо катары cloudflare_clean.pyАлмаштыруу API_TOKEN 和 ZONE_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Бул көбүнчө туура эмес уруксат берүү чөйрөсүнүн жөндөөсүнөн улам болот.

Токен уруксаты Firewall Services → Түзөтүүнү камтыганын текшериңиз.

3. Барактоо механизми

Cloudflare API бир убакта эң көп дегенде 100 эрежени кайтарып берет.

Сценарий өтүп жатат result_info.total_pages Автоматтык түрдө баракты которуу толук сканерлөөнү камсыз кылат.

Эмне үчүн автоматташтыруу сөзсүз тандоо болуп саналат

Чыныгы өндүрүш чөйрөсүндө эрежелердин саны 5000ден оңой эле ашып кетиши мүмкүн.

Кол менен жок кылуу убакытты гана талап кылбастан, кемчиликтерди да кетирип жиберүүгө жакын.

Автоматташтыруу скрипттери менен сиз төмөнкүлөрдү жасай аласыз:

  • Мөөнөтү өтүп кеткен эрежелер күн сайын тазаланат.
  • Брандмауэр эрежелеринин тизмесин таза кармаңыз.
  • Мыйзамдуу колдонуучуларды жаңылыштык менен бөгөттөп коюудан качуу үчүн.

Бул ыкма веб-сайттын коопсуздугун башкарууну натыйжалуураак кылат.

Расмий Cloudflare документтеринде төмөнкүдөй так айтылат:

"API брандмауэр эрежелерин башкарууга, анын ичинде түзүү, тизмелөө жана жок кылууга программалык мүмкүнчүлүк берет."
来源:Cloudflare API документтери

Бул расмий API берилгенин, бирок топтук жок кылуу функциясы консолдо ишке ашырылбаганын көрсөтүп турат.

жыйынтыктоо

Маалыматтык коопсуздук дүйнөсүндө натыйжалуулук – бул коргонуу.

Cloudflare API'син Python скрипттери аркылуу чакыруу менен, биз консолдун чектөөлөрүн жеңип гана тим болбостон, брандмауэр эрежелерин башкарууну автоматташтыруу доорун да баштадык.

Бул технология менен акылмандыктын айкалышы жана веб-сайттын коопсуздугу операцияларындагы сөзсүз тенденция.

Чыныгы чеберлер консолдогу чычканды чыкылдатуу менен күндөрүн өткөрүшпөйт; алар машиналарды алар үчүн түйшүктүү иштерди жасатуу үчүн код колдонушат.

Андыктан, келгиле, чара көрөлү.

Брандмауэр эрежелериңизди башаламан санариптик таштандылардын башаламандыгы эмес, так саат сыяктуу иштетиңиз.

Коопсуздуктун маңызы - тартип. Ал эми тартиптин артында автоматташтыруу жатат.

Чен Вэйлиангдын блогунда ( https://www.chenweiliang.com/ ) бөлүшүлгөн "Cloudflare API + Python колдонуп WAF'та көрсөтүлгөн комментарийлер менен IP дарегине кирүүнү автоматтык түрдө кантип топтом менен тазалоо керек" деген макала сизге пайдалуу болот деп үмүттөнөбүз.

Бул макаланын шилтемеси менен бөлүшүүдөн тартынбаңыз: https://www.chenweiliang.com/cwl-34436.html

Көбүрөөк жашыруун трюктарды ачуу үчүн🔑, биздин Telegram каналыбызга кошулуңуз!

Бөлүшүп, жакса лайк! Сиздин бөлүшүүлөрүңүз жана лайктарыңыз биздин туруктуу мотивациябыз!

 

发表 评论

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

Жылдыруу үчүн Top