автоконфигурация прокси что это
Как настроить использование прокси-сервера для Wi-Fi, на Android
Прокси-серверы являются полезными инструментами для защиты конфиденциальности пользователей или для доступа в Интернет, когда вы находитесь в деловой сети. Пока вы подключены к сети Wi-Fi, в которой используется прокси-сервер, этот сервер выступает в качестве посредника для сетевых запросов между вами и остальным интернетом. Веб-сайты не будут идентифицировать ваше конкретное устройство Android, а скорее прокси-сервер, который вы установили для подключения Wi-Fi. Вот как настроить использование прокси-сервера на смартфонах и планшетах Android.
ПРИМЕЧАНИЕ. В этом руководстве мы рассмотрим устройства Android с Android 8 Oreo и Android 9 Pie. Процедура одинакова для всех устройств на платформе Android, так что вам стоит изучить её, даже если вы работаете с другой версией Android.
Как настроить прокси для существующего Wi-Fi-соединения на Android
Затем нажмите на Wi-Fi, чтобы увидеть беспроводные сети в вашем регионе.
Вам будет показан список всех сетей Wi-Fi, доступных в вашем регионе. Нажмите и удерживайте название сети, к которой вы подключены. Меню отображается с различными контекстными параметрами. Нажмите «Изменить сеть», чтобы установить прокси-сервер, используемый для этого Wi-Fi.
Вам будет показан список настроек для выбранного сетевого подключения. Нажмите « Дополнительные параметры» или установите флажок «Показать дополнительные параметры», чтобы отобразить дополнительные параметры, в том числе связанные с использованием прокси-сервера.
Если вы выбираете Вручную, вам нужно ввести IP-адрес или имя хоста прокси-сервера, который вы хотите использовать (что-то в формате: proxy.example.com). Затем вам нужно ввести порт (по умолчанию используется большинством прокси-серверов 8080).
Вы также можете отключить прокси для определенных веб-сайтов, и вам необходимо ввести адреса этих веб-сайтов. Когда вы закончите настройку, нажмите Сохранить.
ПРИМЕЧАНИЕ. Если вам необходимо установить прокси-сервер в качестве локального хоста (имеется в виду локальное устройство), в поле имени хоста введите значение localhost вместо IP-адреса.
Если вы выбрали Proxy Auto-Config (в Android 8) или Auto (в Android 9), необходимо ввести URL-адрес (веб-адрес) прокси-сервера или сценарий конфигурации, используемый этим прокси-сервером. Значение, которое вы вводите, должно быть чем-то в формате: «https://www.example.com/proxy.pac».
Чтобы применить настройки прокси-сервера, не забудьте нажать «Сохранить». Теперь Android использует прокси-сервер, который вы установили при подключении к беспроводной сети, в которой вы находитесь.
ПРИМЕЧАНИЕ. Если вы не знаете, что такое прокси-сервер и нужно ли его использовать, прочитайте: чем прокси-сервер отличается от vpn? В этой статье даётся подробное объяснение работы прокси.
Как настроить использование прокси при подключении к сети Wi-Fi, на Android
Android также позволяет устанавливать прокси при подключении к новой сети Wi-Fi. Если вы находитесь в такой ситуации, начните процедуру подключения к беспроводной сети. В списке сетей Wi-Fi нажмите на сеть, к которой вы хотите подключиться.
Вас попросят ввести пароль Wi-Fi. Введите его и, прежде чем нажать «Подключить», нажмите «Дополнительные параметры» или установите флажок «Показать дополнительные параметры».
Зайдите в раздел про Прокси и нажмите на его запись. Выберите, хотите ли вы ввести конфигурацию прокси-сервера вручную или адрес автоконфигурации прокси ( Auto-Config прокси в Android 8 или Auto в Android 9).
Вы также можете отключить прокси для определенных веб-сайтов, и вам необходимо ввести адреса этих веб-сайтов. Когда вы закончите настройку, нажмите «Подключиться».
ПРИМЕЧАНИЕ. Если вам необходимо установить прокси-сервер в качестве локального хоста (имеется в виду локальное устройство), в поле имени хоста введите значение localhost вместо IP-адреса.
Если все ваши настройки верны, ваш смартфон или планшет на Android будет подключаться к выбранной вами сети Wi-Fi и использовать прокси-сервер, который вы ввели, каждый раз, когда он подключен к этой сети.
Почему вы используете прокси-сервер на своем смартфоне или планшете Android?
Большинство пользователей Android никогда не использовали прокси-сервер на своих смартфонах и планшетах. Тем не менее, вы сделали, так как вы читаете этот учебник. Прежде чем закрыть его, дайте нам знать, почему вы использовали прокси на вашем Android-устройстве, и насколько хорошо он работал для вас. Кроме того, если у вас есть вопросы или проблемы с нашим учебником, не стесняйтесь комментировать ниже.
СОДЕРЖАНИЕ
Контекст
Современные веб-браузеры реализуют несколько уровней автоматизации; пользователи могут выбрать уровень, соответствующий их потребностям. Обычно используются следующие методы:
История
Формат файла автоконфигурации прокси был первоначально разработан Netscape в 1996 году для Netscape Navigator 2.0 и представляет собой текстовый файл, который определяет по крайней мере одну функцию JavaScript.
Файл PAC
Существует мало свидетельств в пользу использования одного типа MIME перед другим. Однако было бы разумно предположить, что application/x-ns-proxy-autoconfig это будет поддерживаться в большем количестве клиентов, чем application/x-javascript-config было определено в исходной спецификации Netscape, причем последний тип стал использоваться совсем недавно.
Пример
Очень простой пример файла PAC:
Более сложный пример демонстрирует некоторые доступные функции JavaScript, которые будут использоваться в FindProxyForURL функции:
По умолчанию ключевое слово PROXY означает, что используется прокси, соответствующий протоколу исходного запроса, будь то http, https или ftp. К другим поддерживаемым типам ключевых слов и прокси относятся:
Ограничения
Кодировка символов PAC
DnsResolve
Эта функция dnsResolve (и аналогичные другие функции) выполняет поиск в DNS, который может заблокировать браузер на долгое время, если DNS-сервер не отвечает.
myIpAddress
Безопасность
В 2013 году исследователи начали предупреждать о рисках безопасности, связанных с автонастройкой прокси. Угроза предполагает использование PAC, автоматически обнаруживаемого системой, для перенаправления трафика браузера жертвы на сервер, контролируемый злоумышленником.
Старые проблемы Microsoft
Текущее соглашение заключается в переключении на прямое соединение, когда файл PAC недоступен.
Вскоре после переключения между конфигурациями сети (например, при входе в VPN или выходе из нее) результаты dnsResolve могут быть устаревшими из-за кэширования DNS.
В Internet Explorer 9 isInNet(‘localHostName’, ‘second.ip’, ‘255.255.255.255’) возвращается true и может использоваться в качестве временного решения.
Другие
Дальнейшие ограничения связаны с движком JavaScript на локальном компьютере.
Расширенный функционал
Более продвинутые файлы PAC могут снизить нагрузку на прокси-серверы, выполнить балансировку нагрузки, отработать отказ или даже запретить / разрешить перечисление до того, как запрос будет отправлен по сети. Можно вернуть несколько прокси:
Вышеупомянутое сначала попробует прокси1, а если он недоступен, то попробует прокси2.
использованная литература
дальнейшее чтение
Как настроить прокси сервер на Android
Android позволяет настроить параметры прокси-сервера для каждой Wi-Fi сети. Иногда это требуется для доступа в Интернет для корпоративной или школьной сети, например. Ваш браузер будет отправлять трафик через настроенный прокси.
Настройки прокси будут использовать Google Chrome и другие браузеры, но не будут использоваться другими приложениями. Каждый разработчик Android приложения сам решает, будет ли приложение использовать прокси или нет. Это еще одна причина, почему лучше использовать VPN вместо прокси. С VPN Вы можете заставить все приложения передавать сетевой трафик через VPN-соединение. Это лучший способ, чтобы скрыть Ваш IP-адрес или открыть доступ к сайтам, которые недоступны в Вашей стране.
Этот процесс одинаков для всех современных версий Android, начиная с Android 4.0 до 7.1. Различные производители Android устройств могут изменить название настроек или переместить их в другое место, но в общем процесс одинаков.
Откройте Настройки и нажмите на пункт «Wi-Fi», чтобы открыть список всех доступных Wi-Fi сетей.
Нажмите и удерживайте на имени Wi-Fi сети для которой хотите изменить настройки. Нажмите «Изменить сеть» во всплывающем меню.
Если Вы еще не подключены к Wi-Fi сети, Вам необходимо подключиться к ней и ввести пароль чтобы получить доступ к варианту «Изменить сеть».
В этом меню откройте раздел «Расширенные настройки». Нажмите на «Прокси-сервер» и выберите либо «Нет», чтобы не использовать прокси, «Вручную», чтобы вручную ввести параметры прокси-сервера, или «Автоконфигурация прокси», чтобы автоматически обнаружить необходимые параметры для Вашей сети.
Опция «Автоконфигурация прокси» может быть недоступна в старых версиях Android.
В отличие от других операционных систем — Windows, MacOS или iOS, и даже Chrome OS, Android не поддерживает автоматическое обнаружение протокол прокси(WPAD).
Если Вы выберите «Вручную», то сможете сами ввести настройки прокси-сервера. Введите адрес прокси в поле «Имя хоста прокси-сервера». Несмотря на название, Вы можете ввести как «proxy.example.com» или IP-адрес «192.168.1.100», например. Введите номер порта прокси-сервер в поле «Порт прокси-сервера».
Если Вы хотите не использовать прокси для каких либо адресов, то введите их в поле «Не использовать прокси-сервер для:» через запятую. Например, если Вы хотели бы получить доступ к android-example.ru и example.com напрямую, не используя прокси, Вам нужно было бы введите следующий текст в поле:
android-example.ru,example.com
Нажмите «Сохранить», чтобы сохранить настройки.
Каждая Wi-Fi сеть имеет собственные настройки прокси-сервера. Даже после включения прокси-сервера для одной Wi-Fi сети, другие Wi-Fi сети будут продолжать не использовать прокси-сервер по умолчанию. Повторите этот процесс, если Вам нужно изменить параметры прокси-сервера для другой Wi-Fi сети.
Записки IT специалиста
Технический блог специалистов ООО»Интерфейс»
WPAD или автоматическая настройка параметров прокси
Прежде всего немного теории. Давайте разберемся, как работает протокол и какие сетевые службы нужны для этого.
Автоматическая настройка системы на работу с прокси-сервером производится специальным набором инструкций на JavaScript, который называется PAC-файл (Proxy Auto Configuration), для нахождения его расположения в локальной сети используется протокол WPAD (Web Proxy Auto-Discovery Protocol).
Рассмотрим следующую схему:
Получив запрос от пользователя браузер пытается найти расположение PAC-скрипта используя различные сетевые механизмы. В первую очередь отправляется DHCP-запрос, ответ на который должен содержать URL PAC-файла в специальном поле ответа, для этого используется опция 252 протокола DHCP.
Если в ответе DHCP-сервера искомый адрес не найден, то посылается DNS-запрос для хоста wpad в текущем домене. Некоторые браузеры, например, Firefox, не используют DHCP-запросы, а сразу обращаются к DNS. С механизмом поиска службы WPAD через DNS связана одна серьезная уязвимость. Если в текущем домене хост с именем wpad не найден, то поиск будет произведен в вышестоящем домене, при этом выход за пределы домена организации никак не контролируется.
Что это значит? Допустим клиент расположен в домене office.spb.example.com, то поочередно будет произведен поиск следующих хостов:
Пользуясь этим, злоумышленники могут расположить PAC-файл по адресу за пределами домена предприятия и направить весь трафик на свои прокси сервера, в том числе и зашифрованный, в отношении которого можно осуществить атаку типа «человек посередине» с подменой сертификата.
В связи с этим DNS-сервер от Microsoft начиная с Windows Server 2008 содержит хост wpad в черном списке и не разрешает данное имя, даже если соответствующая запись на данном сервере существует.
В среде OC Windows, если предыдущие попытки не принесли результата, производится поиск хоста WPAD на WINS-сервере и посредством широковещательных протоколов LLMNR ( Link-Local Multicast Name Resolution) и NBNS (NetBIOS Name Service).
Поэтому, если данный веб-сервер использует виртуальные хосты, хост wpad должен являться хостом по умолчанию (или корневым хостом), т.е. его содержимое должно отдаваться при обращении к данному серверу без указания имени хоста, просто по IP-адресу.
Также, в целях безопасности, PAC-файл не должен быть доступен за пределами локальной сети.
PAC-файл
Как мы уже упоминали, PAC-файл является JavaScript-скриптом, однако количество инструкций в нем жестко ограничено. Разберем некоторые из них.
Этих инструкций вполне достаточно, чтобы составить достаточно подробные и разветвленные правила для работы с прокси-сервером. Попробуем составить реальный сценарий.
Прежде всего укажем функцию:
Данная функция получает от браузера URL и host из запроса и в ответ должна вернуть адрес прокси-сервера. Внутри фигурных скобок следует располагать инструкции и условия, в зависимости от выполнения которых браузеру будет возвращен тот или иной результат.
Начнем с того, что не следует направлять на прокси. Прежде всего это «плоские» имена, когда к какому-либо ресурсу пытаются обратиться по короткому имени, например, http://server, так как это однозначно ресурс локальной сети.
Согласно данной записи, если в поле host запроса содержится «плоское» имя, то возвращаем браузеру директиву DIRECT, что означает, что прокси-сервер для этого соединения использовать не следует.
Таким же образом предписываем обращаться напрямую по запросам с IP-адресами локальной сети:
И локальным адресам:
Кстати, первое правило можно переписать по-другому:
В доменной сети также следует настроить прямое соединение для внутренних ресурсов:
Аналогичным образом можно направить мимо прокси какие-либо критичные внешние ресурсы, например, интернет-банки или площадки электронных торгов.
Если ваш прокси не обрабатывает https запросы, то их тоже следует направить мимо, обратите внимание, что вместо host в данном правиле мы используем url:
Тоже самое следует сделать и для ftp запросов:
И наконец все, что не попало ни под одно правило отправляем на прокси:
Разобравшись с тем, как устроен PAC-файл перейдем к сценариям практической реализации служб WPAD в сети.
Сети Active Directory
Так как все наши статьи преемственны, то далее будет подразумеваться что WPAD настраивается для работы с роутером в сети Active Directory, описанного нами в цикле Настраиваем Squid для работы с Active Directory, таким образом данный материал может служить его логическим завершением.
Начнем с настройки DHCP, откроем соответствующую оснастку и перейдем к списку серверов, щелкните правой кнопкой мыши на пункт IPv4 и выберите Предопределенные параметры.
В открывшемся окне нажмите Добавить
И заполните поля следующим образом:
Если в вашей сети более одного DHCP-сервера, то аналогичные настройки нужно выполнить на каждом их них.
Следующим шагом будет настройка DNS, прежде всего откорректируем черный список, для этого на DNS-сервере откроем редактор реестра и перейдем в раздел:
Откроем опцию GlobalQueryBlockList и удалим оттуда значение wpad, после чего службу DNS нужно перезапустить.
Данную операцию следует выполнить на каждом DNS-сервере в вашей сети.
Затем добавьте запись типа A для хоста wpad, которая должна указывать на веб-сервер с PAC-файлом.
Закончив настройки DHCP и DNS следует наконец установить на выбранный хост веб-сервер и разместить на нем wpad.dat. Никаких ограничений здесь нет, вы можете настроить любой веб-сервер на любом узле сети. В нашем случае напрашиваются два варианта: веб-сервер непосредственно на роутере, мы рекомендуем для этих целей простой и легкий lighttpd или веб-сервер на одном из контроллеров домена, в этом случае предпочтение следует отдать IIS.
В данной части статьи мы рассмотрим вариант с IIS, а к lighttpd вернемся чуть позже, когда будем говорить об одноранговых сетях. Мы не будем подробно останавливаться на установке роли Веб-сервер (IIS), достаточно просто пройти все шаги мастера со значениями по умолчанию.
Для правильной работы с PAC-файлом добавьте новый тип MIME, указав расширение .dat и тип MIME application/x-ns-proxy-autoconfig.
Выполнив данную настройку не забудьте перезапустить веб-сервер и разместите в его корневой директории C:\inetpub\wwwroot файл wpad.dat.
Браузеры на основе Google Chrome (в т.ч. Opera, Яндекс) используют настройки, заданные для IE. Проблемы, как всегда, возникают с Firefox, который с настройкой по умолчанию Использовать системные настройки прокси игнорирует их и ходит напрямую, поэтому данную опцию следует изменить на Автоматически определять настройки прокси для этой сети.
Одноранговая сеть
В одноранговых сетях обычно применяются прозрачные прокси, не требующие настройки параметров браузера, однако в ряде случаев, например, для аутентификации, от прозрачности приходится отказываться, следовательно, возникает потребность в WPAD. Далее мы будем рассматривать настройку на примере роутера, настроенного по нашей статье: Ubuntu Server. Настраиваем роутер NAT + DHCP + Squid3.
Так как в большинстве случаев лишних серверов в небольших сетях нет, то все службы будем располагать в пределах роутера. DHCP и кэширующий DNS у нас уже есть, в виде пакета dnsmasq, а в качестве веб-сервера можно установить легковесный lighttpd. На первый взгляд все необходимое имеется и особых проблем возникнуть не должно.
Чтобы убедиться в этом, следует проверить DNS-суффикс текущего подключения. Для этого в консоли PowerShell выполните команду:
Ниже показан вывод команды для одноранговой и доменной сетей, разница в отсутствии DNS-суффикса отлично видна «невооруженным глазом».
Если все оставить как есть, то тот же Firefox не сможет получить настройки прокси и будет требовать ручного ввода параметров. Что делать? К счастью в протоколе DHCP есть опция 015, позволяющая передавать клиенту DNS-суффикс подключения.
Откроем /etc/dnsmasq.conf и последовательно изменим в нем следующие опции:
DNS-имя домена, передаваемое клиенту в опции 015 DHCP.
Задает расположение PAC-файла.
Теперь заново получим IP-адрес и снова проверим DNS-суффикс, также можно попробовать разрешить любое плоское имя (существующего хоста) командой nslookup.
Установим lighttpd:
Затем откроем его конфигурационный файл /etc/lighttpd/lighttpd.conf и добавим туда опцию:
Это ограничит работу веб-сервера только локальной сетью.
После чего следует убедиться, что в файле /etc/mime.types присутствует запись:
Если такой записи нет, то ее следует добавить.
На этом настройка сервера закончена, осталось разместить PAC-файл в директории /var/www и проверить работу браузеров.
Поскольку одноранговая сеть не предоставляет таких возможностей по управлению клиентскими ПК как ActiveDirectory, то следует предпринять меры по предотвращению обхода прокси. Это можно сделать через iptables, запретив форвардинг пакетов с назначением на 80-й порт. Но лучше поступить иначе.
В /etc/nat добавим следующее правило:
Данная конструкция перенаправит все запросы к веб-серверам или сторонним прокси на порт 80 нашего роутера, где работает собственный веб-сервер.
В конфигурацию lighttpd добавим опцию (не забудьте перезапустить веб-сервер):
Теперь в /var/www создадим файл index.html со следующим содержимым:
После чего при попытке обхода прокси пользователь увидит сообщение:
В качестве примера мы привели самый простой вариант странички запрета, вам же ничего не мешает сделать ее более информативной, например, разместив на ней краткие инструкции по самостоятельной настройке браузера.
Если вам нужно разрешить работу с некоторыми сайтами напрямую, минуя прокси, то перед запрещающим правилом добавьте:
Как видим, настроить автоматическое получение параметров прокси совсем несложно и можно эффективно применять данную технологию как в крупных, так и в небольших сетях.
Дополнительные материалы:
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал: