8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 82 83 84 85 86 87 88 ... 125

Шлюз канального уровня

Многие proxy-серверы привязаны к определенной сетевой службе или протоколу. Например, одна программа proxy-сервера может быть предназначена для FTP, другая для Telnet. Такие proxy-серверы не являются взаимозаменяемыми и применяются с целью ограничения доступных пользователю функций сервера. Они образуют шлюзы прикладного уровня между клиентом и сервером. Поскольку протокол SOCKS не вникает в детали работы клиентского приложения, а лишь обеспечивает аутентификацию и обмен данными, он считается шлюзом канального, а не прикладного уровня.

пока описаны только некоторые из них. Сервер SOCKS выбирает один из предложенных клиентом методов и сообщает ему об этом. Значения, соответствующие методам, контролируются организацией IANA, и в настоящее время определены следующие:

О аутентификация не нужна (0); О GSS-API (1);

О USERNAME/PASSWORD (2); О IANA (3-127); О зарезервировано (128-254); О недопустимые методы (255).

г-\

Методы аутентификации SOCKS V5

В двух других документах RFC подробно рассмотрены два возможных метода аутентификации протокола SOCKS V5. Это RFC 1929 «Username/Password Authentication for SOCKS V5», представляющий метод аутентификации, при котором пароль и имя пользователя пересылаются в незашифрованном виде, и RFC 1961 «GSS-API Authentication Method for SOCKS V5», описывающий при- j менение GSS-API для аутентификации и других целей, например шифрования IP- \ трафика. GSS-API также представлен в RFC 1508 и 1509.j

V I

После получения сообщения клиентом он и сервер SOCKS входят в стадию согласования параметров, специфичную для выбранного метода аутентификации.

Формат запроса SOCKS V5

Формат запроса SOCKS V5 похож на формат предыдущей версии, но содержит больше информации. Номер версии должен быть равен 5, а код команды SOCKS может иметь одно из следующих значений:

1CONNECT;

2BIND;

3UDP ASSOCIATE.


МОДИФИКАЦИЯ ПРИЛОЖЕНИЙ ДЛЯ ПОДДЕРЖКИ SOCKS 257

Вводится новое поле Address Туре (тип IP-адреса). Это 8-битное значение должно быть равным 1, если адрес записан в формате IPv4, 3 - если в поле адреса имеется доменное имя, и 4 - если адрес записан в формате IPv6. Поле Destination Address содержит адрес в формате, заданном полем типа адреса. Поле Destination Port, как и в 4-й версии, обозначает порт удаленного сервера, к которому клиент намерен подключиться. Размер поля Destination Address зависит от типа адреса. Если адресом является полное имя домена, то первый октет адреса (8 бит) обозначает длину (в октетах) доменного имени в поле адреса.

Функция UDP Associate

Поле версии в ответе также будет равно не 4, а 5. В поле SOCKS Result Code, кроме прежних, могут быть выведены и новые результаты. В ответе тоже есть поля типа адреса и адрес в заданном формате.

Кроме запросов CONNECT и BIND, SOCKS V5 содержит еще один запрос, позволяющий создавать proxy-серверы UDP. Посылая серверу пакет запроса UDP ASSOCIATE, клиент сообщает ему порт и IP-адрес, которые он собирается применять. Пакет ответа, возвращаемый сервером, информирует клиента о номере порта и IP-адресе, на которые клиент должен посылать пакеты. Но трафик UDP пересылается не так, как трафик IP. Пакеты не просто принимаются от одной из сторон соединения и отправляются другой стороне, а к каждому передаваемому клиентом пакету UDP присоединяется заголовок запроса UDP. Этот заголовок включает в себя стандартные поля запроса/ответа SOCKS, а также порт и IP-адрес получателя.

I----1

Дефрагментация UDP

Протокол SOCKS V5 описывает поле в заголовке запроса UDP, позволяющее определить, был ли пакет фрагментирован. Это необязательная функция, которая, возможно, реализована не во всех серверах SOCKS.

Поскольку UDP - протокол без установки соединения и подтверждения доставки пакетов, сервер SOCKS не сообщает клиенту, доставлен пакет адресату или отброшен.

Модификация приложений для поддержки SOCKS

Если вам доступен исходный код приложения, не поддерживающего SOCKS, вы можете перекомпилировать его, подключив разработанную NEC библиотеку функций SOCKS V5. Эта библиотека располагает процедурами, эквивалентными стандартным функциям BSD для работы с сокетами, но использующими протокол SOCKS, что позволит приложению применять данный протокол.


На Web-сайте NEC, посвященном SOCKS, имеется подробное описание небольших изменений, которые необходимо внести в существующий код, и процесса подключения функций из библиотеки SOCKS. Воспользуйтесь следующей ссылкой: www.socks.nec.com/how2socksify.html.

Библиотека SocksCap

Для обеспечения работы приложений через межсетевой экран с поддержкой SOCKS в системах Windows служит библиотека SocksCap. Эта библиотека перехватывает вызовы сетевых служб клиентами WinSock и переадресует их серверу SOCKS. Существует несколько версий SocksCap, как 16-, так и 32-битных. В Windows 95 или Windows 98 можно установить любую из них, а в Windows NT - только 32-битную версию.

Следует отметить, что SocksCap не заменяет WinSock; он просто дополняет ее функциональность.

SocksCap загружается с Web-сайта www.socks.nec.com.

Как получить SOCKS

На Web-сайте NEC собран большой объем информации о протоколах SOCKS. Что касается клиентского ПО, то тут есть возможность проконсультироваться с его производителем, поскольку многие из современных приложений содержат встроенную поддержку SOCKS. В случае, когда имеющееся у вас приложение не способно работать с proxy-сервером SOCKS, вам остается выбрать из двух вариантов: либо перекомпилировать его, подключив библиотеку поддержки SOCKS, либо обратиться к SocksCap или к какой-либо другой библиотеке, в которой реализована поддержка SOCKS.

Большинство брандмауэров также поддерживает SOCKS. Если для защиты вашей сети необходима строгая аутентификация, найдите в документации брандмауэра подтверждение того, что он поддерживает SOCKS V4 или V5.

NEC не только выпустила коммерческие варианты реализаций SOCKS, но и сделала доступной для свободной загрузки исходный код эталонной реализации SOCKS V5, который загружается с сайта ftp://ftp.nec.com/socks/socks5.

В данный пакет включены также клиентские программы Telnet, FTP, finger, whois, archie, ping и traceroute.

Существует, кроме того, реализация SOCKS, которая была разработана компанией Hewlett Packard для внутреннего применения. Этот сервер SOCKS можно загрузить с сайта ftp://ftp.cup.com/diskt/socks.



0 ... 82 83 84 85 86 87 88 ... 125