Боты6 мин чтения·13 августа 2026 г.

SFDC-Callout в логах: чья это Salesforce-интеграция

Разбираем SFDC-Callout — стандартный User-Agent исходящих запросов из Salesforce, который может принадлежать вашей собственной CRM-интеграции или чужой, никак не связанной с вами организации. Показываем, почему IP и robots.txt здесь малополезны, как найти запросы в access.log и не сломать чужую интеграцию при блокировке.

TVTrafficVeil TeamЭксперты по защите веб-трафика
Уникальная иллюстрация бота SFDC-Callout: легитимный прочие краулеры и сервисы

SFDC-Callout стоит отдельного правила в антиботе: это не «ещё один hit» от стороннего краулера, а исходящий HTTP-запрос из платформы Salesforce — но не от самой компании Salesforce как оператора, а от кого-то из десятков тысяч клиентских организаций (org), использующих Salesforce и настроивших интеграцию, которая обращается именно к вашему домену.

1. Что такое SFDC-Callout

SFDC-Callout — это буквальный User-Agent по умолчанию, который платформа Salesforce подставляет при исходящих HTTP-запросах (callouts), инициированных кодом Apex или механизмом Outbound Messaging внутри клиентской Salesforce-организации: workflow-правилом, процессом согласования, Flow или прямым Apex-callout к внешнему API. Реальный вид заголовка, зафиксированный разработчиками Salesforce: User-Agent: SFDC-Callout/18.0, где число — версия API Salesforce, с которой сделан запрос. Ключевая особенность: конкретную клиентскую организацию, которая сделала запрос, снаружи определить невозможно — платформа мультитенантная, и один и тот же UA используют одновременно тысячи независимых друг от друга компаний.

Название SFDC-Callout
User-Agent / паттерн sfdc-callout — типовая строка SFDC-Callout/18.0 (номер версии API Salesforce меняется)
Оператор Технически — платформа Salesforce; по факту источник конкретного запроса — одна из множества независимых клиентских Salesforce-организаций, снаружи неотличимых друг от друга
Роль Исходящий callout из Apex-кода или Outbound Messaging клиентской Salesforce-организации к внешнему URL — часто в рамках workflow-правила, Flow или интеграции
Документация / ориентир Публичной документации именно про UA нет — механизм описан в общей документации Salesforce по Apex HTTP Callouts и Outbound Messaging
Список IP ❌ Официального актуального списка нет; исходящие IP зависят от инстанса Salesforce (например, na7.salesforce.com и подобные), которые постоянно меняются между разными клиентскими организациями
robots.txt Не применимо в привычном смысле — это не поисковый краулер и не user-initiated fetcher, а прямой API/webhook-вызов от чужой автоматизации, который robots.txt может просто игнорировать по своей природе
Пометка TrafficVeil Легитимный / Прочие краулеры и сервисы

2. Зачем SFDC-Callout приходит на сайт

Появление SFDC-Callout в access.log означает, что чей-то Salesforce-инстанс настроен обращаться к вашему домену — обычно потому, что ваш URL указан как endpoint в интеграции: приём лида, синхронизация данных, вебхук после сделки или заявки. Это может быть (а) ваша собственная интеграция, если компания использует Salesforce; (б) интеграция партнёра или подрядчика, который специально настроил обращение к вашему API; либо (в) случайная или ошибочная конфигурация чужой Salesforce-организации, которая указала ваш URL по ошибке или по устаревшим данным.

  • Какие зоны чаще трогает: конкретные API-эндпоинты или webhook-URL, а не публичные страницы сайта вообще — обычный сценарий для callout не предполагает обхода произвольного контента;
  • Что ищет: ничего в смысле сбора контента — это исходящий вызов интеграции, обычно с полезной нагрузкой (данными) в теле запроса, а не пассивное чтение страницы;
  • Чем отличается от браузерного пользователя: нет нормальной сессии, запрос обычно строго целевой — к одному заданному URL, а не к произвольным разделам сайта.

Типичный кейс: CDN-трафик дорожает, origin CPU нагружен обработкой запросов. Фильтр по sfdc-callout показывает обращения к публичным URL или API — прежде чем ограничивать бота, стоит выяснить, не ваша ли это собственная CRM-интеграция, случайно указывающая на публичный, а не приватный API-путь.

3. Нагрузка и риски именно для SFDC-Callout

Отдельной строки в публичной сводке top-bot TrafficVeil у sfdc-callout может не быть, но в категории «Прочие краулеры и сервисы» такие агенты дают характерный фон: фоновый шум в аналитике, расход CPU/bandwidth и искажение статистики «живого» трафика. Практический риск здесь специфический: поскольку это не краулер, а вызов интеграции, чаще всего с полезной нагрузкой (данными о лиде, заказе, форме), полная блокировка может незаметно сломать чью-то реальную бизнес-интеграцию — в том числе вашу собственную, если она давно настроена и о ней забыли.

Не уверены, кто ходит по вашему сайту?

Подключите домен и посмотрите живую ленту: кто пришёл, с какой сети, что запрашивал и по какому правилу был пропущен или заблокирован.

Посмотреть свой трафик

4. Как найти SFDC-Callout в логах

Не ищите «просто ботов» — ищите конкретный токен sfdc-callout и обязательно смотрите, к каким именно URL идут запросы и с каким методом (GET/POST) и телом.

# Базовый поиск
grep -i "sfdc-callout" /var/log/nginx/access.log

# Топ URL, к которым обращается callout
grep -i "sfdc-callout" /var/log/nginx/access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head

# Топ IP за этим UA
grep -i "sfdc-callout" /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head

# Суточная активность
grep -i "sfdc-callout" /var/log/nginx/access.log | awk '{print $4}' | cut -d: -f1 | sort | uniq -c

# Проверить метод запроса — callout чаще POST с данными, а не GET
grep -i "sfdc-callout" /var/log/nginx/access.log | awk '{print $6}' | sort | uniq -c

Верификация. Подделать User-Agent может любой скрипт. Для решения allow/deny смотрите связку: UA + конкретный URL + метод запроса. Поскольку сам оператор — общая мультитенантная платформа, а не одна компания, IP/ASN здесь малополезны для идентификации конкретного источника; практичнее выяснить, ведёте ли вы сами или ваши партнёры интеграцию через Salesforce, указывающую на этот URL.

IP="1.2.3.4"
whois -h whois.cymru.com " -v $IP"
dig +short -x "$IP"

5. robots.txt для SFDC-Callout

# Жёсткий запрет
User-agent: sfdc-callout
Disallow: /

# Разрешить всё
User-agent: sfdc-callout
Allow: /

Важно: robots.txt здесь работает слабо по самой природе callout — это не краулер, который обходит сайт и сверяется с правилами, а прямой целевой вызов конкретного endpoint, инициированный чужой автоматизацией. Управлять доступом эффективнее через аутентификацию самого API-эндпоинта или через правила на уровне сервера/TrafficVeil, а не через robots.txt.

6. Блокировка вручную и через TrafficVeil

Nginx

if ($http_user_agent ~* "sfdc-callout") {
    return 403;
}

limit_req_zone $binary_remote_addr zone=sfdccallout:10m rate=10r/m;
location / {
    if ($http_user_agent ~* "sfdc-callout") {
        limit_req zone=sfdccallout burst=20 nodelay;
    }
}

Apache (.htaccess)

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} sfdc-callout [NC]
RewriteRule ^ - [F,L]

TrafficVeil

  • Найдите sfdc-callout в ботах домена или в /system/bots;
  • Прежде чем блокировать — проверьте у команды, не используется ли Salesforce как CRM с настроенной интеграцией именно на этот URL;
  • Если источник неизвестен и запросы бьют в публичные, не предназначенные для интеграций разделы — категория «запретить»;
  • Если это ваша интеграция — Allow, дополнительно защитив сам endpoint аутентификацией, а не полагаясь на allow/deny по UA;
  • После изменения сверьте логи и убедитесь, что ни одна реальная бизнес-интеграция не сломалась.

7. Рекомендации: что делать с SFDC-Callout

  • Сначала выясните происхождение — в отличие от большинства ботов, здесь высок шанс, что это ваша собственная или партнёрская интеграция;
  • Если пользы нет и источник действительно посторонний — Disallow/403 для sfdc-callout;
  • Если польза есть — Allow только при явной пользе, и защитите сам API-эндпоинт аутентификацией/токеном, а не только allow-правилом по UA;
  • Если нагрузка мешает — сначала rate-limit, затем полный запрет;
  • Не режьте слишком широко User-agent: *, чтобы случайно не закрыть Googlebot/YandexBot;
  • Что будет при блокировке: обычно ничего критичного для SEO не теряете, но рискуете незаметно сломать чью-то (в том числе свою) реальную CRM-интеграцию.

8. С кем не путать SFDC-Callout

Бот / сосед Кластер UA Комментарий
2ip Bot Прочие краулеры и сервисы 2ip bot легитимный
AccessStatus Прочие краулеры и сервисы accessstatus легитимный
AddThis.com Прочие краулеры и сервисы addthis.com легитимный
Agent Прочие краулеры и сервисы agent легитимный
AgentReadinessScanner Прочие краулеры и сервисы agentreadinessscanner легитимный

9. Стратегия allow/deny для SFDC-Callout

Ситуация Действие
Это ваша или партнёрская Salesforce-интеграция Allow + аутентификация на самом эндпоинте
Источник неизвестен, бьёт в публичные разделы Disallow + запрет в TrafficVeil
Нужен доступ, но частота/объём вызывают вопросы Rate-limit на nginx/TrafficVeil
Нежелательный по базе TrafficVeil Deny по умолчанию, исключения — точечно
Подозрение на spoofing UA IP/ASN малополезны (мультитенантная платформа) — сверяйте по конкретному URL, методу запроса и содержимому

Частые вопросы

SFDC-Callout — это бот одной конкретной компании?
Нет, это стандартный User-Agent, который платформа Salesforce использует для любых исходящих запросов из любой из десятков тысяч независимых клиентских организаций.
Можно ли по IP понять, чья именно это Salesforce-интеграция?
Практически нет — IP зависит от конкретного инстанса платформы и меняется между разными клиентскими организациями, поэтому для идентификации важнее URL, метод запроса и содержимое.
Сработает ли Disallow в robots.txt против таких запросов?
Скорее всего нет — это не краулер, который сверяется с правилами обхода, а прямой целевой вызов конкретного эндпоинта, инициированный чужой автоматизацией.
Что будет, если заблокировать SFDC-Callout не разобравшись?
Есть риск незаметно сломать чью-то реальную бизнес-интеграцию — прежде всего свою собственную, если компания использует Salesforce и давно настроенный вебхук о ней забыли.
Почему запрос от SFDC-Callout обычно идёт не на публичные страницы?
Потому что это вызов конкретного API-эндпоинта или вебхука в рамках интеграции, а не обход сайта — целью редко становится произвольный публичный контент.
Как правильно защитить свой API-эндпоинт от нежелательных callout-запросов?
Аутентификацией на самом эндпоинте (токеном или ключом), а не только allow/deny правилом по User-Agent — этого достаточно, поскольку строку UA легко подделать.
#SFDC-Callout#Salesforce#CRM-интеграции#вебхуки#анализ логов#robots.txt#TrafficVeil
TV
TrafficVeil Team

Команда TrafficVeil разрабатывает инструменты защиты сайтов от ботов, DDoS и веб-атак. Разборы ботов пишем по логам подключённых доменов и открытым данным операторов.

Похожие статьи

Ещё материалы из раздела «Боты» — те же вопросы, другие агенты.

Проверьте защиту своего сайта

Подключение занимает несколько минут. Начните с анализа трафика и включайте блокировки после проверки логов.

Тарифа на трафик нет. Платите за людей, а не за тех, кого отбили: боты, атаки и всё, что срезали фильтры, в счёт не идут. Тариф — число доменов и глубина настроек.

TrafficVeil