ValdikSS / blockcheck

Russian ISP blocking type checker NOTE: NOT WORKING CURRENTLY. ВНИМАНИЕ: НЕ РАБОТАЕТ НА ТЕКУЩИЙ МОМЕНТ
MIT License
1.37k stars 143 forks source link

Определение ZapretService #53

Open kemko opened 7 years ago

kemko commented 7 years ago

Писал в twitter, что могу переслать пример того, как выглядет провайдер, использующий zapretservice.ru.

kemko@tmpbook: ~ $ curl -I 52.222.157.102
HTTP/1.1 403 Forbidden
Server: CloudFront
Date: Tue, 09 May 2017 06:45:29 GMT
Content-Type: text/html
Content-Length: 551
X-Cache: Error from cloudfront
X-Amz-Cf-Id: aujPOgH12xGWhsAf5chdlGzBbbTrsCcR2TebaVA4oG816Ptuhj0YVA==
X-Cache: MISS from zapret
Via: 1.1 22e8ec6be29eb9755e0a8dfac5944c51.cloudfront.net (CloudFront), 1.1 zapret (squid/3.5.24)
Connection: keep-alive

Использование видно по заголовкам X-Cache и Via. В целом, если провайдер использует эту штуку, то запросы по tcp:80 пропускаются через этот squid, а запросы по tcp:443 полностью блокируются. Я немного переписывался с ними, и якобы последние версии этого ПО умеют блокировать HTTPS-трафик исходя из переданного SNI, но через оба доступных мне провайдера, которые используют это решение, такого не наблюдаю. Видимо, обновляться особо никто не стремится.

ValdikSS commented 7 years ago

Эта система проксирует только определенные IP через себя, или все? Адреса 52.222.157.102 нет в реестре, что это? Заголовок Via добавляется всегда, или только если сервер вернул его в ответ?

kemko commented 7 years ago
ValdikSS commented 7 years ago

В Via всегда zapret, или этот параметр настраивается?

kemko commented 7 years ago

Я с работой этой штуки сталкивался только как клиент провайдера, так что точно ответить не могу.

В случае с обычным squid, судя по его документации, можно отключить передачу Via и X-Cache, а затем, воспользовавшись директивой reply_header_replace, добавить свой вариант этих заголовков.

nshopik commented 7 years ago

squid умеет блокировать по SNI если версия выше 3.5 и выше

Viktor45 commented 7 years ago

кстати, еще вроде эта система позволяет заворачивать Яндекс.DNS / Google DNS на себя как некоторые провайдеры делают, чтобы пользователи, которые их поставили в настройки вместо dns по умолчанию - получали бы тоже заглушку, потому что многие роутеры сейчас идут уже с этими жесткими параметрами по умолчанию, и провайдерам это тоже не нравиться, а блокировать им надо

ValdikSS commented 7 years ago

Blockcheck умеет определять такое, «перенаправление DNS».

Viktor45 commented 7 years ago

тоесть подмену 8.8.8.8/8.8.4.4 провайдеровскими?

ValdikSS commented 7 years ago

Да. И любые другие DNS.