LINUX.ORG.RU
ФорумTalks

Можно ли отслеживать историю посещения сайтов?

 


0

2

Глупенький вопрос. Допустим сижу я на некоем сайте, который работает по HTTPS. Мой провайдер ведь не может видеть, что это за сайт, единственное, что он видит - это IP-адрес сервера, всё остальное - зашифровано, так? Тогда откуда берутся эти рассуждения о том, что провайдеры знают историю посещений и историю запросов в Яндексе, Яндекс вроде уже более 5 лет как перешёл на HTTPS? Или у провов какие-то другие ухищрения есть?

★★★★★

Хотя бы из википедии

Server Name Indication (SNI) — расширение компьютерного протокола TLS, которое позволяет клиентам сообщать имя хоста, с которым он желает соединиться во время процесса «рукопожатия». Это позволяет серверу предоставлять несколько сертификатов на одном IP-адресе и TCP-порту, и, следовательно, позволяет работать нескольким безопасным (HTTPS) сайтам (или другим сервисам поверх TLS) на одном IP-адресе без использования одного и того же сертификата на всех сайтах. Это эквивалентно возможности основанного на имени виртуального хостинга из HTTP/1.1. Запрашиваемое имя хоста не шифруется, что позволяет злоумышленнику его перехватить.

Для практического использования SNI требуется, чтобы подавляющее большинство пользователей использовали браузеры с поддержкой этой функции. Пользователи, браузеры которых не поддерживают SNI, получат сертификат по умолчанию (зависит от реализации, обычно первый в списке), и, следовательно, ошибку сертификата, если сервер не оснащён wildcard сертификатом, и он не содержит требуемое клиентом имя сайта.

С осени 2018 года проводятся эксперименты по внедрению Encrypted SNI[3] из протокола TLS 1.3, который шифрует имя запрашиваемого сайта с помощью публичного ключа сайта, получаемого из системы имен DNS

То есть, хотя ты ходишь по https, провайдер видит что это за сайт, а не просто IP. Если на том IP нет SNI, то как бы не должен видеть, но много ли сейчас таких. Не должен видеть только конкретные адреса страниц на самом сайте.

Запросы в Яндексе, естественно пров видеть не должен.

praseodim ★★★★★
()
Последнее исправление: praseodim (всего исправлений: 3)

Твою историю запросов точно кроме поисковика, браузера, винды/макоси, spyware и товарища майора никто не знает. А провайдер может продавать максимум <timestamp, location, os, ip, host, len> другим конторам. Самим что-то агрегировать им навряд ли интересно.

snizovtsev ★★★★★
()
Последнее исправление: snizovtsev (всего исправлений: 1)

если не хотите чтобы провайдер знал на какие сайты вы ходите, используйте впн, тор, i2p или другой канал в который будет завернут весь трафик

больше стоит опасаться владельцев сайтов которые ставят 9000 js зондов + вычисляют фингерпринт + пытаются воткнуть суперкуки

BLOBster ★★★
()

Смотря как происходят запросы. Если POST, то не видит. А вот если GET, то видит. В большинстве случаев в браузерах используется именно последнее. Так что да, провайдеры видят запросы в тех случаях, когда они делаются из поисковой строки браузера, а не с сайта.

InterVi ★★★★★
()
Ответ на: комментарий от InterVi

провайдеры видят запросы в тех случаях, когда они делаются из поисковой строки браузера…

…который по умолчанию обращается к поисковикам по http

MrClon ★★★★★
()

Провайдер не услуги доступа в интернет, а провайдер поискового сервиса. В твоём примере это Яндекс. Товарищ майор делает запрос твоему ISP на предмет того, какие IP адреса по твоему физическому адресу лизили за последние полгода, потом делает запрос в Яндекс, прикладывая полученный список адресов, получает распечатку твоих запросов, кликнутых ссылок, историю посещений сайтов в метрикой. Вывод: пользуйся duckduckgo, блокируй трекеры.

CYB3R ★★★★★
()
Ответ на: комментарий от BLOBster

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от praseodim

Давайте не будем углубляться в вопрос отслеживают провайдеры или нет (ну или админы, если корпоративным интернетом пользуешься), больше интересует вопрос возможно это или нет.

Смотря как происходят запросы. Если POST, то не видит. А вот если GET, то видит.

GET-запрос ведь имеет вид:

GET https://google.com/?q=где+купить+наркоту HTTP/1.0\r\n
Вроде с одной стороны он абсолютно прозрачен, но с другой, разве этот текст не шифруется?

Server Name Indication (SNI) — расширение компьютерного протокола TLS, которое позволяет клиентам сообщать имя хоста, с которым он желает соединиться во время процесса «рукопожатия». Это позволяет серверу предоставлять несколько сертификатов на одном IP-адресе и TCP-порту, и, следовательно, позволяет работать нескольким безопасным (HTTPS) сайтам (или другим сервисам поверх TLS) на одном IP-адресе без использования одного и того же сертификата на всех сайтах. Это эквивалентно возможности основанного на имени виртуального хостинга из HTTP/1.1. Запрашиваемое имя хоста не шифруется, что позволяет злоумышленнику его перехватить.

Может я что не понимаю, но процесс рукопожатия - это разве не обмен SYN и SYN/ACK пакетами после которого идёт уже общение на языке прикладного уровня, то есть на языке HTTPS. То есть сразу после рукопожатия браузер скачивает SSL-сертификат, удостоверяет его подлиность и устанавливает с сервером шифрованный канал, по которому и будет пущен GET-запрос?

sunny1983 ★★★★★
() автор топика
Последнее исправление: sunny1983 (всего исправлений: 1)
Ответ на: комментарий от sunny1983

То есть сразу после рукопожатия браузер скачивает SSL-сертификат, удостоверяет его подлиность и устанавливает с сервером шифрованный канал, по которому и будет пущен GET-запрос?

Вопрос в том, что именно удостоверяет SSL-сертификат. Уже давно на одном IP-адресе может находиться несколько разных HTTP сайтов, SNI позволяет легко делать то же и с HTTPS

praseodim ★★★★★
()
Ответ на: комментарий от praseodim

Я вообще не понимаю о чем вы? Что такое SNI? SSL-сертификат удостоверяет то, что у него прописано в поле CN, например домен http://www.linux.org.ru. Работа нескольких сайтов на одном IP реализована при помощи механизма виртуальных хостов, адресация запросов к конкретному виртуальному хосту реализована при помощи HTTP-заголовков HOST.

sunny1983 ★★★★★
() автор топика
Ответ на: комментарий от sunny1983

Работа нескольких сайтов на одном IP реализована при помощи механизма виртуальных хостов,

Тогда сертификат один на всех, где перечислены все домены, это годится только для одной конторы у которой множество доменов. Приватный ключ с сертификатом находятся на встречающем веб сервере, он и отвечает за https соединение. А если это десять разных фирм которые хостят свои сервисы на клауд инфраструктуре?

адресация запросов к конкретному виртуальному хосту реализована при помощи HTTP-заголовков HOST.

vasia.com, petya.com и lola.io пользуются одним клауд сервисом, каждый со своим сертификатом.

  • Если каждый имеет свой уникальный ip то проблем нет, при установлении SSL соединения вернется подходящий сертефикат, броузер проверит что доменное имя из сертификата соответствует запрашиваемому, ssl соединение будет установлено и по нему будет передан GET запрос от клиента.
  • Если на всех один IP, то промежуточный сервер должен как-то понять с кем именно происходит TCP соединение, GET запрос еще не передан, он будет передан по установленному SSL соединению, но его еще нужно начать. SNI несет имя запрашиваемого домена в открытом виде.
Aber ★★★★★
()
Последнее исправление: Aber (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.