Тема 1. Сутність інвестиційного менеджменту
Протокол SOCKS организует процедуру взаимодействия клиент-серверных приложений на сеансовом уровне модели OSI через сервер-посредник, или proxy-сервер.
В общем случае программы-посредники, которые традиционно используются в межсетевых экранах, могут выполнять следующие функции:
1) идентификацию и аутентификацию пользователей;
2) криптозащиту передаваемых данных;
3) разграничение доступа к ресурсам внутренней сети;
4) разграничение доступа к ресурсам внешней сети;
5) фильтрацию и преобразование потока сообщений, например, поиск вирусов и прозрачное шифрование информации;
6) трансляцию внутренних сетевых адресов для исходящих потоков сообщений.
Сначала протокол SOCKS разрабатывался только для перенаправления запросов к серверам со стороны клиентских приложений, а также возврата этим приложениям полученных ответов. Перенаправление запросов и ответов между клиент-серверными приложениями уже позволяет реализовать функцию трансляции сетевых IP-адресов NAT (Network Address Translation). Замена у исходящих пакетов внутренних IP-адресов отправителей одним IP-адресом шлюза позволяет скрыть топологию внутренней сети от внешних пользователей и тем самым усложнить задачу несанкционированного доступа. Трансляция сетевых адресов помимо повышения безопасности позволяет расширить внутреннее адресное пространство сети за счет возможности поддержки собственной системы адресации.
На основе протокола SOCKS могут быть реализованы и другие функции посредничества по защите сетевого взаимодействия. Например, протокол SOCKS может применяться для контроля над направлениями информационных потоков и разграничения доступа в зависимости от атрибутов пользователей и информации. Эффективность использования протокола SOCKS для выполнения функций посредничества обеспечивается его ориентацией на сеансовый уровень модели OSI. По сравнению с посредниками прикладного уровня на сеансовом уровне достигаются более высокое быстродействие и независимость от высокоуровневых протоколов (HTTP, FTP, POP3, SMTP и др.). Кроме того, протокол SOCKS не привязан к протоколу IP и не зависит от операционных систем. Например, для обмена информацией между клиентскими приложениями и посредником может использоваться протокол IPX.
Благодаря протоколу SOCKS межсетевые экраны и виртуальные частные сети могут организовать безопасное взаимодействие и обмен информацией между разными сетями. Протокол SOCKS позволяет реализовать безопасное управление этими системами на основе унифицированной стратегии. Следует отметить, что на основе протокола SOCKS могут создаваться защищенные туннели для каждого приложения и сеанса в отдельности.
Согласно спецификации протокола SOCKS, различают SOCKS-сервер, который целесообразно устанавливать на шлюз (межсетевой экран) сети, и SOCKS-клиент, который устанавливают на каждый пользовательский компьютер. SOCKS-сервер обеспечивает взаимодействие с любым прикладным сервером от имени соответствующего этому серверу прикладного клиента. SOCKS-клиент предназначен для перехвата всех запросов к прикладному серверу со стороны клиента и передачи их SOCKS-серверу. Следует отметить, что SOCKS-клиенты, выполняющие перехват запросов клиентских приложений и взаимодействие с SOCKS-сервером, могут быть встроены в универсальные клиентские программы. SOCKS-серверу известно о трафике на уровне сеанса (сокета), поэтому он может осуществлять тщательный контроль и, в частности, блокировать работу конкретных приложений пользователей, если они не имеют необходимых полномочий на информационный обмен.
Версии 4 и 5 протокола SOCKS получили широкое распространение с момента разработки. В настоящее время протокол SOCKS версии 5 одобрен организацией IETF в качестве стандарта Internet и включен в RFC 1928 (Request for Comments).
Общая схема установления соединения по протоколу SOCKS версии 4 выглядит следующим образом:
1) клиент, желающий установить связь с каким-либо сервером в сети, соединяется вместо этого с SOCKS-сервером (специализированным proxy-сервером) и посылает ему специальный запрос, в котором сообщает IP-адрес и порт удаленного сервера, с которым ему необходимо связаться;
2) SOCKS-сервер соединяется с удаленным сервером-адресатом;
3) клиент и удаленный сервер взаимодействуют друг с другом по цепочке соединений, SOCKS-сервер просто ретранслирует данные.
Протокол SOCKS версии 5 является существенным развитием четвертой версии. Он реализует следующие дополнительные возможности:
1) предусмотрена аутентификация пользователей, от имени которых обращаются SOCKS-клиенты. SOCKS-сервер может согласовывать с SOCKS-клиентом способ аутентификации. Аутентификация делает возможным разграничение доступа к компьютерным ресурсам. Допускается также двусторонняя аутентификация, то есть пользователь может, в свою очередь, убедиться, что соединился с нужным SOCKS-сервером;
2) допускается использование доменных имен; SOCKS-клиент может передавать SOCKS-серверу не только IP-адрес компьютера, с которым необходимо установить соединение, но и его DNS-имя;
3) поддерживается не только протокол TCP, но и протокол UDR
Общая схема установления соединения по протоколу SOCKS версии 5 может быть описана следующим образом:
1) запрос прикладного клиента, желающего установить соединение с каким-либо прикладным сервером в сети, перехватывает установленный на этом же компьютере SOCKS-клиент;
2) соединившись с SOCKS-сервером, SOCKS-клиент сообщает ему идентификаторы всех методов аутентификации, которые он поддерживает;
3) SOCKS-сервер решает, каким методом аутентификации воспользоваться (если SOCKS-сервер не поддерживает ни один из методов аутентификации, предложенных SOCKS-клиентом, соединение разрывается);
4) при поддержке каких-либо предложенных методов аутентификации SOCKS-сервер в соответствии с выбранным методом аутентифицирует пользователя, от имени которого выступает SOCKS-клиент; в случае безуспешной аутентификации SOCKS-сервер разрывает соединение;
5) после успешной аутентификации SOCKS-клиент передает SOCKS-серверу DNS-имя или IP-адрес запрашиваемого прикладного сервера в сети, и далее SOCKS-сервер на основе имеющихся правил разграничения доступа принимает решение об установлении соединения с этим прикладным сервером;
6) в случае установления соединения прикладной клиент и прикладной сервер взаимодействуют друг с другом по цепочке соединений, в которой SOCKS-сервер ретранслирует данные, а также может выполнять функции посредничества по защите сетевого взаимодействия; например, если в ходе аутентификации SOCKS-клиент и SOCKS-сервер обменялись сеансовым ключом, то весь трафик между ними может шифроваться.
Аутентификация пользователя, выполняемая SOCKS-сервером, может основываться на цифровых сертификатах в формате Х.509 или паролях. Для шифрования трафика между SOCKS-клиентом и SOCKS-сервером могут быть использованы протоколы, ориентированные на сеансовый или более низкие уровни модели OSI. Кроме аутентификации пользователей, трансляции IP-адресов и криптозащиты трафика SOCKS-сервер может выполнять также такие функции, как:
1) разграничение доступа к ресурсам внутренней сети;
2) разграничение доступа к ресурсам внешней сети;
3) фильтрация потока сообщений, например динамический поиск вирусов;
4) регистрация событий и реагирование на задаваемые события;
5) кэширование данных, запрашиваемых из внешней сети.
Протокол SOCKS осуществляет встроенную поддержку популярных Web-навигаторов Netscape Navigator и Netscape Communicator компании Netscape, а также Internet Explorer компании Microsoft.
Специальные программы, называемые соксификаторами, дополняют клиентские приложения поддержкой протокола SOCKS. К таким программам относится, например, NEC SocksCap и др. При установке соксификатор внедряется между пользовательскими приложениями и стеком коммуникационных протоколов. Далее в процессе работы он перехватывает коммуникационные вызовы, формируемые приложениями, и перенаправляет их в случае надобности на SOCKS-сервер. При отсутствии нарушений установленных правил безопасности работа SOCKS-клиента совершенно прозрачна для клиентских приложений и пользователей.
Таким образом, для формирования защищенных виртуальных сетей по протоколу SOCKS в точке сопряжения каждой локальной сети с Internet на компьютере-шлюзе устанавливается SOCKS-сервер, а на рабочих станциях в локальных сетях и на компьютерах удаленных пользователей - SOCKS-клиенты. По существу, SOCKS-сервер можно рассматривать как межсетевой экран, поддерживающий протокол SOCKS (рисунок 14.8).
Рисунок 14.8 - Схема взаимодействия по протоколу SOCKS
Удаленные пользователи могут подключаться к Internet любым способом: по коммутируемой или выделенной линии. При попытке пользователя защищенной виртуальной сети установить соединение с каким-либо прикладным сервером SOSKS-клиент начинает взаимодействовать с SOCKS-сервером. По завершении первого этапа взаимодействия пользователь будет аутентифицирован, а проверка правил доступа покажет, имеет ли он право соединиться с конкретным серверным приложением, функционирующим на компьютере с указанным адресом. Дальнейшее взаимодействие может происходить по криптографические защищенному каналу.
Помимо защиты локальной сети от несанкционированного доступа на SOCKS-сервер может возлагаться контроль доступа пользователей этой локальной сети к открытым ресурсам Internet (Telnet, WWW, SMTP, POP и др.). Доступ является полностью авторизованным, так как идентифицируются и аутентифицируются конкретные пользователи, а не компьютеры, с которых они входят в сеть. Правила доступа могут запрещать или разрешать соединения с определенными ресурсами Internet в зависимости от полномочий конкретного сотрудника. Действие правил доступа может зависеть и от других параметров, например от метода аутентификации или времени суток. В дополнение к функциям разграничения доступа может выполняться регистрация событий и реагирование на задаваемые события. Для достижения более высокой степени безопасности сетевого взаимодействия серверы локальной сети, к которым разрешен доступ со стороны Internet, должны быть выделены в отдельный подсоединяемый к SOCKS-серверу сегмент, образующий защищаемую открытую подсеть.
Тема 1. Сутність інвестиційного менеджменту
Дата добавления: 2015-02-16; просмотров: 988;