Мақала анықтамалығы
Брандмауэр ережелерінің тізімі мыңдаған жазбаларға толып кеткеннен кейін, оларды қолмен жою шөл даладағы құм түйірлерін санаумен бірдей – уақытты қажет етеді және ауыр.
Осы кезде автоматтандырылған сценарийлер құтқарушыға айналады.
Неліктен автоматты тазалау ережелері қажет?
Cloudflare-ді CDN және WAF ретінде пайдаланған кезде , біз зиянды сұраныстарды бұғаттау үшін IP кіру ережелерін жиі конфигурациялаймыз.
Бұл ережелерге « AI B бұғаттаған » , «Wordfence Sync» немесе «Белгілі шабуылдаушының IP мекенжайы» сияқты аннотациялар кіруі мүмкін.
Уақыт өте келе ережелер саны тез артады.
Егер тазаланбаса, консольдегі ережелер жиналып қалады, бұл басқару тиімділігіне әсер етеді.
Жағдайды одан сайын ушықтыратыны, Cloudflare консолі «пікір бойынша бір рет басу арқылы топтық жою» мүмкіндігін ұсынбайды.
Бұл оларды тек бір-бірлеп қолмен таңдап, жоя алатыныңызды білдіреді, бұл өте тиімсіз.
Шешім
Бұл мәселені шешу үшін біз Cloudflare REST API пайдалана аламыз.
Қоңырау шалу арқылы firewall/access_rules/rules Интерфейстер мен сценарийлер:
- Беттеу алуАғымдағы домендегі барлық ережелер.
- Сәйкес келетін түсініктемелерӨрістегі кілт сөздер.
- DELETE сұрауын автоматты түрде бастауТоптық тазалау нысанасының ережелері.
Бұл әдіс тиімді ғана емес, сонымен қатар адами қателіктерден де аулақ болады.

Дайындық жұмыстары
Сценарий жазуды бастамас бұрын, бірнеше негізгі параметрлерді дайындау керек.
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 → Edit тармағын қамтитынына көз жеткізіңіз.
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
