Предложения о том, как получить сетевые соединения/трафик для определения версий браузера/SSL?

Обратите внимание, что я отправил этот Q на сайт StackExchange InfoSec, но не столь заполненный, как ServerFault и это находятся больше на технической стороне сетевого набора для веб-сервисов.

Я начал думать о том, как приблизиться к анализу моего сетевого трафика для получения информации, касающейся SSL и использования браузера для моей фермы веб-сервера. Я также подозреваю, что существует некоторая тень (наследие, неизвестное) веб-серверы, работающие на нашей сети, и я хотел бы попытаться получить соединения с ними также.

В основном я ищу дешевое решение, которое может:

  • Запишите все соединения и их протокол, подобный тому, как Wireshark зарегистрирует src/dst и протокол, но не собирать сами данные. Просто заголовок и информация о типе протокола. (например, IP-адреса источника/места назначения, протокол и любая версия протокола / детали, как версия SSL/TLS, и т.д....)
  • Для HTTP-соединения, запись атрибут "Агента пользователя" браузера. (таким образом, я могу пассивно создать определенную версию браузера / изображение совместимости),
  • Способность сделать так для нестандартных портов была бы плюс. Ограничение набора только к определенным протоколам было бы идеей. например, только соберите HTTP, SSL и TLS.

Я закончил бы тем, что включил сервер, выделенный сбору этой информации в зеркальный порт на каждом переключателе под моим управлением.

Это помогло бы с, следуют операции как:

  • Узнайте, какие веб-сервисы разрешают слабые версии SSL/TLS. например, если бы я вижу какой-либо SSLv2/3, я рассмотрел бы нахождение и реконфигурирование тех веб-серверов к минимальному TLS v1.1.
  • Доберитесь изображение веб-браузера конечного пользователя делают и среда версии, таким образом, я мог принять решения о том, какие минимальные изменения настроек безопасности могли безопасно быть сделаны. например, если 15% браузеров являются IE8 на Vista (!), которая не поддерживает TLSv1.1 +, я знал бы заранее. Кроме того, я мог рассмотреть их дюйм/с и определить, является ли какой-либо из них ресурсами традиционной сети, которые должны быть исследованы, не только некоторый конечный пользователь с устаревшим программное обеспечение.
  • Определите, какие IP-адреса веб-сервиса не уже известны так, я мог разыскать те сервисы.

Причиной, которую я спрашиваю и не только пашу вперед с экспериментированием с tcpdump и OpenDPI, являются заботы производительности. Я не уверен, если или что могло бы произойти, когда я зеркально отражаю порт Gigabit. Это могло бы оказаться трудным не только для получения этой информации (помните, что я не хочу пакетный дамп, просто информация о типе заголовка, и это может быть свернуто записи, я не должен знать каждое соединение, просто src/dst/protocol уникальные) но определить, неудачно ли получение. например, как я знал бы, что 50% соединений были проигнорированы?

Я, вероятно, выполнил бы это в течение недели, чтобы позволить профилю пользователя расти.

Если у кого-либо есть какие-либо предложения или рекомендации, я внимательно слушаю.Спасибо.

3
задан 22 May 2015 в 15:03
1 ответ

Я думаю, что инструмент, который может дать вам то, что вам нужно, - это p0f , в частности его разветвленная версия, которая также выполняет идентификацию SSL . Исходный код можно найти здесь . p0f фиксирует каждое соединение, поступающее на машину, анализирует его заголовки TCP, HTTP и SSL / TLS (SSL / TLS доступен только в версии с отпечатками SSL) и выводит такие данные соединения, как:

  • IP-адреса
  • MTU
  • Работа система и версия ОС, используемые клиентом (по результатам анализа TCP-соединения)
  • Браузер и версия браузера (проанализированы с помощью пользовательского агента HTTP или по отпечатку SSL / TLS)

Я не уверен, можно ли это настроить для нестандартных портов, но я думаю, что это тоже возможно. Это отличный инструмент, отвечающий на большинство ваших потребностей

0
ответ дан 3 December 2019 в 08:15

Теги

Похожие вопросы