Передача трафика через межсетевой экран с фильтрацией пакетов
Межсетевые экраны с фильтрацией пакетов не используют модули доступа для каждого протокола и поэтому могут использоваться с любым протоколом, работающим через IP. Некоторые протоколы требуют распознавания межсетевым экраном выполняемых ими действий. Например, FTP будет использовать одно соединение для начального входа и команд, а другое - для передачи файлов. Соединения, используемые для передачи файлов, устанавливаются как часть соединения FTP, и поэтому межсетевой экран должен уметь считывать трафик и определять порты, которые будут использоваться новым соединением. Если межсетевой экран не поддерживает эту функцию, передача файлов невозможна.
Межсетевые экраны с фильтрацией пакетов не используют модули доступа для каждого протокола и поэтому могут использоваться с любым протоколом, работающим через IP. Некоторые протоколы требуют распознавания межсетевым экраном выполняемых ими действий. Например, FTP будет использовать одно соединение для начального входа и команд, а другое - для передачи файлов. Соединения, используемые для передачи файлов, устанавливаются как часть соединения FTP, и поэтому межсетевой экран должен уметь считывать трафик и определять порты, которые будут использоваться новым соединением. Если межсетевой экран не поддерживает эту функцию, передача файлов невозможна.
К положительным качествам простой пакетной фильтрации (по сравнению с другими методами фильтрации) следует отнести следующие:
· относительно невысокая стоимость;
· гибкость в определении правил фильтрации;
· «прозрачность» связи;
· небольшая задержка при прохождении пакетов.
Недостатки у простой фильтрации пакетов следующие:
· локальная сеть видна (маршрутизируется) из сети Интернет;
· не учитывается содержимое IP-пакетов;
· правила фильтрации пакетов трудны в описании;
· не учитывается состояние соединения транспортного и прикладного уровней;
· при нарушении работоспособности МЭ все компьютеры за ним становятся полностью незащищенными либо недоступными;
· аутентификацию с использованием IP-адреса (внешней сети) можно обмануть подменой адреса;
· отсутствует аутентификация на пользовательском уровне.
4.6.1.6 Посредник уровня соединения
Посредник (транспортного) уровня соединения (circuit-level proxy) - это подсистема МЭ, осуществляющая посреднические услуги по передаче данных на уровне соединения TCP двумя компьютерами в сети. Посредничество заключается в том, что связь между двумя компьютерами физически осуществляется через систему-посредника и реально состоит из двух TCP-соединений. Весь процесс связи состоит из следующих шагов:
1. Компьютер-инициатор начинает процесс установки TCP-соединения с посредником.
2. Посредник проверяет допустимость установления связи компьютером-инициатором.
3. Посредник протоколирует попытку установки связи и/или уведомляет о ней администратора безопасности.
4. Если связь недопустима, то посредник завершает процесс связи, иначе процесс продолжается.
5. Посредник устанавливает TCP-соединение с компьютером-адресатом.
6. Посредник завершает установление связи с компьютером-инициатором.
7. Посредник копирует (пересылает) данные из одного соединения в другое в обоих направлениях и, возможно, протоколирует пересылаемые данные.
8. Посредник завершает процесс связи по требованию одной из сторон или по собственной инициативе.
9. Посредник протоколирует причину завершения связи, а также записывает статистическую информацию о состоявшемся сеансе связи.
Следует отметить, что компьютер-инициатор не передает посреднику имя компьютера-адресата - его цифровой адрес и номер TCP-порта фиксированы для конкретного посредника и известны. Из этого замечания следует, что, во-первых, связь через посредника осуществляется от многих к одному, а, во-вторых, посредники уровня соединения используются только для организации безопасного соединения от внешних компьютеров (удаленных рабочих станций) к внутреннему компьютеру (серверу поддержки локальной сети или информационному серверу). Тем не менее, возможен случай, когда компьютеров-адресатов будет несколько -случай применения техники «зеркального отображения» сервера. При этом посредник, поддерживающий этот случай, перед установлением связи с адресатом должен выбрать конкретный компьютер из нескольких идентичных. Алгоритм выбора может быть одним из следующих (или их комбинацией):
· циклический выбор;
· случайный выбор;
· выбор наиболее доступного (с минимальным временем ответа на ping-запрос);
· выбор с минимальным временем ответа на запрос установления связи;
· выбор наименее загруженного (с минимальной текущей загрузкой процессора).
Под безопасностью связи подразумевается то, что после установления связи факт ее существования уже запротоколирован и проведена аутентификация компьютера-инициатора связи. Протоколирование факта связи (и ее некоторых доступных параметров) означает не только возможность в дальнейшем выследить злоумышленника, но и возможность обнаружения атаки в реальном масштабе времени. Под аутентификацией компьютера-инициатора понимаются действия, предпринимаемые посредником при проверке допустимости связи.
Проверка допустимости связи выполняется посредником непосредственно после запроса на соединение компьютером-инициатором и может основываться на данных из пакета-запроса на соединение, данных окружающей среды и статистических данных. В качестве данных пакета-запроса на соединение могут использоваться (в порядке убывания значимости):
· IP-адрес компьютера-инициатора;
· начальный номер (SYN) пакета TCP-соединения;
· дополнительные параметры TCP-соединения.
Статистические данные (обновляемые после каждой попытки соединения) - это:
· частота запроса соединений от данного компьютера-инициатора;
· отношение количества отвергнутых запросов к общему числу запросов;
· типичный объем и характер пересылаемых по TCP-соединению данных.
Наиболее важными из перечисленных выше являются IP-адрес компьютера-инициатора и ответ DNS-сервера, содержащий символьное имя (если таковое имеется) компьютера-инициатора, и текущее время запроса соединения. По цифровому адресу компьютера можно запретить доступ (или разрешить доступ только) для компьютеров из определенных сетей, а по символьному адресу - для компьютеров без имен или с именами, содержащими определенные символы или их последовательности, а также для компьютеров из определенных доменов. Текущее время используется для блокирования доступа к защищаемому сервису сети в нерабочее время или в периоды наиболее высокой сетевой активности внутренних пользователей.
4.6.1.7 Посредник прикладного уровня
Посредник прикладного уровня (application proxy) - это подсистема МЭ, осуществляющая посреднические услуги по передаче данных и команд прикладного уровня двумя компьютерами в сети. Посредничество заключается в том, что связь между двумя компьютерами физически осуществляется через систему-посредника и реально состоит из двух соединений прикладного уровня. Весь процесс связи состоит из следующих шагов:
1. Компьютер-инициатор устанавливает соединение прикладного уровня с посредником.
2. Посредник аутентифицирует компьютер-инициатор и пользователя.
3. Компьютер-инициатор пересылает посреднику имя компьютера-адресата.
4. Посредник проверяет допустимость данной связи.
5. Посредник протоколирует попытку установки связи и уведомляет о ней администратора безопасности.
6. Если связь недопустима, то посредник завершает процесс связи, иначе процесс продолжается.
7. Посредник устанавливает соединение прикладного уровня с компьютером-адресатом.
8. Посредник пересылает данные и команды из одного соединения в другое в обоих направлениях, фильтруя их (перекодируя данные, организуя кэширование и т.п.), и протоколирует попытки выполнения неразрешенных команд.
9. Посредник завершает процесс связи по требованию одной из сторон или по собственной инициативе.
10. Посредник протоколирует причину завершения связи, а также записывает статистическую информацию о состоявшемся сеансе связи.
Следует отметить, что в общих чертах принцип работы посредника прикладного уровня такой же как и у посредника уровня соединения, однако функционирование на более высоком уровне и возможность поддержки специальных безопасных протоколов (SSH, SSL, S/MIME, SOCKS и др.) позволяют организовывать более качественную защиту внутренней сети с использованием посредников данного типа. Далее будут рассмотрены наиболее характерные отличия посредников прикладного уровня от посредников уровня соединения.
Прежде всего, необходимо отметить, что в отличие от посредника уровня соединения, ориентированного на один-единственный протокол TCP, посредников прикладного уровня существует много - под каждый протокол прикладного (и сеансового) уровня. Каждый посредник допускает и защищает только тот протокол, который он поддерживает (тем самым реализуется политика «запрещено все, что не разрешено»). Наиболее популярные поддерживаемые посредниками протоколы можно разделить на следующие группы:
· гипертекстовые протоколы - HTTP, SHTTP, HTTPS, Gopher;
· протокол пересылки файлов - FTP;
· почтовые протоколы - SMTP, POP3, IMAP, NNTP;
· протоколы удаленного доступа - Telnet, rlogin, rsh, rexec, RPC, XWindow;
· протокол сетевой файловой системы - NFS, NetBEUI;
· протокол службы имен - DNS;
· «безопасные» протоколы сеансового уровня - SSH, SSL, S/MIME, SOCKS.
Так как посредник функционирует на прикладном уровне, то у него существуют большие возможности по фильтрации прикладных команд и данных. Например, для протокола FTP возможно запрещение команды «put» - команды записи файла на сервер. Возможна организация разграничения доступа к объектам сервера дополнительно к возможностям самого сервера по разграничению доступа.
Если посредник поддерживает «безопасный» протокол, то возможно поддержание конфиденциальности и целостности передаваемых через внешнюю сеть данных путем шифрования данных и вычисления криптографических контрольных сумм (т.е. туннелируя трафик прикладного уровня). В этом случае компьютер-инициатор тоже должен поддерживать тот же самый «безопасный» протокол (удаленная защищенная рабочая станция) либо необходим еще один посредник прикладного уровня, поддерживающий тот же самый «безопасный» протокол (виртуальная частная сеть - VPN).
Способ реализации схемы усиленной аутентификации компьютера-инициатора и пользователя зависит от используемого протокола, поддержка посредником (и компьютером-инициатором) «безопасного» протокола позволяют не только увеличить надежность аутентификации, но и унифицировать процесс аутентификации.
Следует также отметить, что компьютер-инициатор в начале сеанса связи передает посреднику имя компьютера-адресата и запрашиваемого сервиса (в общем случае - URL), т.е. связь с через посредника может осуществляется от многих ко многим. Способ передачи этого имени зависит от используемого протокола. Здесь же может передаваться и имя пользователя, с правами которого будет осуществляться доступ.
Также возможен случай применения техники «зеркального отображения» сервера для повышения надежности. При этом посредник, поддерживающий этот случай, перед установлением связи с адресатом должен выбрать конкретный компьютер из нескольких идентичных, а алгоритм выбора должен работать так, чтобы один и тот же пользователь попадали на один и тот же «реальный» компьютер-сервер во время всех сеансов связи, т.к. сервер может хранить контекст каждого пользователя.
4.6.1.8 Пакетный фильтр инспекционного типа
Пакетная фильтрация инспекционного типа (packet state-full inspection) -способность некоторых МЭ по блокированию (уничтожению) и изменению пакетов, проходящих через МЭ, по заданному критерию на основе данных, содержащихся в этих пакетах, данных контекстов соединений транспортного, сеансового и прикладного уровней, текущих параметров окружающей среды и статистических данных.
Технология фильтрации пакетов инспекционного (или экспертного) типа сочетает в себе элементы всех трех описанных выше технологий. Как и простая фильтрация пакетов, фильтрация инспекционного типа работает на сетевом уровне модели OSI, фильтруя входящие и исходящие пакеты на основе проверки IP-адресов и номеров портов и т.п. Фильтры пакетов инспекционного типа также выполняют функции посредника уровня соединения, определяя, относятся ли пакеты к соответствующему сеансу связи. И, наконец, фильтры инспекционного типа берут на себя функции многих посредников прикладного уровня (одновременно), оценивая и модифицируя содержимое каждого пакета в соответствии с политикой безопасности, выработанной в конкретной организации.
Как и посредник прикладного уровня, фильтр пакетов инспекционного типа может быть сконфигурирован для блокирования пакетов, содержащих определенные команды, например команду «put» службы FTP. Однако, в отличие от посредников прикладного уровня, при анализе данных прикладного уровня такой фильтр не нарушает модели клиент-сервер взаимодействия в сети - фильтр инспекционного типа допускает прямые соединения между компьютером-инициатором соединения и компьютером-адресатом. Для обеспечения защиты такие фильтры перехватывают и анализируют каждый пакет на прикладном уровне модели OSI. Вместо применения связанных с приложениями программ-посредников, фильтр пакетов инспекционного типа использует специальные алгоритмы распознавания и обработки данных на уровне приложений.
Обладая всеми преимуществами трех вышерассмотренных типов фильтров и минимальным количеством недостатков, МЭ с функцией фильтрации пакетов инспекционного типа обеспечивают один из самых высоких на сегодняшний день уровней защиты локальных сетей.
4.6.2 Недостатки, связанные с применением МЭ
Существуют угрозы, которым МЭ не может противостоять. Кроме того, применение МЭ создает определенные трудности.
Наиболее очевидным недостатком МЭ является большая вероятность того, что он может заблокировать некоторые необходимые пользователю службы, такие как Telnet, FTP, XWindow, NFS и т.д. Однако, эти недостатки присущи не только МЭ, доступ к сети может быть ограничен также и на уровне отдельных СВТ, в зависимости от методики обеспечения безопасности сети.
Некоторые объекты могут обладать топологией, не предназначенной для использования МЭ, или использовать службы (сервисы) таким образом, что его использование потребовало бы полной реорганизации локальной сети.
Далее, МЭ не защищают системы локальной сети от проникновения через «люки» (backdoors). Например, если на систему, защищенную МЭ, все же разрешается неограниченный модемный доступ, злоумышленник может с успехом обойти МЭ. Связь через протоколы PPP (Point-to-Point) и SLIP (Serial Line IP) в рамках защищенной подсети является, по существу, еще одним сетевым соединением и потенциальным каналом нападения.
МЭ, как правило, не обеспечивает защиту от внутренних угроз. С одной стороны, МЭ можно разработать так, чтобы предотвратить получение конфиденциальной информации злоумышленниками из внешней сети, однако, МЭ не запрещает пользователям внутренней сети копировать информацию на магнитные носители или выводить ее на печатающее устройство. Таким образом, было бы ошибкой полагать, что наличие МЭ обеспечивает защиту от внутренних атак или вообще атак, для которых не требуется использование МЭ.
Кроме того, есть недостаток МЭ, связанный с низкой пропускной способностью - МЭ представляют собой потенциально узкое место, поскольку все соединения с сетью Интернет должны осуществляться через него и еще подвергаться фильтрации.
Существует также и возможность «общего риска» - в МЭ все средства безопасности сосредоточены в одном месте, а не распределены между системами сети. Компрометация МЭ ведет к нарушению безопасности для других, менее защищенных систем.
В общем, несмотря на все вышеперечисленные недостатки, использование МЭ для защиты локальной сети в большинстве случаев более чем оправдано.
4.7 VPN
VPN (англ. Virtual Private Network - виртуальная частная сеть) - логическая сеть, создаваемая поверх другой сети, например Internet. Несмотря на то, что коммуникации осуществляются по публичным сетям с использованием небезопасных протоколов, за счёт шифрования создаются закрытые от посторонних каналы обмена информацией. VPN позволяет объединить, например, несколько офисов организации в единую сеть с использованием для связи между ними неподконтрольных каналов. По своей сути VPN обладает многими свойствами выделенной линии, однако развертывается она в пределах общедоступной сети, например Интернета. С помощью методики туннелирования пакеты данных транслируются через общедоступную сеть как по обычному двухточечному соединению. Между каждой парой «отправитель-получатель данных» устанавливается своеобразный туннель - безопасное логическое соединение, позволяющее инкапсулировать данные одного протокола в пакеты другого. Основными компонентами туннеля являются: инициатор; маршрутизируемая сеть; туннельный коммутатор; один или несколько туннельных терминаторов. Сам по себе принцип работы VPN не противоречит основным сетевым технологиям и протоколам.
Например, при установлении соединения удаленного доступа клиент посылает серверу поток пакетов стандартного протокола PPP. В случае организации виртуальных выделенных линий между локальными сетями их маршрутизаторы также обмениваются пакетами PPP. Тем не менее, принципиально новым моментом является пересылка пакетов через безопасный туннель, организованный в пределах общедоступной сети. Туннелирование позволяет организовать передачу пакетов одного протокола в логической среде, использующей другой протокол. В результате появляется возможность решить проблемы взаимодействия нескольких разнотипных сетей, начиная с необходимости обеспечения целостности и конфиденциальности передаваемых данных и заканчивая преодолением несоответствий внешних протоколов или схем адресации. Существующая сетевая инфраструктура корпорации может быть подготовлена к использованию VPN как с помощью программного, так и с помощью аппаратного обеспечения. Организацию виртуальной частной сети можно сравнить с прокладкой кабеля через глобальную сеть. Как правило, непосредственное соединение между удаленным пользователем и оконечным устройством туннеля устанавливается по протоколу PPP. Наиболее распространенный метод создания туннелей VPN - инкапсуляция сетевых протоколов (IP, IPX, AppleTalk и т.д.) в PPP и последующая инкапсуляция образованных пакетов в протокол туннелирования. Обычно в качестве последнего выступает IP или (гораздо реже) ATM и Frame Relay. Такой подход называется туннелированием второго уровня, поскольку «пассажиром» здесь является протокол именно второго уровня. Альтернативный подход - инкапсуляция пакетов сетевого протокола непосредственно в протокол туннелирования (например, VTP) называется туннелированием третьего уровня. Независимо от того, какие протоколы используются или какие цели преследуются при организации туннеля, основная методика остается практически неизменной. Обычно один протокол используется для установления соединения с удаленным узлом, а другой - для инкапсуляции данных и служебной информации с целью передачи через туннель.
4.7.1 Классификация VPN сетей
Классифицировать VPN решения можно по нескольким основным параметрам:
1. По типу используемой среды:
a) Защищенные VPN сети. Данный тип наиболее распространён. C его помощью возможно создать надежную и защищенную подсеть на основе ненадёжной сети, как правило, Интернета. Примером защищённых VPN являются: IPSec, OpenVPN и PPTP.
b) Доверительные VPN сети. Данный тип используется в случаях, когда передающая среда надёжная. Примерами подобных VPN решении являются: MPLS и L2TP. Корректнее сказать, что эти протоколы перекладывают задачу обеспечения безопасности на другие, например L2TP, как правило, используется в паре с IPSec.
2. По способу реализации: VPN сети в виде специального программно-аппаратного обеспечения. Реализация VPN сети осуществляется при помощи специального комплекса программно-аппаратных средств. Такая реализация обеспечивает высокую производительность и, как правило, высокую степень защищённости. VPN сети в виде программного решения. Используют персональный компьютер со специальным программным обеспечением, обеспечивающим функциональность VPN. VPN сети с интегрированным решением. Функциональность VPN обеспечивает комплекс, решающий также задачи фильтрации сетевого трафика, организации сетевого экрана и обеспечения качества обслуживания.
3. По назначению: Intranet VPN. Используют для объединения в единую защищённую сеть нескольких распределённых филиалов одной организации, обменивающихся данными по открытым каналам связи. Remote Access VPN. Используют для создания защищённого канала между сегментом корпоративной сети (центральным офисом или филиалом) и одиночным пользователем, который, работая дома, подключается к корпоративным ресурсам с домашнего компьютера или, находясь в командировке, подключается к корпоративным ресурсам при помощи ноутбука. Extranet VPN. Используют для сетей, к которым подключаются «внешние» пользователи (например, заказчики или клиенты). Уровень доверия к ним намного ниже, чем к сотрудникам компании, поэтому требуется обеспечение специальных «рубежей» защиты, предотвращающих или ограничивающих доступ последних к особо ценной, конфиденциальной информации.
4. По типу протокола: Существуют реализации виртуальных частных сетей под TCP/IP, IPX и AppleTalk. Но на сегодняшний день наблюдается тенденция к всеобщему переходу на протокол TCP/IP, и абсолютное большинство VPN решений поддерживает именно его. 5. По уровню сетевого протокола: По уровню сетевого протокола на основе сопоставления с уровнями эталонной сетевой модели ISO/OSI.
4.7.2 Построение VPN
Существуют несколько вариантов построения VPN. При выборе варианта требуется учитывать факторы производительности средств построения VPN. Например, если маршрутизатор и так работает на пределе мощности своего процессора, то добавление туннелей VPN и применение шифрования/дешифрования информации могут остановить работу всей сети из-за того, что этот маршрутизатор не будет справляться с простым трафиком, не говоря уже о VPN. Опыт показывает, что для построения VPN лучше всего использовать специализированное оборудование, однако если имеется ограничение в средствах, то можно обратить внимание на чисто программное решение. Рассмотрим некоторые варианты построения VPN.
4.7.2.1 VPN на базе брандмауэров
Брандмауэры большинства производителей поддерживают туннелирование и шифрование данных. Все подобные продукты основаны на том, что трафик, проходящий через брандмауэр шифруется. К программному обеспечению собственно брандмауэра добавляется модуль шифрования. Недостатком этого метода можно назвать зависимость производительности от аппаратного обеспечения, на котором работает брандмауэр. При использовании брандмауэров на базе ПК надо помнить, что подобное решение можно применять только для небольших сетей с небольшим объемом передаваемой информации.
4.7.2.2 VPN на базе маршрутизаторов
Другим способом построения VPN является применение для создания защищенных каналов маршрутизаторов. Так как вся информация, исходящая из локальной сети, проходит через маршрутизатор, то целесообразно возложить на этот маршрутизатор и задачи шифрования. Примером оборудования для построения VPN на маршрутизаторах является оборудование компании Cisco Systems. Начиная с версии программного обеспечения IOS 11.3, маршрутизаторы Cisco поддерживают протоколы L2TP и IPSec. Помимо простого шифрования проходящей информации Cisco поддерживает и другие функции VPN, такие как идентификация при установлении туннельного соединения и обмен ключами. Для повышения производительности маршрутизатора может быть использован дополнительный модуль шифрования ESA. Кроме того, компания Cisco System выпустила специализированное устройство для VPN, которое так и называется Cisco 1720 VPN Access Router (маршрутизатор доступа к VPN), предназначенное для установки в компаниях малого и среднего размера, а также в отделениях крупных организаций.
4.7.3 VPN на базе программного обеспечения
Следующим подходом к построению VPN являются чисто программные решения. При реализации такого решения используется специализированное программное обеспечение, которое работает на выделенном компьютере, и в большинстве случаев выполняет роль proxy-сервера. Компьютер с таким программным обеспечением может быть расположен за брандмауэром. VPN на базе сетевой ОС. Решения на базе сетевой ОС рассмотрим на примере ОС Windows компании Microsoft. Для создания VPN Microsoft использует протокол PPTP, который интегрирован в систему Windows. Данное решение очень привлекательно для организаций использующих Windows в качестве корпоративной операционной системы. Необходимо отметить, что стоимость такого решения значительно ниже стоимости прочих решений. В работе VPN на базе Windows используется база пользователей, хранящаяся на Primary Domain Controller (PDC). При подключении к PPTP-серверу пользователь аутентифицируется по протоколам PAP, CHAP или MS-CHAP. Передаваемые пакеты инкапсулируются в пакеты GRE/PPTP. Для шифрования пакетов используется нестандартный протокол от Microsoft Point-to-Point Encryption c 40 или 128 битным ключом, получаемым в момент установки соединения. Недостатками данной системы являются отсутствие проверки целостности данных и невозможность смены ключей во время соединения. Положительными моментами являются легкость интеграции с Windows и низкая стоимость.
4.7.3.1 VPN на базе аппаратных средств
Вариант построения VPN на специальных устройствах может быть использован в сетях, требующих высокой производительности. Примером такого решения служит продукт c IPro-VPN компании Radguard. Данный продукт использует аппаратное шифрование передаваемой информации, способное пропускать поток в 100 Мбит/с. IPro-VPN поддерживает протокол IPSec и механизм управления ключами ISAKMP/Oakley. Помимо прочего, данное устройство поддерживает средства трансляции сетевых адресов и может быть дополнено специальной платой, добавляющей функции брандмауэра
4.7.4 Протоколы VPN сетей
Сети VPN строятся с использованием протоколов туннелирования данных через сеть связи общего пользования Интернет, причем протоколы туннелирования обеспечивают шифрование данных и осуществляют их сквозную передачу между пользователями. Как правило, на сегодняшний день для построения сетей VPN используются протоколы следующих уровней:
· канальный уровень;
· сетевой уровень;
· транспортный уровень.
4.7.5 Методы реализации VPN сетей
Виртуальная частная сеть базируется на трех методах реализации:
· туннелирование;
· аутентификация;
· шифрование.
4.7.5.1 Туннелирование
Туннелирование обеспечивает передачу данных между двумя точками -окончаниями туннеля - таким образом, что для источника и приемника данных оказывается скрытой вся сетевая инфраструктура, лежащая между ними. Транспортная среда туннеля, как паром, подхватывает пакеты используемого сетевого протокола у входа в туннель и без изменений доставляет их к выходу. Построения туннеля достаточно для того, чтобы соединить два сетевых узла так, что с точки зрения работающего на них программного обеспечения они выглядят подключенными к одной (локальной) сети. Однако нельзя забывать, что на самом деле «паром» с данными проходит через множество промежуточных узлов (маршрутизаторов) открытой публичной сети. Такое положение дел таит в себе две проблемы. Первая заключается в том, что передаваемая через туннель информация может быть перехвачена злоумышленниками. Если она конфиденциальна (номера банковских карточек, финансовые отчеты, сведения личного характера), то вполне реальна угроза ее компрометации, что уже само по себе неприятно. Хуже того, злоумышленники имеют возможность модифицировать передаваемые через туннель данные так, что получатель не сможет проверить их достоверность. Последствия могут быть самыми плачевными. Учитывая сказанное, мы приходим к выводу, что туннель в чистом виде пригоден разве что для некоторых типов сетевых компьютерных игр и не может претендовать на более серьезное применение. Обе проблемы решаются современными средствами криптографической защиты информации. Чтобы воспрепятствовать внесению несанкционированных изменений в пакет с данными на пути его следования по туннелю, используется метод электронной цифровой подписи (ЭЦП). Суть метода состоит в том, что каждый передаваемый пакет снабжается дополнительным блоком информации, который вырабатывается в соответствии с асимметричным криптографическим алгоритмом и уникален для содержимого пакета и секретного ключа ЭЦП отправителя. Этот блок информации является ЭЦП пакета и позволяет выполнить аутентификацию данных получателем, которому известен открытый ключ ЭЦП отправителя. Защита передаваемых через туннель данных от несанкционированного просмотра достигается путем использования сильных алгоритмов шифрования.
4.7.5.2 Аутентификация
Обеспечение безопасности является основной функцией VPN. Все данные от компьютеров-клиентов проходят через Internet к VPN-серверу. Такой сервер может находиться на большом расстоянии от клиентского компьютера, и данные на пути к сети организации проходят через оборудование множества провайдеров. Как убедиться, что данные не были прочитаны или изменены? Для этого применяются различные методы аутентификации и шифрования. Для аутентификации пользователей PPTP может задействовать любой из протоколов, применяемых для PPP EAP или Extensible Authentication Protocol; MSCHAP или Microsoft Challenge Handshake Authentication Protocol (версии 1 и 2); CHAP или Challenge Handshake Authentication Protocol; SPAP или Shiva Password Authentication Protocol; PAP или Password Authentication Protocol. Лучшими считаются протоколы MSCHAP версии 2 и Transport Layer Security (EAP-TLS), поскольку они обеспечивают взаимную аутентификацию, т.е. VPN-сервер и клиент идентифицируют друг друга. Во всех остальных протоколах только сервер проводит аутентификацию клиентов. Хотя PPTP обеспечивает достаточную степень безопасности, но все же L2TP поверх IPSec надежнее. L2TP поверх IPSec обеспечивает аутентификацию на уровнях «пользователь» и компьютер, а также выполняет аутентификацию и шифрование данных. Аутентификация осуществляется либо отрытым тестом (clear text password), либо по схеме запрос/отклик (challenge/response). С прямым текстом все ясно. Клиент посылает серверу пароль. Сервер сравнивает это с эталоном и либо запрещает доступ, либо говорит «добро пожаловать». Открытая аутентификация практически не встречается. Схема запрос/отклик намного более продвинута. В общем виде она выглядит так: клиент посылает серверу запрос (request) на аутентификацию; сервер возвращает случайный отклик (challenge); клиент снимает со своего пароля хеш (хешем называется результат хеш-функции, которая преобразовывает входной массив данных произвольной длины в выходную битовую строку фиксированной длины), шифрует им отклик и передает его серверу; то же самое проделывает и сервер, сравнивая полученный результат с ответом клиента; если зашифрованный отклик совпадает, аутентификация считается успешной; На первом этапе аутентификации клиентов и серверов VPN, L2TP поверх IPSec использует локальные сертификаты, полученные от службы сертификации. Клиент и сервер обмениваются сертификатами и создают защищенное соединение ESP SA (security association). После того как L2TP (поверх IPSec) завершает процесс аутентификации компьютера, выполняется аутентификация на уровне пользователя. Для аутентификации можно задействовать любой протокол, даже PAP, передающий имя пользователя и пароль в открытом виде. Это вполне безопасно, так как L2TP поверх IPSec шифрует всю сессию. Однако проведение аутентификации пользователя при помощи MSCHAP, применяющего различные ключи шифрования для аутентификации компьютера и пользователя, может усилить защиту.
4.7.5.3 Шифрование
Шифрование с помощью PPTP гарантирует, что никто не сможет получить доступ к данным при пересылке через Internet. В настоящее время поддерживаются два метода шифрования: Протокол шифрования MPPE или Microsoft Point-to-Point Encryption совместим только с MSCHAP (версии 1 и 2); EAP-TLS и умеет автоматически выбирать длину ключа шифрования при согласовании параметров между клиентом и сервером. MPPE поддерживает работу с ключами длиной 40, 56 или 128 бит. Старые операционные системы Windows поддерживают шифрование с длиной ключа только 40 бит, поэтому в смешанной среде Windows следует выбирать минимальную длину ключа. PPTP изменяет значение ключа шифрации после каждого принятого пакета. Протокол MMPE разрабатывался для каналов связи точка-точка, в которых пакеты передаются последовательно, и потеря данных очень мала. В этой ситуации значение ключа для очередного пакета зависит от результатов дешифрации предыдущего пакета. При построении виртуальных сетей через сети общего доступа эти условия соблюдать невозможно, так как пакеты данных часто приходят к получателю не в той последовательности, в какой были отправлены. Поэтому PPTP использует для изменения ключа шифрования порядковые номера пакетов. Это позволяет выполнять дешифрацию независимо от предыдущих принятых пакетов. Оба протокола реализованы как в Microsoft Windows, так и вне ее (например, в BSD), на алгоритмы работы VPN могут существенно отличаться. Таким образом, связка «туннелирование + аутентификация + шифрование» позволяет передавать данные между двумя точками через сеть общего пользования, моделируя работу частной (локальной) сети. Иными словами, рассмотренные средства позволяют построить виртуальную частную сеть.
4.8 Прокси-сервер
Proxy-servers (proxy - доверенность, доверенное лицо). Весь трафик сетевого/транспортного уровней между локальной и глобальной сетями запрещается полностью - маршрутизация как таковая отсутствует, а обращения из локальной сети в глобальную происходят через специальные серверы-посредники. Очевидно, что при этом обращения из глобальной сети в локальную становятся невозможными в принципе. Этот метод не дает достаточной защиты против атак на более высоких уровнях - например, на уровне приложения (вредоносные программы, код Java и Java Script).
Сначала клиент подключается к прокси-серверу и запрашивает какой-либо ресурс, расположенный на другом сервере. Затем прокси-сервер либо подключается к указанному серверу и получает ресурс у него, либо возвращает ресурс из собственного кэша (в случаях, если прокси имеет свой кэш). В некоторых случаях запрос клиента или ответ сервера может быть изменён прокси-сервером в определённых целях. Прокси-сервер позволяет защищать компьютер клиента от некоторых сетевых атак и помогает сохранять анонимность клиента.
4.8.1 Цели
Обеспечение доступа компьютеров локальной сети к сети Интернет. Кэширование данных: если часто происходят обращения к одним и тем же внешним ресурсам, то можно держать их копию на прокси-сервере и выдавать по запросу, снижая тем самым нагрузку на канал во внешнюю сеть и ускоряя получение клиентом запрошенной информации. С развитием динамического контента кэширование утратило актуальность. Сжатие данных: прокси-сервер загружает информацию из Интернета и передаёт информацию конечному пользователю в сжатом виде. Такие прокси-серверы используются в основном с целью экономии внешнего сетевого трафика клиента или внутреннего - компании, в которой установлен прокси-сервер.
Защита локальной сети от внешнего доступа: например, можно настроить прокси-сервер так, что локальные компьютеры будут обращаться к внешним ресурсам только через него, а внешние компьютеры не смогут обращаться к локальным вообще (они «видят» только прокси-сервер). Ограничение доступа из локальной сети к внешней: например, можно запретить доступ к определённым веб-сайтам, ограничить использование интернета каким-то локальным пользователям, устанавливать квоты на трафик или полосу пропускания, фильтровать рекламу и вредоносные программы.
Анонимизация доступа к различным ресурсам. Прокси-сервер может скрывать сведения об источнике запроса ил<