Токен googleassociationservice в access.log — не размытая «инфраструктура Google» без конкретной задачи, а отдельный бот с узкой технической функцией: проверка Digital Asset Links, механизма, который подтверждает связь Android-приложения с сайтом. В каталоге TrafficVeil он отмечен как легитимный — и здесь особенно важно понимать, что именно вы разрешаете или блокируете, прежде чем нажимать deny.
Что такое GoogleAssociationService
GoogleAssociationService — сервисный бот Google, который проверяет Digital Asset Links: файл-манифест, подтверждающий, что конкретное Android-приложение действительно принадлежит владельцу сайта. Это лежит в основе таких функций, как App Links (открытие ссылок сайта сразу в приложении, минуя браузер), вход через сайт из приложения и привязка учётных данных между веб- и мобильной версией сервиса. Бот целенаправленно обращается к /.well-known/assetlinks.json и соседним служебным путям, а не к сайту в целом.
| Параметр | Значение |
| Название | GoogleAssociationService |
| User-Agent / паттерн | googleassociationservice |
| Оператор | |
| Роль | Верификация Digital Asset Links для App Links, входа через сайт и привязки учётных данных между приложением и сайтом |
| Документация / ориентир | Официальная документация Google по Digital Asset Links и App Links для Android-разработчиков |
| Список IP | ❌ Отдельного публичного списка IP именно для этого UA не публикуется; проверяйте ASN и не доверяйте только строке UA |
| robots.txt | Как крупный оператор, Google обычно соблюдает директивы; целевой путь узкий, поэтому имеет смысл настраивать правило точечно |
| Пометка TrafficVeil | Легитимный / Прочие краулеры и сервисы |
Зачем GoogleAssociationService приходит на сайт
Визиты этого бота почти всегда связаны с тем, что у сайта (или у сети сайтов с общим брендом) есть Android-приложение, которое настроено на deep linking: открытие ссылок сайта напрямую в приложении. Чтобы такая связка работала надёжно и без предупреждений безопасности у пользователя, Google периодически перепроверяет файл assetlinks.json — отсюда и регулярные, но узконаправленные запросы именно к этому пути, а не хаотичный обход всего каталога.
Если у вас нет Android-приложения с настроенными App Links, визиты этого бота, скорее всего, единичны или отсутствуют вовсе — в таком случае стоит в первую очередь проверить, не осталась ли конфигурация от старого проекта или партнёрской интеграции.
Нагрузка и риски именно для GoogleAssociationService
Сама по себе нагрузка от этого бота минимальна — он проверяет один конкретный файл, а не весь сайт, поэтому классические риски вроде «CPU пилит HTML» здесь почти не актуальны. Реальные риски другого рода:
- ложные срабатывания WAF или антибот-защиты, которые заблокируют верификацию и сломают связку приложения с сайтом для реальных пользователей;
- шум в логах и аналитике, если бот не отфильтрован;
- рост числа 404/5xx в мониторинге, если путь
assetlinks.jsonотсутствует или ограничен по ошибке; - обратный риск — если файл
assetlinks.jsonслучайно публикует связи для внутренних или staging-версий приложения, это раскрывает лишнюю информацию для разведки и потенциально создаёт вектор для app-link hijacking или фишинга.
Как найти GoogleAssociationService в логах
Ищите конкретный токен googleassociationservice и сразу смотрите, на какой именно путь идут запросы — по нему легко подтвердить или опровергнуть гипотезу о верификации Digital Asset Links.
# Базовый поиск
grep -i "googleassociationservice" /var/log/nginx/access.log
# Топ URL, которые вычитывает бот
grep -i "googleassociationservice" /var/log/nginx/access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head
# Топ IP за этим UA
grep -i "googleassociationservice" /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head
# Суточная активность
grep -i "googleassociationservice" /var/log/nginx/access.log | awk '{print $4}' | cut -d: -f1 | sort | uniq -c
Если в топе URL действительно доминирует /.well-known/assetlinks.json — это хорошее подтверждение подлинности бота именно по его заявленной функции, а не просто по строке заголовка. Классическая верификация через whois/reverse DNS остаётся полезной дополнительной проверкой:
IP="1.2.3.4" whois -h whois.cymru.com " -v $IP" dig +short -x "$IP"
robots.txt для GoogleAssociationService
# Жёсткий запрет User-agent: googleassociationservice Disallow: / # Разрешить всё User-agent: googleassociationservice Allow: / # Точечный вариант: не трогать конкретный путь верификации User-agent: googleassociationservice Disallow: /admin/ Disallow: /cart/ Disallow: /checkout/ Disallow: /account/ Allow: /.well-known/assetlinks.json Allow: /
Важная оговорка именно для этого бота: полный запрет через robots.txt или через WAF имеет реальные последствия, если у сайта есть связанное Android-приложение — Google перестанет успешно верифицировать Digital Asset Links, и функции вроде открытия ссылок прямо в приложении или входа через сайт могут сломаться для настоящих пользователей.
Блокировка вручную и через TrafficVeil
Nginx
if ($http_user_agent ~* "googleassociationservice") {
return 403;
}
limit_req_zone $binary_remote_addr zone=googleassociations:10m rate=10r/m;
location / {
if ($http_user_agent ~* "googleassociationservice") {
limit_req zone=googleassociations burst=20 nodelay;
}
}
Apache (.htaccess)
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} googleassociationservice [NC]
RewriteRule ^ - [F,L]
TrafficVeil
- найдите googleassociationservice / GoogleAssociationService в ботах домена или в
/system/bots; - перед запретом уточните у команды, есть ли у сайта или сети связанное Android-приложение с deep linking;
- если приложения нет и хиты единичны — можно смело ограничивать; если есть — оставляйте allow именно на путь верификации;
- после изменения сверьте логи и, если возможно, работу приложения — App Links должны продолжать открываться корректно.
С кем не путать GoogleAssociationService
| Бот / сосед | Кластер | UA | Комментарий |
| 2ip Bot | Прочие краулеры и сервисы | 2ip bot | легитимный |
| AccessStatus | Прочие краулеры и сервисы | accessstatus | легитимный |
| AddThis.com | Прочие краулеры и сервисы | addthis.com | легитимный |
| Agent | Прочие краулеры и сервисы | agent | легитимный |
| AgentReadinessScanner | Прочие краулеры и сервисы | agentreadinessscanner | легитимный |
Стратегия allow/deny для GoogleAssociationService
| Ситуация | Действие |
| Есть Android-приложение с App Links / входом через сайт | Allow на путь верификации, закрыть /admin /cart /account вне его |
| Приложения нет, хиты единичны и не мешают | Можно оставить как есть или ограничить — заметной пользы или вреда не будет |
| Приложения нет, но хиты регулярны и создают шум в логах | Disallow + запрет в TrafficVeil |
| assetlinks.json случайно публикует внутренние/staging-связи | Срочно проверить и исправить содержимое файла — это вопрос безопасности, а не только SEO |
| Подозрение на спуфинг UA | Не доверять строке UA; смотреть IP/ASN и то, действительно ли запросы идут именно на assetlinks.json |
Главное отличие GoogleAssociationService от большинства соседей по категории «Прочие краулеры и сервисы»: у него узкая, легко проверяемая техническая задача, а не расплывчатый «сервисный обход». Решение здесь стоит принимать не по общей логике allow/deny для ботов, а по конкретному вопросу — работает ли с сайтом Android-приложение, которому нужна эта верификация.