← Решения Cloudflare по борьбе с ботами / bots / additional-configurations
отпечаток JA3/JA4
JA3 ↗ и JA4 ↗ отпечатки определяют клиентов TLS по тому, как они устанавливают соединения. Каждый тип клиента (браузер, бот или приложение) имеет свои особенности соединения, поэтому итоговый отпечаток служит стабильным идентификатором для разных целевых IP-адресов, портов и сертификатов.
JA4 улучшает JA3 за счёт сортировки расширений ClientHello, что уменьшает количество уникальных отпечатков для современных браузеров и упрощает группировку.
Если вы хотите использовать отпечатки JA4 и Signals Intelligence, ваш скрипт Workers должен уметь обрабатывать отсутствующие поля в случаях, когда Bot Management не может рассчитать или заполнить JA4 Signals (например, при не-TLS трафике или когда Bot Management пропускается). В сценариях Orange-to-Orange (O2O), где действует Bot Management, значения JA4 Signals соответствуют соединению eyeball (конечного пользователя) и сохраняются на всём протяжении цепочки O2O, включая запросы зоны O2O и все соответствующие подзапросы.
- Вероятность того, что отпечаток JA4 может отсутствовать.
- Вероятность того, что
ja4Signalsмассив может отсутствовать (например, если JA4 недоступен для данного запроса). - Результаты с
NaNилиInfinityзначения будут исключены из массива.
{
"ja4Signals": {
"h2h3_ratio_1h": 0.98826485872269,
"heuristic_ratio_1h": 7.288895722013e-05,
"reqs_quantile_1h": 0.99905741214752,
"uas_rank_1h": 901,
"browser_ratio_1h": 0.93640440702438,
"paths_rank_1h": 655,
"reqs_rank_1h": 850,
"cache_ratio_1h": 0.18918327987194,
"ips_rank_1h": 662,
"ips_quantile_1h": 0.99926590919495
},
"jaSignalsParsed": {
"ratios": {
"h2h3_ratio_1h": 0.98826485872269,
"heuristic_ratio_1h": 7.288895722013e-05,
"browser_ratio_1h": 0.93640440702438,
"cache_ratio_1h": 0.18918327987194
},
"ranks": {
"uas_rank_1h": 901,
"paths_rank_1h": 655,
"reqs_rank_1h": 850,
"ips_rank_1h": 662
},
"quantiles": {
"reqs_quantile_1h": 0.99905741214752,
"ips_quantile_1h": 0.99926590919495
}
}
}Если данные JA4 Signals отсутствуют, вывод выглядит следующим образом:
{
"ja4Signals": {},
"jaSignalsParsed": {
"ratios": {},
"ranks": {},
"quantiles": {}
}
}Отпечаток JA3 или JA4 представляет собой идентификатор на основе SSL/TLS и в определённых случаях может быть пустым или отсутствовать (null) в логах:
- Поскольку JA3 и JA4 вычисляются во время TLS (SSL) рукопожатия, они отсутствуют для незашифрованного HTTP-трафика.
- Поле может быть пустым, если Worker отправляет запрос в зону, которая либо внутренняя для сети Cloudflare (например, непроксируемый или внутренний O2O), либо является сторонним источником, либо когда Worker направляет трафик в целевую зону.
- Отпечатки могут отсутствовать, если для запроса пропускается сам Bot Management, поскольку именно эта функция отвечает за вычисление и заполнение этих значений.
- С Возобновление сеанса TLS ↗, как только начальное согласование TLS успешно завершено, последующие соединения становятся быстрее. Из-за этого дальнейший расчёт отпечатка не выполняется.
В Orange-to-Orange (O2O) сценариях, где действует Bot Management, отпечатки JA3/JA4 сохраняются на всём протяжении цепочки O2O и отражают соединение конечного пользователя (eyeball). Это касается запросов в зоне O2O и всех соответствующих подзапросов.
Аналитика
Чтобы получить дополнительную информацию о потенциальных запросах от ботов, используйте эти отпечатки JA3 и JA4 в:
- Bot Analytics
- Security Events и Security Analytics
- Analytics GraphQL API, а именно HTTP-запросы датасет
- Журналы
Действия
Чтобы настроить реакцию приложения на конкретные отпечатки, используйте их вместе с:
Сценарии использования
Блокировка или разрешение определённого трафика
Группа похожих запросов может иметь одинаковый отпечаток JA3. Поэтому JA3 может пригодиться для блокировки входящей угрозы. Например, если вы заметили, что атака ботов не блокируется существующими средствами защиты, создайте пользовательское правило который блокирует или применяет Challenge к JA3, использованному в атаке.
Если же существующая защита блокирует трафик, который на самом деле легитимен, создайте пользовательское правило на Пропустить действие, разрешающее JA3, наблюдаемый в легитимных запросах.
JA3 также может быть полезен, если вы хотите оперативно устранить ложные срабатывания или пропуски в Bot Management.
Разрешить мобильный трафик
Трафик мобильных приложений часто даёт одинаковый отпечаток JA3 на разных устройствах и у разных пользователей. Это значит, что вы можете определять трафик своего мобильного приложения по его отпечатку JA3.
Используйте отпечаток JA3, чтобы разрешить трафик из вашего мобильного приложения, но для остального трафика использовать действие Block или Challenge.