Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_PO_KS.docx
Скачиваний:
24
Добавлен:
21.08.2019
Размер:
645.14 Кб
Скачать
  1. Понятие proxy-сервера. Назначение. Классификация

Понятие прокси-сервера

Proxy сервер - это промежуточный компьютер, который является посредником ("proxy" - посредник) между Вашим компьютером и интернетом.

Через него проходят все Ваши обращения в Internet. Proxy их обрабатывает, и результаты (скаченные из Internet файлы) передает Вам.

Proxy-сервер может многое. Он способен:

  • ускорить Вашу работу с Internet;

  • сделать работу в Сети анонимной;

  • позволить входить в чаты, даже если Вас заблокировали;

  • помочь посмотреть те сайты, к которым закрыл доступ Ваш системный администратор;

Соединение через прокси в некоторых случаях улучшает связь. Вы соединяетесь с proxy-сервером (из "А" в "C"), а proxy-сервер, используя выделенную линию или оптоволокно (самолет) передает или получает данные с web-сервера (из "C" в "B").

То есть связь без proxy реализуется по следующей схеме:

Ваш компьютер >>>> web-сайты

А при использовании proxy-сервера схема выглядит так:

Ваш компьютер >>>> proxy >>>> web-сайты

За счет чего прокси сервер ускоряет соединение с Internet?

Во-первых, это происходит за счет двух факторов:

  1. Proxy-сервер находится близко к Вам - т.е. ближе чем большинство других сайтов, с которыми Вы работаете;

  2. У proxy-сервера мощный канал связи (выделенная сеть или оптоволокно) и большой пул (максимальная скорость обмена с Intenet).

В этом случае ускорение происходит за счет того, что:

  • между Вами и proxy-сервером устанавливается максимальная скорость передачи данных, допустимая вашим оборудованием (за счет того, что proxy близко от Вас): если Вы используете модем, то скорость обмена будет максимально допустимой для Вашей линии связи;

  • proxy-сервер использует заведомо более высокую скорость связи (за счет мощного канала) с web-сайтами, чем Вы;

Во-вторых, ускорение связи с Internet происходит за счет кэширования информации. Кэширование по сути аналогично кэшу в Вашем браузере (где хранятся временные файлы), однако является гораздо более эффективным за счет того, что:

  1. Размер кэша в отличие от Вашего компьютера составляет не мегабайты, и даже не десятки мегабайт, а гигабайты;

  2. Этот кэш используете не только Вы, но еще десятки (сотни и тысячи) других пользователей. Представьте себе ситуацию: на сервере новостей появилась свежая информация. Первый пользователь обратился к proxy с запросом скачать новости. Proxy скачал новости себе, передал их пользователю, и сохранил в своем кэше. После этого Вы также обращаетесь к proxy за теми же новостями. Proxy-сервер обнаруживает эти новости в своем кэше, и передает их сразу Вам, не скачивая их с сервера новостей (и не тратя на это лишнее время). Таким образом, Вы получаете заметный выигрыш, используя общедоступные proxy-сервера.

Каким образом прокси сервер делает мое путешествие по Internet анонимным?

Когда Вы приходите на какие-либо web-сайты, Ваш компьютер посылает запрос на скачивание страничек, картинок, и т.д. с web-сервера. При этом компьютер передает Ваш IP-адрес - уникальный номер компьютера в Internet. Используя этот адрес, злоумышленник может "подвесить" Ваш компьютер, запустить к Вам вирус, подключиться к Вашему компьютеру и украсть конфиденциальную информацию, и т.д.

Для того чтобы этого не произошло, Вы можете установить на своем компьютере мощные системы защиты - Firewall. Однако, это не является панацеей - любую программу можно взломать. Поэтому в качестве дополнительных мер защиты, Вам имеет смысл использовать анонимный proxy-сервер. При обращении к web-серверам proxy "подменит" Ваш IP-адрес на свой, и злоумышленник будет пытаться вторгнуться не к Вам, а на proxy- сервер (у которого гораздо более мощная система защиты).

Однако далеко не все proxy-сервера в Internet являются анонимными (подменяют Ваш IP-адрес). Большинство из них предназначено именно для ускорения доступа в Internet, и не "прячет" Ваш IP-адрес. Чтобы найти анонимные proxy-сервера, Вам необходимо воспользоваться программой Proxy Checker (или аналогичной).

Все возможности proxy основаны на том, что он является промежуточным звеном между Вашим компьютером (или локальной сетью) и Internet. Поэтому как следствие, он также, в принципе, может:

  • фильтровать содержимое просматриваемых Вами страниц, в частности, удал ять рекламу;

  • "изменить" географическое расположение Вашего компьютера (актуально для сайтов, показывающих разное содержимое в зависимости от того, из какого региона / страны идет обращение);

  • если proxy-сервер в одной локальной сети с Вами, то достаточно, чтобы только proxy был подключен к Internet - используя одно подключение, в Internet сможет выходить вся сеть;

Настройка браузер для работы с прокси-сервером (на примере Internet Explorer 6.X)

  1. Выберите меню "Сервис" ("Service"), пункт "Свойства обозревателя" ("Internet Options");

  2. Вкладка "Соединение" ("Connections");

  3. Если используется Dial-up - выделите нужное соединение и нажмите "Настройка" ("Settings"). Иначе - нажмите кнопку "Настройка сети" ("LAN Settings") в подразделе "Настройка локальной сети" ("Local Area Network (LAN) Settings").

  4. Поставьте галочку рядом с опцией "Использовать прокси-сервер" ("use a proxy server");

  5. В поле "Адрес" ("Address") введите имя proxy-сервера, а в поле "порт" ("port")- номер порта proxy;

  6. При необходимости поставьте галочку рядом с опцией "Не применять прокси- сервер для локальных адресов" ("bypass proxy server for local addresses");

  7. При необходимости - нажмите на кнопку "Дополнительно" ("Advanced") и укажите параметры для разных протоколов;

  8. Нажмите кнопку "OK" чтобы закрыть окно настроек локальной сети или Dial-Up;

  9. Нажмите кнопку "OK" чтобы закрыть окно настроек Internet.

(на примере Opera 5.X - 6.x)

  1. В меню "Файл" ("File") выберите "Настройки..." ("Preferences...");

  2. В разделе "Category" (слева) выберите "Подключения" ("Network");

  3. Кликните по кнопке "Прокси-серверы..." ("proxy servers...");

  4. Укажите proxy-сервера для соответствующих протоколов.

(на примере Mozilla)

  1. В меню "Правка" ("Edit") выберите "Установки" ("Preferences");

  2. В разделе "Category" (слева) дважды щелкните мышью по надписи "Дополнительно" ("Advanced"), а затем выберите "Соединения" ("Proxies");

  3. Установите опцию "Настройка вручную" ("Manual proxy configuration");

  4. Укажите proxy-сервера и порты для соответствующих протоколов.

Классификация proxy

Существует несколько типов proxy серверов. Каждый тип proxy предназначен для решения своего круга задач.

NAT-proxy

Самый простой вид прокси. Он входит в состав ОС Windows начиная с Windows 2000 и XP (а также в 98SE и Me). Там он называется «Общий доступ к подключению интернета» и включается галочкой в свойствах модемного соединения. Этот прокси работает прозрачно для пользователя, никаких специальных настроек в программах не требуется. Но на этом удобства этого прокси заканчиваются. Влиять на работу «общего доступа» Windows (например, ограничивать список доступных сайтов для отдельных пользователей) вы не сможете. Другие NAT-proxy могут быть более гибкими, но их общая проблема — универсальность. Они не «вникают» в тонкости тех прикладных протоколов, которые через себя пропускают, поэтому и не имеют средств управления ими. Специализированные прокси (свой вид для каждого протокола) имеют ряд преимуществ и с точки зрения администраторов, и с точки зрения пользователей.

HTTP proxy

Это наиболее распространенный тип proxy серверов и говоря просто "proxy", имеют в виду именно его. Раньше с помощью этого типа proxy можно было только просматривать web страницы и картинки, скачивать файлы. Теперь же новые верс ии программ (ICQ и т.п.) умеют работать через HTTP proxy. С этим типом proxy умеют работать и браузеры любых версий.

HTTP-прокси - самый распространенный. Он предназначен для организации работы браузеров и других программ, использующих протокол HTTP. Браузер передает прокси-серверу URL ресурса, прокси-сервер получает его с запрашиваемого веб-сервера (или с другого прокси-сервера) и отдает браузеру. У HTTP-прокси широкие возможности при выполнении запросов:

  • Можно сохранять полученные файлы на диске сервера. Впоследствии, если запрашиваемый файл уже скачивался, то можно выдать его с диска без обращения в интернет - увеличивается скорость и экономится внешний трафик (который может быть платным). Эта опция называется кэшированием - именно её очень любят администраторы и пользователи - настолько, что считают её главной функцией прокси. Однако приводимые оценки экономии (в описаниях встречалось от 30 до 60%) слишком оптимистичны. На деле получается не более 10-15% - современный интернет очень динамичен, страницы часто меняются, зависят от работающего с ними пользователя и т.д.

  • такие данные кэшировать нельзя, веб-серверы обычно вставляют в HTTP-заголовки специальные указания об этом, чтобы браузеры и прокси имели это в виду. Хотя многие прокси-серверы можно настроить так, чтобы эти указания частично игнорировались - например, перечитывать страницу не чаще одного раза в день.

  • Можно ограничивать доступ к ресурсам. Например, завести «черный список» сайтов, на которые прокси не будет пускать пользователей (или определенную часть пользователей, или в определенное время и т.д.). Ограничения можно реализовать по-разному. Можно просто не выдавать ресурс - например, выдавая вместо него страницу «запрещено администратором» или «не найдено». Можно спрашивать пароль и авторизованных пользователей допускать к просмотру. Можно, не спрашивая пароля, принимать решение на основании адреса или имени компьютера пользователя. Условия и действия в принципе могут быть сколь угодно сложными (не во всех прокси).

  • Можно выдавать не тот ресурс, который запрашивается браузером. Например, вместо рекламных баннеров и счетчиков показывать пользователям прозрачные картинки, не нарушающие дизайн сайта, но существенно экономящие время и трафик за счет исключения загрузки картинок извне.

  • Можно ограничивать скорость работы для отдельных пользователей, групп или ресурсов. Например, установить правило, чтобы файлы *.mp3 качались на скорости не более 1кб/сек, чтобы предотвратить забивание вашего интернет-канала трафиком меломанов, но не лишать их полностью этого удовольствия. Эта возможность, к сожалению, есть не во всех прокси.

  • Ведутся журналы работы прокси - можно подсчитывать трафик за заданный период, по заданному пользователю, выяснять популярность тех или иных ресурсов и т.д.

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

HTTPS-прокси - фактически часть HTTP-прокси. S в названии означает “secure”, т.е. безопасный. Не смотря на то, что программно это часть HTTP-прокси, обычно HTTPS выделяют в отдельную категорию (и есть отдельное поле для него в настройке браузеров). Обычно этот протокол - безопасный HTTP - применяют, когда требуется передача секретной информации, например, номеров кредитных карт. При использовании обычного HTTP-прокси всю передаваемую информацию можно перехватить средствами самого прокси (т.е. это под силу администратору ЛС) или на более низком уровне, например, tcpdump (т.е. и администратор провайдера и любого промежуточного узла и вообще любой человек, имеющий физический доступ к маршрутам передачи ваших данных по сети, может при большом желании узнать ваши секреты). Поэтому в таких случаях применяют secure HTTP - всё передаваемое при этом шифруется. Прокси-серверу при этом дается только команда «соединится с таким-то сервером», и после соединения прокси передает в обе стороны шифрованный трафик, не имея возможности узнать подробности (соответственно и многие средства управления доступом - такие как фильтрация картинок - не могут быть реализованы для HTTPS, т.к. прокси в этом случае неизвестно, что именно передается). Собственно в процессе шифрации/дешифрации прокси тоже участия не принимает - это делают клиентская программа и целевой сервер. Наличие команды «соединиться с таким-то сервером» в HTTPS-прокси приводит к интересному и полезному побочному эффекту, которым все чаще пользуются разработчики клиентских программ. Так как после соединения с указанным сервером HTTPS-прокси лишь пассивно передает данные в обе стороны, не производя никакой обработки этого потока вплоть до отключения клиента или сервера, это позволяет использовать прокси для передачи почти любого TCP-протокола, а не только HTTP. То есть

HTTPS-прокси одновременно является и простым POP3-прокси, SMTP-прокси, IMAP-прокси, NNTP-прокси и т.д. - при условии, что соответствующая клиентская программа умеет так эксплуатировать HTTPS-прокси (увы, далеко не все еще это умеют, но есть вспомогательные программы, «заворачивающие» трафик обычных клиентов через HTTPS-прокси). Никаких модификаций целевого сервера не требуется. Фактически HTTPS-прокси является программируемым mapping-proxy, как и Socks-proxy.

Mapping-прокси - способ заставить работать через прокси те программы, которые умеют работать с интернетом только напрямую. При настройке такого прокси администратор создает как бы «копию» целевого сервера, но доступную через один из портов прокси-сервера для всех клиентов локальной сети - устанавливает локальное «отображение» заданного сервера. Например, пользователи локальной сети хотят работать с почтовым сервером mail.ru не через браузер, а с использованием почтовой программы Outlook Express или TheBat?. Эти программы не умеют работать через прокси (кроме случая, когда Outlook получает почту по HTTP с hotmail.com - тогда он, как и браузер, пользуется HTTP-прокси). Простейший способ работать с mail.ru по POP3 через прокси - установить локальное отображение сервера pop.mail.ru. И в Outlook^ вместо pop.mail.ru написать имя прокси-сервера и порт отображения. Outlook будет соединяться с прокси- сервером ("думая", что это почтовый сервер), а прокси при этом будет соединяться с pop.mail.ru и прозрачно передавать всю информацию между Outlook и pop.mail.ru, таким образом «превращаясь» на время соединения в POP3-сервер. Неудобство mapping-прокси в том, что для каждого необходимого внешнего сервера нужно вручную устанавливать отдельный порт на прокси. Но зато не требуется модификация ни серверов, ни клиентов. Особенно это помогает в случае необходимости «проксирования» многочисленных «доморощенных» протоколов, реализованных в играх или финансовых программах. Почему-то они часто игнорируют существование прокси и стандартных протоколов. Такие программы можно «обмануть» и направить через прокси практически всегда, если они не делают другой глупости - передачи клиентского IP-адреса внутри протокола и пытаются с ним соединяться напрямую еще раз (что невозможно, т.к. локальные адреса недоступны извне).

Socks proxy

Эти proxy сервера умеют работать практически с любым типом информации в Internet (протокол TCP/IP), однако для их использования в программах должно быть явно указана возможность работы с socks proxy. Для использования socks proxy в браузере нужны дополнительные программы (браузеры не умеют сами работать через socks proxy). Однако любые версии ICQ (и многих других популярных программ) отлично могут работать через socks proxy. При работе с socks proxy нужно указывать его версию: socks 4 или socks 5.

SOCKS — сетевой протокол, который позволяет клиент-серверным приложениям прозрачно использовать сервисы за межсетевыми экранами (фаерволами). SOCKS — это сокращение от «SOCKetS» (сокеты, гнёзда).

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

В отличие от HTTP прокси серверов, SOCKS передаёт все данные от клиента, ничего не добавляя от себя, то есть с точки зрения конечного сервера, SOCKS прокси является обычным клиентом. SOCKS более универсален — не зависит от конкретных протоколов уровня приложений (7-го уровня модели OSI) и базируется на стандарте TCP/IP — протоколе 4-го уровня. Зато HTTP прокси кэширует данные и может более тщательно фильтровать содержимое передаваемых данных.

Этот протокол был разработан Дэвидом Кобласом (David Koblas), системным администратором MIPS Computer Systems. После того, как в 1992 году MIPS вошла в состав Silicon Graphics (SGI), Коблас сделал доклад о SOCKS на Симпозиуме по Безопасности Usenix (Usenix Security Symposium), и SOCKS стал публично доступным. Протокол был расширен до четвёртой версии Ин-Да Ли (Ying-Da Lee) из NEC Systems Laboratory.

CGI proxy (анонимайзеры)

С этим типом proxy серверов можно работать только через браузер. В других программах их использование затруднено (да и не нужно - есть HTTP proxy). Однако поскольку этот тип proxy изначально рассчитан на работу через браузер, использовать их исключительно просто. Вы легко сможете не только задействовать анонимайзер в своей работе, но и без проблем построить цепочку из CGI proxy.

Этот тип proxy серверов называют по-разному: CGI proxy, анонимайзеры (по названию наиболее популярного proxy сервера такого типа - http://www.anonymizer.com/), free web anonymizer, web proxy и т.д.

Proxy сервер данного типа представляет собой (с точки зрения пользователя) обычную web-страничку, очень похожую на страницы поисковых систем. Только вместо поисковых фраз Вам необходимо в поле ввода набрать URL того сайта, на который Вы хотите перейти. После чего, нажав кнопку "Submit" или "Go", Вы попадете на страницу, URL которой указали CGI proxy. Только во т адрес этой страницы (указанный в поле адреса) с точки зрения Вашего компьютера будет другой - что-то вроде http://www. cgi-proxy. com/http/www.your-url.com/path/ например: http://www. cgi-proxy. com/http/www.yahoo.com/

Используя такие proxy сервера, Вы можете анонимно перемещаться по всему Internet, не меняя настроек Вашего браузера и не используя никаких дополнительных программ. CGI proxy поддерживают HTTP и (иногда) FTP протоколы.

С точки зрения анонимности CGI proxy бывают такими же, как и HTTP proxy:

  1. прозрачные - эти proxy не являются анонимными. Они во-первых дают знать, что используется proxy-сервер, а во-вторых "выдают" IP-адрес своего клиента. Задачами таких proxy, как правило, является кэширование информации и / или обеспечение выхода в Internet нескольких компьютеров через одно соединение.

  2. анонимные - эти proxy дают знать удаленному компьютеру (web -серверу) о том, что используется proxy, однако не выдают IP-адрес своего клиента.

  3. искажающие - в отличие от предыдущего типа, они передают удаленному web- серверу IP-адрес, однако это адрес фиктивный: либо произвольно сгенерированный proxy-сервером, либо какой-то фиксированный (не Ваш) IP. То есть эти proxy искажают Ваш IP адрес с точки зрения web -сервера.

  4. реально анонимные (элитные) - не сообщают удаленному компьютеру Ваш IP- адрес. Более того, они даже не сообщают о том, что используется proxy сервер! То есть web-сервер "считает", что он работает непосредственно с клиентом - а клиентом для него является proxy!

Эта классификация анонимности весьма условна.

FTP proxy

Этот тип proxy серверов отдельно от корпоративных сетей встречается довольно редко. Обычно его использование связано с тем, что в организации имеется Firewall (система защиты компьютеров от вторжения извне), препятствующий прямому доступу в Internet. Использование proxy этого типа предусмотрено во многих популярных файловых менеджерах (FAR, Windows Commander), download менеджерах (GetRight, ReGet, ...) и в браузерах. Этот тип proxy является узко специализированным и предназначен для работы только с FTP серверами.

FTP-прокси бывает двух основных видов в зависимости от протокола работы самого прокси. С ftp-серверами этот прокси, конечно, всегда работает по протоколу FTP. А вот с клиентскими программами - браузерами и ftp-клиентами (CuteFTP, FAR, и др.) прокси может работать как по FTP, так и по HTTP. Второй способ удобнее для браузеров, т.к. исторически является для них «родным». Браузер запрашивает ресурс у прокси, указывая протокол целевого сервера в URL - http или ftp. В зависимости от этого прокси выбирает протокол работы с целевым сервером, а протокол работы с браузером не меняется - HTTP. Поэтому, как правило, функцию работы с FTP-серверами также вставляют в HTTP-прокси, т.е. HTTP-прокси, описанный выше, обычно с одинаковым успехом работает как с HTTP, так и с FTP-серверами. Но при «конвертации» протоколов FTP<->HTTP теряется часть полезных функций протокола FTP. Поэтому специализированные ftp-клиенты предпочитают и специальный прокси, работающий с обеими сторонами по FTP. В Eserv и Eproxy мы называем этот прокси FTP-gate, чтобы подчеркнуть отличие от FTP-прокси внутри HTTP-прокси. Также этот прокси называется в некоторых ftp-клиентах. Хотя встречаются и вносящие путаницу названия. Например, в программе CuteFTP FTP-gate называют firewall, хотя FireWall в общем случае - это вообще не прокси, а фактически программа обратного назначения - не для подключения к интернету, а для изоляции от него. Для прокси в FireWall оставляют специальные «дыры». FTP-gate поддерживают различные способы указания в FTP- протоколе целевого сервера, с которым FTP-клиент хочет работать, в настройке FTP- клиентов обычно предлагается выбор этого способа.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]