Моніторинг

Cloudflare, WAF і файрволи

Як додати перевірки Tenium до білого списку в Cloudflare WAF, Wordfence, Sucuri і серверних файрволах, не відкриваючи сайт для всіх.

Tenium представляється в кожному запиті:

User-Agent: Tenium-Monitor/1.0 (+https://tenium.app/bots)

На тарифах Pro і вище до кожного монітора можна додати власний заголовок. Радимо x-tenium-secret: <random>. У правилах дозволу використовуйте обидва разом.

Власне правило Cloudflare WAF

Security → WAF → Custom rules → Create rule, редактор виразів:

(http.user_agent contains "Tenium-Monitor/1.0") and (http.request.headers["x-tenium-secret"][0] eq "YOUR_SECRET")

Дія Skip, компоненти: All managed rules, Rate limiting rules, Bot Fight Mode. Якщо у вас Super Bot Fight Mode, встановіть для «Definitely automated» значення Allow, інакше перевірки все одно можуть потрапляти під challenge.

За бажанням додайте умову за IP зі списку на сторінці /checker-ips:

and (ip.src in {164.92.217.216})

Обмеження частоти запитів у Cloudflare

Кожен активний регіон з інтервалом 30 секунд надсилає 2 запити на хвилину до однієї адреси. Якщо монітор використовує всі 2 активних регіонів, це приблизно 4 запитів на хвилину. Якщо ваш ліміт нижчий, додайте правило Skip, наведене вище, або підніміть ліміт для адреси, що перевіряється.

Wordfence

Firewall → Allowlisted URLs не враховує User-Agent. Натомість скористайтеся Rate limiting → Allowlisted IPs і вставте IP-адреси чекерів. Також встановіть для «If a crawler’s page views exceed» значення вище за 12 на хвилину або виберіть «throttle» замість «block».

Sucuri

Firewall → Access control → Allow IP addresses, вставте IP-адреси чекерів. Або дозвольте User-Agent у розділі Security → Allow user agents.

nginx / Apache / fail2ban

Дозвольте IP-адреси чекерів до будь-якого правила обмеження частоти чи блокування за геолокацією. Приклад для nginx:

geo $tenium { default 0; 164.92.217.216 1; }
map $tenium $limit_key { 0 $binary_remote_addr; 1 ""; }
limit_req_zone $limit_key zone=site:10m rate=10r/s;

Для fail2ban додайте IP-адреси в ignoreip у jail.local.

Перевірка

Відкрийте монітор, натисніть Check now і переконайтеся, що кожен регіон показує очікуваний статус. У Cloudflare розділ Security → Events з фільтром за вашим правилом показує пропуски, які надходять з IP-адрес чекерів.