Прокси Серверы

ПРОКСИ-серверы.

Общие понятия. (Proxy – посредник)

Очень многие пользователи компьютеров имеют доступ в Интернет из локальных сетей своих фирм. При персональном доступе в Интернет, необходимости устанавливать прокси-сервер нет. Иное дело, когда необходимо обеспечить доступ нескольким компьютерам. Тогда становится необходимостью установка прокси-сервера.

Что же это такое?

По сути своей – это программа, являющаяся посредником между пользователем и глобальной сетью (в лице провайдера услуг Интернет). Ее назначение, транслировать запросы пользователя (точнее говоря, программ, обращающихся к ресурсам Сети). Проще говоря, когда пользователь обращается к какому-либо ресурсу (например, www.google.com), то фактически этот запрос посылается сначала на прокси-сервер (находящийся в одной локальной сети с клиентом). Потом, прокси-сервер направляет этот запрос на указанный адрес, но уже от своего имени и при получении ответа пересылает его клиенту, пославшему запрос.

Для чего это делается?

Дело в том, что IP адреса компьютеров локальной сети являются немаршрутизируемыми, т.е. исключенными из пространства адресов глобальной сети Интернет, а потому, например, отправив запрос с адреса 10.0.0.11, клиент не сможет получить ответ, поскольку WEB-сервер, где находится этот ресурс, не сможет обработать такой адрес и, соответственно, правильно направить ответ. В тоже время, прокси-сервер имеет кроме внутреннего, внешний интерфейс, которому провайдером назначается реальный (т.е. маршрутизируемый) IP адрес. Поэтому на запрос прокси-сервера может быть направлен ответ. В памяти прокси-сервера динамически создается и изменяется список запросов-ответов. Таким образом, каждый клиент получает данные, запрос на которые был послан. Вот в чем заключается главная роль прокси-сервера. Еще одна немаловажная задача – кэширование полученных WEB-страниц, и вообще, полученных данных. Это сильно ускоряет процесс получения данных клиентом, поскольку в большинстве случаев, такие данные, как изображения, а то и целые страницы, могут быть получены не с требуемо-го ресурса, и из КЭШ-памяти прокси-сервера. Кстати говоря, это существенно снижает внешний входящий трафик.


В более широком смысле понятия, прокси–сервер – это компьютер, который и осуществляет функции трансляции сетевых адресов при отправке запроса и получении ответа на этот запрос. Теорию прокси-серверов мы рассматривать в этой статье не будем, поскольку это тема целой книги – только несколько практических советов и замечаний. Для примера рассмотрим два варианта применения прокси-серверов – для небольшой сети, реализованной как рабочая группа и для корпоративной сети, реализованной как домен.

1. Применение прокси-сервера для организации доступа в Интернет из рабочей группы.

В этом случае проще всего установить прокси-сервер на одну из машин рабочей группы. Например, адрес этой машины 10.0.0.1. В этом случае достаточно в настройках вашего Интернет-браузера прописать прокси с адресом 10.0.0.1.

Какой же прокси выбрать для такого варианта?

Можно что-нибудь попроще, например WinGate, WinRoute или WinProxy. Можно и FreeProxy. Каждый из этих серверов обладает разными возможностями и настройками. Например, WinProxy кроме функций прокси-сервера выполняет роль файрвола и антивируса (антивирусный агент от Panda Software). И это довольно удобно и полезно в разрезе защищенности вашей сети и от нападения извне и защите от вирусов, коих в Интернете огромное количество. Здесь ничего конкретного предлагать не буду, поскольку каждая из этих программ обладает своими достоинствами и недостатками. Большинство из предлагаемых сейчас прокси-серверов являются коммерческими продуктами, но всегда имеется Shareware (или Trial) версия для ознакомления и пробной работы. Очень часто эти версии обладают ограниченными возможностями (как правило, отсутствуют или заблокированы дополнительные сервисы), но вполне работоспособны по своему прямому назначению.

Как установить прокси на компьютер?

Очень просто. Во-первых, желательно, чтобы этот компьютер был оснащен двумя сетевыми платами. Одна из них будет использоваться для внутренней сети, вторая – для подключению к Интернету. Впрочем, тут могут быть варианты. Все зависит от способа подключения к Интернету. Как правило, это DSL-модем (либо кабельный модем). Исполнение этих устройств может быть разное, как с Ethernet, так и с USB интерфейсом. Но в любом случае на прокси сервере (теперь уже говорю о компьютере) должно быть как минимум два сетевых подключения: первое – к провайдеру услуг Интернет (внешнее), второе – к внутренней локальной сети. При инсталляции прокси-сервера, обычно сразу происходит настройка программы. Чаще всего (например, при использовании WinProxy) это происходит автоматически, т.е. программа сама распознает имеющиеся сетевые подключения и ваша задача заключается в том, чтобы выбрать необходимое внешнее подключения, и то, только в том случае, если их больше одного. Порядок и возможности настройки зависят от используемой программы, поэтому давать здесь конкретные советы и рекомендации не имеет смысла. При необходимости всегда можно обратиться или к встроенной системе помощи или на форум.

Что еще надо знать при настройке любого прокси-сервера?

А знать надо минимально-необходимый перечень портов, которые должны быть открыты. Например, порт 80 необходим для работы с HTTP (практически все WEB-браузеры используют этот порт для работы с WWW). 21 порт необходим для работы с FTP-серверами и т.д. Для более полной информации о портах можно обратиться к статье: Порты TCP. Так вот, хорошим правилом будет минимальное количество открытых портов. Тем самым вы уменьшите вероятность нападения извне на вашу сеть. Также, в зависимости от используемого прокси-сервера, можно установить список допущенных пользователей или компьютеров и период доступа.

2. Доступ в Интернет из ЛВС, организованной как домен.

Здесь все немного сложнее. Если ваша ЛВС основана на Windows Server, то наиболее приемлемым будет использование Microsoft ISA Server (Internet Sharing & Acceleration). Во-первых, этот продукт полностью интегрируется с Active Directory. Во-вторых, имеет множество средств мониторинга и аудита. В-третьих, не требует особых знаний при настройке, которая производится при помощи специальной оснастки. Описывать процесс установки и настройки ISA Server в этой статье я не буду, поскольку для этого потребуется целая книга. В любом случае, при необходимости всегда можно найти требуемые мануалы и инструкции. Один из недостатков ISA Server – необходимость установки на каждую рабочую станцию домена, с которой предполагается доступ в Интернет, клиентской части (mspclnt).

3. Как обойти закрытые порты ISA-сервера и как пройти через него браузером Opera?

В достаточно большой (или не очень) корпоративной сети на базе операционных систем семейства Windows, системные администраторы, как правило, применяют в качестве прокси-сервера ISA Server. Это понятно и объяснимо, в силу родственности ISA и Windows Server, а так же прочих, типа Active Directory, свойств. Для обеспечения максимальной безопасности, администратор чаще всего оставляет открытыми минимальное количество портов – 80, 8080, 443, ну, и может быть, еще 21, 25 и 110. Т.е. многие программы, требующие для нормальной работы открытия специфических портов (например, как MIRC, требующий порт 6667 и т.д.), в этих условиях нормально функционировать не могут. Кроме того, хотя ISA Server предусматривает два типа авторизации – NTLM (когда для авторизации пользователя используется Active Directory) и т.н. базовую – когда для доступа необходимо ввести имя пользователя – пароль. Некоторые WEB – браузеры, в отличие от Internet Explorer не используют NTLM авторизацию (например, Opera) и поэтому их использование кажется невозможным. Однако, это не так. Есть способы обойти эти препятствия.

Авторизация

Начнем с обхода NTLM – авторизации. Это необходимо для почти полноценного функционирования браузера Opera (и некоторых других). Почему почти? Потому что, та же Опера имеет интегрированный Чат, для которого, кроме обхода NTLM – авторизации, необходим еще и доступ через специфичный порт, например 6667. В настоящее время одним из оптимальных решений является применение «NTLM Authorization Proxy Server». Это программа, написанная на языке Pyton, и для ее работы необходимо сначала установить интерпретатор Python (бесплатную версию можно скачать с офсайта компании http://www.python.org/). Сам APS можно взять с http://www.geocities.com/rozmanov/ntlm/. Pyton ставится без проблем, при настройке ASP необходимо лишь указать путь к папке с установленным Python, и поправить в соответствии с вашими настройками и параметрами файл server.cfg. Пример файла помещен ниже:


[GENERAL]
# здесь номер порта (по умолчанию 5865)
LISTEN_PORT:9000

# If you want APS to authenticate you at WWW servers using NTLM then just leave this
# value blank like PARENT_PROXY: and APS will connect to web servers directly.
# And NOTE that NTLM cannot pass through another proxy server.

PARENT_PROXY: #здесь имя вашего ISA сервера, например OurISA.yoursite.org
PARENT_PROXY_PORT:80 #здесь открытый на ISA порт, например 80 или 8080

# Windows Domain
DOMAIN: #здесь имя домена, как в примере yoursite.org
 
# What user's name to use during authorization. It may differ form real current username.
USER: #здесь ваш (или не ваш) Логин для входа в домен

# Password. Just leave it blank here and server will request it at the start time.
PASSWORD: #здесь пароль для входа в домен/

# Experimental option. Set it to 1 to switch on UNICODE and NT response part in the auth action.
# In a nut shell, you may want to try setting it to 1 if you are sure that you have to use NTLM
# authentication and it just does not work for you. Most of times everything should work without
# this option.
FULL_NTLM:0

# Highly experimental option. Do not touch. See research.txt for details.
NTLM_FLAGS: 06820000

# Set to 1 if you want to grant this authorization service to clients from other computers.
# NOTE: all the users from other hosts that will be using you copy of APS for authentication
# will be using your credentials in NTLM auth at the remote host.
ALLOW_EXTERNAL_CLIENTS:0

# If you want to allow some other but not all computers to use your proxy for authorization,
# just set ALLOW_EXTERNAL_CLIENTS:0 and put friendly IP addresses here.
# Use space as a delimiter.
# NOTE that special addesses don't work here (192.168.3.0 for example).
FRIENDLY_IPS:

# Requested URLs are written to "url.log" file. May be useful.
URL_LOG:0

[CLIENT_HEADER]

# This section describes what and how the server should change in the clients headers.
# Made in order to prevent parent proxy from seeing that you are using wget instead of IE5.5

Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, applica-tion/vnd.ms-excel, application/msword, application/vnd.ms-powerpoint, */*
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)

# for windows 2000 emulation ;)
# User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT5)

# You can uncomment these chages in client's header to mimic IE5+ better, but in this case
# you may expirience problems with *.html if your client does not really handle compression.
#Accept-Encoding: gzip, deflate

[NTLM_AUTH]

#Тип аутентификации. Если не сработает так, как есть, можно поставить 1 и 1.

LM_PART:1

NT_PART:1

#Можно перевести NTLM'скую аутентификацию в базовый вид, поставив тут 1. Тогда при начале работы браузер попросит логин и пароль.

NTLM_TO_BASIC:1

[DEBUG]

# Set this to 1 if you want to see debug info in many log files. One per connection.
DEBUG:0

# Set this to 1 to get even more debug info.
BIN_DEBUG:0

# Set this to 1 to see some strange activity on screen. Actually you won't want it.
SCR_DEBUG:1

# Not actually a debug option but gives you some details on authentication process
# into *.auth logs. Also see research.txt.
AUTH_DEBUG:0

После настройки запускаете runserver.bat и все. Далее, необходимо настроить подключение в Opera.


Настройки прокси-серверов для Оперы


На этом скриншоте показаны настройки прокси-серверов для Оперы. Для других браузеров настройки делать по аналогии.

Обход закрытых портов

Теперь перейдем ко второй части – обход закрытых портов. Здесь нам поможет один из т.н. мапперов – HTTPort. Кстати, для нормальной его работы в условиях ISA сервера с NT-авторизацией, необходимо запускать описанный раньше ASP. Качаем эту программулину здесь: http://www.htthost.com/download.boa
Устанавливаем и настраиваем.
Как показано на скриншоте ниже, в первую строку прописываем IP и номер порта (ip ло-кального компьютера, номер порта – согласно настроек в ASP). Ставим галочку «Proxy Requires authentication» и вписываем логин и пароль для входа в домен. User–Agent лучше оставить как есть, а Bypass mode установить в Auto. Нижние поля не заполняем, по крайней мере, пока у вас нет адреса удаленного хоста для HTTPort.


Настройка HTTPort


Теперь настраиваем маппинг. Для примера возьмем настройку для IRC клиента MIRC. Прописываем локальный порт (6667), потом имя сервера IRC (в данном примере – irc.zix.ru) и удаленный порт (6667). Переходим на вторую закладку «Proxy» и жмем “Start”. Маппинг запущен. Теперь в сетевых настройках программы достаточно указать вместо реального адреса – 127.0.0.1 и реальный номер порта (для показанного примера 6667).


Настройка MIRC 1


Пример настройки MIRC.


Настройка MIRC 2


Все очень просто. Для настройки других клиентов надо только правильно прописать имя удаленного хоста и номера портов.


Теперь запускаем всю цепочку. Сначала ASP, потом HTTPort, и в итоге, при почти полностью закрытой ISA, получаем массу удовольствия от работы в любимом браузере и приятного общения в IRC и ICQ.


Следует заметить, что применение HTTPort не ограничивается только вышеописанным примером. Если ISA сервер настроен на «базовую» аутентификацию, то применение ASP становится излишним. А при помощи HTTPort, через единственный открытый на ISA сервере порт, можно настроиться практически на любой WEB-сервис, в том числе подключиться к игровым серверам или использовать WEBMoney. (Эти сервисы, как правило, используют специфичные порты для доступа и через 80 порт до них никак не достучаться). Кроме того, сам производитель HTTPort не гарантирует стопроцентного успеха при использовании этого продукта, однако, в большинстве случаев, особых проблем не возникает. Важно лишь правильно настроить маппинг портов. Впрочем, в последнем окне программы есть несколько ссылок, в том числе и на FAQ по использованию HTTPort.


NetJ



Линки по теме :
http://www.freeproxy.ru/ru/free_proxy/faq/index.htm – FAQ Proxy, основные понятия и использование.
http://forum.ru-board.com/topi[...]orum=55&topic=0457#1 – Обход прокси сервера, тема на Ру-Борде.
http://sozhmi.net.ru/programs/ – Обзор программ для сжатия трафика.
Настройка HTT Port

Общая оценка документа [показать форму]

страница еще не оценена