Каталог статей
Когда список правил вашего брандмауэра разрастается до тысяч записей, их удаление вручную становится сродни подсчету песчинок в пустыне — трудоемким и мучительным процессом.
В этот момент автоматизированные скрипты становятся настоящим спасением.
Зачем нужны правила автоматической очистки?
в настоящее время использует Cloudflare 作为 CDN 和 WAF 的过程中,我们经常会设置 Правила доступа по IP-адресу Для блокировки вредоносных запросов.
Эти правила могут включать комментарии, например: «Заблокировано» AIB ”,Синхронизация Wordfence 或 «IP-адрес злоумышленника известен».
Количество правил будет быстро расти со временем.
Если не навести порядок, правила в консоли будут накапливаться, что снизит эффективность управления.
Ситуацию усугубляет то, что в консоли Cloudflare отсутствует функция «пакетного удаления комментариев одним щелчком мыши».
Это означает, что вы можете выбирать и удалять их только вручную по одному, что крайне неэффективно.
Решение
Для решения этой проблемы мы можем использовать REST API Cloudflare.
Позвонив firewall/access_rules/rules Интерфейсы и скрипты могут:
- Получить пагинациюВсе правила находятся в пределах текущего домена.
- Соответствующие комментарииКлючевые слова в данной области.
- Автоматически инициировать запрос на удаление.Целевые правила пакетной очистки.
Этот метод не только эффективен, но и позволяет избежать человеческих ошибок.

Подготовительные работы
Прежде чем начать писать скрипт, необходимо подготовить несколько ключевых параметров.
1. API-токен
Перейти к Страница токенов API Cloudflare Создайте новый токен.
Необходимо предоставить разрешения:Зона → Службы брандмауэра → Редактировать.
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Обычно это происходит из-за неправильной настройки области прав доступа.
Убедитесь, что разрешение токена включает в себя Службы брандмауэра → Редактировать.
3. Механизм постраничной навигации
API Cloudflare возвращает максимум 100 правил за раз.
Сценарий пройден. result_info.total_pages Автоматическое перелистывание страниц обеспечивает полное сканирование.
Почему автоматизация — неизбежный выбор
В реальных производственных условиях количество правил может легко превысить [определенный порог]. 5000 месяц.
Удаление вручную не только отнимает много времени, но и чревато упущениями.
С помощью скриптов автоматизации вы можете:
- Устаревшие правила стираются ежедневно.
- Поддерживайте список правил брандмауэра в чистоте.
- Во избежание ошибочной блокировки законных пользователей.
Такой подход делает управление безопасностью веб-сайта более эффективным.
В официальной документации Cloudflare четко указано:
«API предоставляет программный доступ для управления правилами брандмауэра, включая создание, отображение и удаление правил».
来源:Документация по API Cloudflare
Это означает, что официальный API предоставлен, но функция пакетного удаления не реализована в консоли.
эпилог
В мире информационной безопасности эффективность — это защита.
Благодаря вызову API Cloudflare через скрипты Python мы не только преодолели ограничения консоли, но и положили начало эре автоматизации управления правилами брандмауэра.
Это Сочетание технологий и мудростиЭто также неизбежная тенденция в сфере обеспечения безопасности веб-сайтов.
Настоящие мастера не проводят дни, щелкая мышкой в консоли; они используют код, чтобы заставить машины выполнять за них рутинную работу.
Давайте же начнем действовать.
Настройте правила брандмауэра так, чтобы они работали как точные часы, а не как беспорядочный цифровой мусор.
Суть безопасности — порядок. А за порядком скрывается автоматизация.
Блог Хоуп Чен Вейлян ( https://www.chenweiliang.com/ Статья "Как автоматически выполнять пакетную очистку правил доступа по IP-адресам с указанными комментариями в WAF с помощью API Cloudflare + Python", размещенная здесь, может оказаться вам полезной.
Добро пожаловать, чтобы поделиться ссылкой на эту статью:https://www.chenweiliang.com/cwl-34436.html
