Повышаем анонимность за прокси: скрытие ip адреса от утечки
07 Sep 2016 | Автор: dd |В последнее время неоднократно приходится сталкиваться с вопросами людей, как им повысить анонимность, чтобы конечный сайт, к которому обращается клиент через прокси или VPN, не видел их реальный IP адрес.
Ибо народу, специализирующемуся на бонусхантинге, вилках, покере и прочих гемблингах и букмекерах; требуется более высокая анонимность, чем, скажем, людям работающим в социалках или парсящих поисковые системы. Понятно, что всем пользователям прокси или VPN нужна помена IP адреса, но в некоторых нишах, вроде онлайн казино или букмекерских контор, клиенты проходят более глубокую проверку, по результатам которой клиенту не всегда получается успешное IP адреса.
Причем многие новички полагают, что если чекалки, вроде _https://whoer.net/ или _https://2ip.ru/privacy/ видят реальный IP, скрытый за прокси, то это проблема анонимности прокси.
Возможно я кого то разочарую, но в данной проблеме чаще всего виноват не прокси сервер.
Прокси бывает либо анонимным, либо не анонимным: первый переписывает заголовок пакета полностью, убирая все хвосты клиенты и оставляя только IP прокси; второй же оставляет исходящий IP, который видит конечная система.
Единственное, чем можно повысить анонимность прокси, использовать для сервера нестандартные исходящие порты, т.к при проверки приватности чекаются открытые порты клиентского IP (в данном случае прокси) и если видят стандартные 80, 8080, 1080 и т.д, то раcценивают это – как практически 100% вероятность подмены IP адреса с помощью прокси.
Все остальное, что палит более точная проверка приватности, происходит на уровне приложения, то есть браузера, который сливает IP различными способами.
И собственно, закрываются эти протечки, точно также, на уровне браузера. Проверку на отклик клиентского IP, в данном случае, можно не считать, т.к большинство компов, имеющих IP провайдера, точно также отвечают на пинг.
Далее я буду говорить только о Firefox, ибо с Chrome не работаю и не имею ни малейшего желания разбираться как он работает, ибо достаточно того, что он сливает все данные гуглю.
Также я не буду особо вдаваться в технические аспекты того или иного протекания IP (IP leak) в браузере, т.ч если хотите технических подробностей, то гугл вам в помощь.
Большая часть настроек, разве кроме части закрытия протекания DNS, делается в тонких настройках браузера Firefox, куда можно попасть, если ввести в адресную строку about:config
Начну с двух наиболее критических дырок, роняющих приватность ниже плинтуса, т.к через них реальный IP адрес протекает гарантировано. И все попытки скрыть реальный IP адрес от обнаружения, обречены на провал.
Это протекание через Adobe Flash и WebRTC. Первый является сторонним плагином, а второй встроенная во все браузеры технология, предназначенная для общения бродилок peer-to-peer и шпарящая в обход прокси.
Adobe Flash
Плагину ShockWave Flash в принципе лучше сказать запускаться по требованию: Основное меню FF -> Дополнения -> Расширения а также изменить значение параметра в настройках FF
plugin.state.flash = 0
WebRTC
Здесь мы либо просто блокируем технологию
media.peerconnection.enabled = false
либо говорим ей логиниться по дефолтному маршруту
media.peerconnection.ice.default_address_only = true
но не знаю как это должно отрабатывать на проксях, т.ч для гарантированной подмены IP я предпочитаю закрывать все.
Для Google Chrome существует плагин WebRTC Block или WebRTC Leak Prevent (оно также есть и для Opera). Для FF не нашел, но особо и не искал, т.к по мне достаточно заблокировать сам движок.
Также можно заморочиться с добавлением в систему дополнительного интерфейса, с нужным IP. В виндовой машине это будет Microsoft Loopback Adapter. Но там есть мутотень, что каждый раз, при смене IP прокси, придется менять и айпи адрес нашего виртуального интерфейса, а также его маршрутизацию наружу. Так что этим стоит загоняться только если у вас с избытком свободного времени и не подошли вышеописанные варианты.
JavaScript и ActiveX
Эти надстройки также подвержены протечкам IP, т.ч их желательно закрыть с помощью дополнения NoScript. Оно будет не бесполезно и в мирное время, т.к позволит предотвратить XSS атаки от злодейских сайтов и попыток напихать всякое зверье в процессе браузинга.
Отключаем геолокацию через браузер
geo.enabled = false
Отключаем фичу предупреждения о вредоносных сайтах Google Safe Browsing
browser.safebrowsing.enabled = false
browser.safebrowsing.downloads.enabled = false
browser.safebrowsing.malware.enabled = false
Отключаем отправку телеметрии и отчетов производительности
datareporting.healthreport.service.enabled = false
datareporting.healthreport.uploadEnabled = false
toolkit.telemetry.unified = false
toolkit.telemetry.enabled = false
Отключаем Encrypted Media Extensions (DRM)
media.eme.enabled = false
media.gmp-eme-adobe.enabled = false
Отключаем возможность FF логиниться без спроса к сторонним сервакам Telefonica
loop.enabled = false
Отключаем отслеживание статей и видосов через сторонний сервис Pocket
browser.pocket.enabled = false
Отключаем передачу текста, который мы вводим в окно поиска
browser.search.suggest.enabled = false
Отключаем передачу параметров соединения с сетью
dom.network.enabled = false
Все это и много другое, можно также отрубить с помощью отдельного плагина Firefox Privacy Settings. И/Или можно поставить HTTP UserAgent cleaner, который позволяет отключать Ajax и WebRTC для определенных доменов, что несомнено лучше чем для всех. Плюс затрудняет идентификацию через другие каналы.
Поскольку я рассматриваю только вопрос анонимности с точки зрения скрытия реального IP, то я не буду вдаваться в подробности всяких параноидальных вопросов защиты от суровых людей в сером, вроде удаления кэша или подгрузки плагинов.
Поэтому я лучше перейду еще к одному разделу – не критическому, но доставляющему некоторым пользователям ментальные страдания. Хотя, наверное, на каких то сайтах по этому параметру, возможно, и могут делать далекоидущие выводы. Я говорю про утечку DNS, которая также сливается браузером.
Вариантов сокрытия своего DNS от сдачи врагам, несколько.
Наиболее простой и безболезненный – это заменить автоматически выданные DNS сервера вашего провайдера на публичные:
Google DNS 8.8.8.8 и 8.8.4.4
OpenDNS 208.67.222.222 и 208.67.222.220
но т.к к примеру Google вместо 8.8.8.8 светит ближаший DNS, то например для рунета будет показываться финский 74.125.46.10 или любой другой из этой же (или 74.125.74.Х) сеток, что может поставить в тупик. Поэтому надежней выбрать какой нить наиболее близкий к нужной стране из 134к публичных DNS по всему миру
Вдобавок к этому варианту можно закрыть доступ в браузере FF, чтобы он передавал запросы только через прокси (при работе с SOCKS прокси) и поставить запрет на преварительное разрешение доменных имен (например при просмотре страницы с исходящими ссылками), которые также могут пойти в обход прокси
network.proxy.socks_remote_dns = true
network.dns.disablePrefetch = true
Также можно запретить технологию Teredo, созданную для подключения к хостам IPv6 через чистую сеть IPv4. Для этого надо вызвать DOS-PROMT: Win + R -> cmd после чего выполнить в консоли команду
netsh interface teredo set state disabled
если понадобится включить Teredo, то в дос-промте выполняем
netsh interface teredo set state type=default
Либо же просто аппаратными средствами, вроде Proxyfier, перенаправить весь трафик по умолчанию через прокси.
Тут надо заметить, что в VPN сетях OpenVPN выше версии v2.3.9 проблема протечки DNS решена введение нового параметра конфига block-outside-dns
Также можно доставить плагин Modify Headers для корректуры фингеров агента, дабы выдавать то, что нужно конечному сайту, хотя по большому счету – этот раздел ни на что не влияет, кроме как на приступы паранойи у серфера.
Либо же настроить руками в конфиге Mozilla
general.appname.override = Netscape
general.description.override = Mozilla
general.appversion.override = 5.0 (Windows)
general.oscpu.override = Windows NT 6.1
general.platform.override = Win32
general.useragent.override = Mozilla/5.0 (Windows NT 6.1; rv:25.0) Gecko/20130730 Firefox/25.0
general.productSub.override = 20100101
general.buildID.override = 20100101
browser.startup.homepage_override.buildID = 20100101
можно поменять фингеры и на какой нить айфон или ведроид, но учитывайте что браузер будет получать код в соответствии с отправленными фингерпринтами, т.ч на компе вы будете смотреть сайт в мобильной версии, что не очень увлекательно.
Более подробно о методиках деанонимизации пользователя в интернете, появившиеся в последние годы.
Повышаем анонимность за прокси: скрытие ip адреса от утечки,Теги: firefox, IT безопасность, интернет, настройка системы