Назад | Перейти на главную страницу

Netstat: как узнать, человек это или бот / паук / DDOS

Я использую следующую команду, чтобы проверить, сколько у меня подключений с одного IP-адреса

netstat -anp |grep ':80' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

Если это DDOS-атака (500+ подключений), ее легко обнаружить. Но у меня все еще есть в любой момент времени 60-100 подключений с одного IP. Может это человек или какие-то боты / пауки?

Это то, что у меня есть на данный момент (топ-6).

48 217.212.230.***
54 46.63.105.***
55 62.235.175.***
56 79.235.188.***
60 178.27.93.***
63 31.16.96.***

Очевидно, на этот вопрос сложно ответить эмпирически, поскольку мы не знаем, что это за служба / приложение или как оно себя ведет - например, такое количество соединений может быть обусловлено дизайном.

Но лучший способ понять эту проблему - это сравнить типичный доступ к сайту с одного известного IP-адреса, посмотреть, что происходит во время «пользовательской истории», когда вы проделываете любые транзакции / поиски, которые вы обычно ожидаете от пользователя.

Теперь посмотрим, как работают соединения. Соответствует ли этот тест тому, что вы видите через netstat?

Если так, то, по крайней мере, вы знаете, где находитесь. Если их значительно меньше и нет причин предполагать, что у этих IP-адресов есть веская причина быть источником нескольких «пользовательских историй», то у вас, вероятно, есть какая-то форма паука / DOS / чего-то еще.

Не забывайте, что вы всегда можете nslookup и геолокацию этих адресов. Это может быть очень полезным инструментом при работе с подобными вещами. Также не бойтесь просматривать / исследовать их, если вы тоже обеспокоены.

Я заметил, что у вас еще нет ответа (по крайней мере, когда я писал это на Security SE), так что вот мои две части.

Один браузер (управляемый человеком) никогда не должен отправлять такое количество подключений. Однако возможно, что многие пользователи в одной сети на одном сайте могут привести к увеличению количества одновременных подключений. Если они находятся в одной сети NAT, они будут использовать один и тот же IP-адрес.

Вы можете использовать сетевой инспектор в браузере, протестировать загрузку ваших веб-страниц и измерить, сколько соединений будет установлено. У браузера есть собственный лимит одновременных подключений, но он зависит от браузера.

Бот или паук, например, для поисковой системы, вряд ли будут делать что-то большее, чем браузер.

Вам нужно будет глубже узнать, что происходит, чтобы увидеть, является ли трафик законным.

Законный трафик

Легальные боты могут быть идентифицированы их пользовательскими агентами. Проверка владельца IP или обратного DNS часто может помочь определить подделанные данные пользовательского агента.

Я видел, как Googlebot, Yahoo's Slurp и другие пауки создавали 40+ подключений к системе.

Обратите внимание, что браузеры могут устанавливать до 20 подключений (я думаю, что по умолчанию около 8) к серверу. Если у вас есть несколько пользователей за NAT, они могут легко использовать 20-40 соединений.

Признаки DDoS

Я видел DDoS-атаки с низким уровнем подключений, но с широкого диапазона IP-адресов. Например, у злоумышленников обычно не более 100 подключений к серверу, но с десятков или даже сотен IP-адресов.

Эта тактика используется для подрыва определенных методов ограничения скорости, доступных для блокировки HTTP-флуда.

В этих случаях я беру самые популярные IP-адреса и смотрю на несколько пунктов:

  • из какой страны они происходят (IP Whois)
  • они происходят из одной сети класса C / B
  • к чему они обращаются (проверьте журналы apache)
  • у них нормальное поведение пользователя
  • общие черты в строках пользовательского агента

Например, во время недавнего предотвращения DDoS-атак мы определили, что платформа, выполняющая атаку, идентифицировала себя как конкретное сочетание браузера и языка. Предоставление правила для отбрасывания этих запросов устранило 60% атаки.

В другом случае я обнаружил, что около 50% атакующих IP-адресов были назначены одному региону в Китае. Используя блокировку IP-адресов для конкретной страны, мы смогли отбросить этот трафик.

Таким образом, изучение основных IP-адресов должно быстро подсказать вам, следует ли вам разрешить это или заблокировать.

Проверьте журналы веб-сервера. Имя агента там. Все большие мальчики идентифицируют себя.