Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сети.doc
Скачиваний:
6
Добавлен:
24.09.2019
Размер:
623.62 Кб
Скачать

Вопрос 17) Протоколы удаленного доступа и интерактивного взаимодействия.

Концепция удаленного вызова процедур

Идея вызова удаленных процедур (Remote Procedure Call - RPC) состоит в расширении хорошо известного и понятного механизма передачи управления и данных внутри программы, выполняющейся на одной машине, на передачу управления и данных через сеть. Средства удаленного вызова процедур предназначены для облегчения организации распределенных вычислений. Наибольшая эффективность использования RPC достигается в тех приложениях, в которых существует интерактивная связь между удаленными компонентами с небольшим временем ответов и относительно малым количеством передаваемых данных. Такие приложения называются RPC-ориентированными.

Характерными чертами вызова локальных процедур являются:

- Асимметричность, то есть одна из взаимодействующих сторон является инициатором;

- Синхронность, то есть выполнение вызывающей процедуры при останавливается с момента выдачи запроса и возобновляется только после возврата из вызываемой процедуры.

Существует несколько реализаций процедур удаленного вызова процедур в различных операционных системах. В операционной системе UNIX используется процедура под одноименным названием (Remote Procedure Call - RPC). Данная процедура внедрена в ядро системы. Ее выполнение обеспечивается протоколом RPC.

В операционных системах Windows удаленный вызов процедур начал развиваться на базе механизмов OLE, которые постепенно развились в технологию DCOM (Distributed Component Object Model). Данная технология позволяет создавать достаточно мощные распределенные сетевые вычислительные среды. В технологии используются фирменные протоколы Microsoft.

Для обеспечения межплатформенного взаимодействия разработана и широко внедряется спецификация CORBA.

CORBA (сокр. от англ. Common Object Request Broker Architecture — общая архитектура брокера объектных запросов; ) — это технологический стандарт написания распределённых приложений, продвигаемый консорциумом OMG.

Задача CORBA — осуществить интеграцию изолированных систем, дать возможность программам, написанным на разных языках, работающим на разных узлах сети, взаимодействовать друг с другом так же просто, как если бы они находились в адресном пространстве одного процесса

Вопрос 18 Протоколы защищенной передачи данных. Создание vpn. Цифровые сертификаты.

SSL (англ. Secure Sockets Layer — уровень защищённых сокетов) — криптографический протокол, обеспечивающий безопасную передачу данных по сети Интернет.

Использует шифрование с открытым ключом для подтверждения подлинности передатчика и получателя. Поддерживает надёжность передачи данных за счёт использования корректирующих кодов и безопасных хэш-функций(Хеширование (иногда хэширование, англ. hashing) — преобразование входного массива данных произвольной длины в выходную битовую строку фиксированной длины. Такие преобразования также называются хеш-функциями или функциями свёртки, а их результаты называют хешемхеш-кодом или дайджестом сообщени).

SSL состоит из двух уровней. На нижнем уровне многоуровневого транспортного протокола (например, TCP) он является протоколом записи и используется для инкапсуляции (то есть формирования пакета) различных протоколов (SSL работает совместно с таким протоколами как POP3, IMAP,  SMTP и HTTP). Для каждого инкапсулированного протокола он обеспечивает условия, при которых сервер и клиент могут подтверждать друг другу свою подлинность, выполнять алгоритмы шифрования и производить обмен криптографическими ключами, прежде чем протокол прикладной программы начнёт передавать и получать данные.

Для доступа к веб-страницам, защищённым протоколом SSL, в URL вместо обычного префикса (schema) http, как правило, применяется префикс https, указывающий на то, что будет использоваться SSL-соединение. Стандартный TCP-порт для соединения по протоколу https — 443.

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

SSL, как правило, является компонентом операционных систем, криптографические возможности которых не могут быть изменены обычными пользователями.

Для работы SSL требуется, чтобы на сервере имелся SSL-сертификат.

Первоначальной целью протокола TLS (Transport Layer Security, RFC-2246) является обеспечение конфиденциальности и целостности данных при коммуникации двух приложений. Протокол имеет два уровня: протокол записей TLS и протокол диалога TLS. На нижнем уровне, работающем поверх надежного транспортного протокола (напр., TCP [TCP]), размещается протокол записей TLS. Этот протокол обеспечивает безопасность соединений, которые имеют два основных свойства.

Соединение является конфиденциальным. Для шифрования данных используется симметричная криптография (напр., DES [DES], RC4 [RC4], и т.д.). Ключи для шифрования генерируются независимо для каждого соединения и базируются на секретном коде, получаемом с помощью другого протокола (такого, как протокол диалога TLS). Протокол записей может использоваться и без шифрования.

Соединение является надежным. Процедура передачи сообщения включает в себя проверку целостности с помощью вычисления MAC. Для расчета MAC используются хэш-функции (напр., SHA, MD5 и т.д.). Протокол записей может работать и без MAC, но в этом режиме он применяется только в случае, когда другой протокол использует протокол записей в качестве транспортного при выяснении параметров безопасности.

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

Идентичность партнеров может быть выяснена с использованием асимметричной криптографии (например, RSA [RSA], DSS [DSS] и т.д.). Эта аутентификация может быть сделана опционной, но она необходима, по крайней мере, для одного из партнеров.

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

Диалог надежен: атакующий не может модифицировать соединение без того, чтобы быть обнаруженным партнерами обмена.

Одним из преимуществ TLS является то, что он не зависит от протокола приложения. Протоколы верхнего уровня могут размещаться поверх протокола TLS прозрачным образом. Стандарт TLS, однако, не специфицирует то, как протоколы увеличивают безопасность с помощью TLS; решение о том, как инициализировать TLS-диалог и как интерпретировать сертификаты аутентификации, оставляется на усмотрение разработчиков протоколов и программ, которые работают поверх TLS.

Цели

Целями протокола TLS в порядке приоритетности являются:

Криптографическая безопасность. TLS должен применяться для установления безопасного соединения между двумя партнерами.

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

Расширяемость. TLS ищет способ, как при необходимости встроить в систему новые ключи и методы шифрования. Здесь имеются две побочные цели: исключить необходимость создания нового протокола (что может быть сопряжено с введением новых слабых мест) и сделать ненужным внедрение новой библиотеки, обеспечивающей безопасность.

Относительная эффективность. Криптографические операции требуют больших мощностей ЦПУ, особенно этим славятся операции с открытыми ключами. По этой причине протокол TLS имеет опционную схему кэширования сессии, что позволяет уменьшить число соединений, устанавливаемых с использованием новых временных буферов.

=========VPN

VPN (англ. Virtual Private Network — виртуальная частная сеть) — логическая сеть, создаваемая поверх другой сети, например Интернет. Несмотря на то, что коммуникации осуществляются по публичным сетям с использованием небезопасных протоколов, за счёт шифрования создаются закрытые от посторонних каналы обмена информацией. VPN позволяет объединить, например, несколько офисов организации в единую сеть с использованием для связи между ними неподконтрольных каналов.

VPN состоит из двух частей: «внутренняя» (подконтрольная) сеть, которых может быть несколько, и «внешняя» сеть, по которой проходит инкапсулированное соединение (обычно используется Интернет). Возможно также подключение к виртуальной сети отдельного компьютера. Подключение удалённого пользователя к VPN производится посредством сервера доступа, который подключён как к внутренней, так и к внешней (общедоступной) сети. При подключении удалённого пользователя (либо при установке соединения с другой защищённой сетью) сервер доступа требует прохождения процесса идентификации, а затем процесса аутентификации. После успешного прохождения обоих процессов, удалённый пользователь (удаленная сеть) наделяется полномочиями для работы в сети, то есть происходит процесс авторизации.

Защищённые

Наиболее распространённый вариант виртуальных частных сетей. C его помощью возможно создать надежную и защищенную подсеть на основе ненадёжной сети, как правило, Интернета. Примером защищённых VPN являются: IPSec, OpenVPN и PPTP.

            PPTP (англ. Point-to-point tunneling protocol) — туннельный протокол типа точка-точка, позволяющий компьютеру устанавливать защищённое соединение с сервером за счёт создания специального туннеля в стандартной, незащищённой сети. PPTP помещает (инкапсулирует) кадры PPP в IP-пакеты для передачи по глобальной IP-сети, например Интернет. PPTP может также использоваться для организации туннеля между двумя локальными сетями. РРТР использует дополнительное TCP-соединение для обслуживания туннеля.

            OpenVPN — свободная реализация технологии Виртуальной Частной Сети (VPN) с открытым исходным кодом для создания зашифрованных каналов типа точка-точка или сервер-клиенты между компьютерами. Она позволяет устанавливать соединения между компьютерами находящимися за NAT-firewall без необходимости изменения его настроек. OpenVPN была создана Джеймсом Йонан (James Yonan) и распространяется под лицензией GNU GPL.

Доверительные

Используются в случаях, когда передающую среду можно считать надёжной и необходимо решить лишь задачу создания виртуальной подсети в рамках большей сети. Вопросы обеспечения безопасности становятся неактуальными. Примерами подобных VPN решении являются: Multi-protocol label switching (MPLS) и L2TP (Layer 2 Tunnelling Protocol). (точнее сказать, что эти протоколы перекладывают задачу обеспечения безопасности на другие, например L2TP, как правило, используется в паре с IPSec).

Необходимо в домашней локальной сети реализовать защищенное соединение между двумя компьютерами (или группой компьютеров).

Первое что приходит в голову - это VPN сервер. Но ради такого, хоть и полезного дела поднимать отдельный сервак, мало кто проявит инициативу. Поэтому пришлось копать инфу.

Значит часть 1 - Создание VPN-сервера под операцинной системой Windows XP

1. Start -> Settings -> Network Connections -> New Connection Wizard

2. Нажимаем Next

3. На экране выбора типа сетевого соединения, выделяем "Setup an advanced connection" и жмем Next.

4. Далее выбираем пункт "Connect directly to another computer".

5. Выбираем роль для нашего компа "Host"

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

7. В появившемся окне со списком пользователей выбираем галками ЛОКАЛЬНЫХ пользователей, которые смогут подключатся к нашему "серверу". Если пользователи еще не созданы, их можно создать кнопкой "Add" (добавить или удалить пользователей VPN можно и позже).

8. Теперь нажимаем Next, а потом Finish.

9. Открываем только что созданное соединение:

Start -> Settings -> Network Connections -> New Incoming Connections

10. В появившемся диалоге снимаем ВСЕ галки с устройств.

Галку в окошке "Virtual private network" обязательно оставить!

11. На закладке Users можно добавить новых пользователей VPN или удалить старых.

Обязательно оставить галку на «Require all users to secure their passwords and data»

12. Чтобы расшаренные ресурсы сервера были видны только пользователям VPN нужно:

• Открыть окно настройки сетевого подключения:

Start -> Settings -> Network Connections -> Local Area Connection

• В появившемся окне выбрать Properties

• На закладке General убрать галку с "File and Printer Sharing for Microsoft Networks"

В подобных настройках для Incoming Connections эту галку нужно наоборот оставить, чтобы пользователи VPN могли видеть расшаренные папки "сервера".

Start -> Settings -> Network Connections -> Incoming Connections->Properties, закладка Networking, установить (оставить) галку на "File and Printer Sharing for Microsoft Networks"

13. В свойствах Incoming Connections выбираем протокол TCP/IP и жмем Свойства.

В появившемся окне вводим диапазон IP-адресов, которые будут назначаться клиентам, например 192.168.1.1 - 192.168.1.11 (если 10 пользователей)

14. Жмем ок. Настройка сервера VPN закончена

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