Одни только системы VPN не обеспечивают достаточной защиты сети также потребуется брандмауэр и другие службы безопасности Интернета для обеспечения безопасности сети. Проблемы с безопасностью в особенности свойственны протоколу РРТР
Использование Интернета для связи локальных сетей и предоставления удаленным компьютерам доступа к локальной сети влечет за собой проблемы безопасности, производительности, надежности и управляемости. Клиенты и серверы локальной сети должны быть защищены от Интернета при помощи трансляции сетевых адресов, осуществляемой брандмауэром, и/или прокси-серверами так, чтобы (в идеале) злоумышленники в сети не могли даже узнать об их существовании, что сильно снижает их подверженность индивидуальным атакам. Для того чтобы затруднить хакерам возможность захвата закрытой информации фирмы, большинство брандмауэров конфигурируются так, чтобы не пропускать типичные служебные протоколы локальной сети, такие как SMB, NetBIOS, NetWare Core Protocol или NFS.
SMB работает особенно хорошо в чистом виде через Интернет. Имея высокоскоростной канал, можно просто использовать совместное использование файлов через Интернет без брандмауэров или сконфигурировать ваш брандмауэр для передачи трафика 8MB и Kerberos или NetBIOS и разрешить удаленный доступ к службам файлов и печати. Это позволит хакерам предпринять попытку получить доступ к вашим данным, просто предоставив допустимое имя учетной записи и пароль или проведя атаку на протокол и воспользовавшись его ошибкой.
6.5.1. Технологии VPN
Виртуальные частные сети (VPN) решают проблему прямого доступа к серверам через Интернет при помощи объединения следующих фундаментальных компонентов безопасности:
• IP-инкапсуляция;
• защищенная аутентификация;
• шифрование вложенных данных.
Протокол Secure Socket Layer осуществляет шифрование вложенных данных без защищенной аутентификации удаленного пользователя, a Kerberos осуществляет защищенную аутентификацию без шифрования вложенных данных.
IP-инкапсуляция. В идеале, компьютеры в каждой локальной сети не должны ничего подозревать о том, что во взаимодействии с компьютерами из других локальных сетей есть что-то особенное. Компьютеры, не входящие в вашу виртуальную сеть, не должны иметь возможность подслушивать трафик между локальными сетями или вставлять в коммуникационный поток свои собственные данные.
IP-пакет может содержать любой вид информации: файлы программ, данные электронных таблиц, звуковые данные или даже другие IP-пакеты. Когда IP-пакет содержит другой IP-пакет, это называется IP-инкапсуляцией (IP encapsulation), IP поверх IP (IP on IP) или IP/IP. Можно инкапсулировать один IP-пакет в другой несколькими способами; Microsoft делает это двумя различными, но связанными способами, определенными в протоколах Point-to-Point Tunneling Protocol (РРТР) и Layer 2 Tunneling Protocol (L2TP). Microsoft также поддерживает IPSec, которому не обязательно использовать инкапсуляцию.
IP-инкапсуляция может заставить две удаленные друг от друга сети выглядеть для компьютеров сети соседними, отделенными друг от друга только одним маршрутизатором, хотя на самом деле они будут разделены многими шлюзами и маршрутизаторами Интернета, которые могут даже не использовать одного адресного пространства, потому что обе внутренние сети применяют трансляцию адресов.
Конечная точка туннеля, будь это маршрутизатор, устройство VPN, или сервер, на котором работает протокол туннелирования, извлечет внутренний пакет, расшифрует его и затем отправит вложенный пакет по его пути назначения во внутренней сети в соответствии со своими правилами маршрутизации.
Передача данных в соединенных по протоколу РРТР локальных сетях начинается и заканчивается точно так же, как это происходит в локальных сетях, соединенных через маршрутизатор. IP-пакетам, однако, приходится проходить более дальний путь, поэтому в середине проделывается большая работа. С точки зрения двух клиентских компьютеров в сети не имеет значения, каким образом пакет был получен одной IP-подсетью от другой. Для вовлеченных в соединение сетевых клиентских компьютеров маршрутизатор означает то же самое, что и два RRAS-сервера и РРТР-соединение.
Защищенная аутентификация. Защищенная аутентификация (cryptographic authentication) используется для безопасного подтверждения личности удаленного пользователя, для того чтобы система смогла определить соответствующий этому пользователю уровень безопасности. Сети VPN применяют защищенную аутентификацию для того, чтобы определить, может ли пользователь участвовать в зашифрованном туннеле или нет, а также могут применять ее для обмена секретными или открытыми ключами, используемыми для шифрования вложенных данных.
Существует много различных видов защищенной аутентификации в двух общих категориях.
• Шифрование с секретным ключом. Также называется шифрованием с общим секретным ключом (shared secret encryption) или симметричным шифрованием (symmetric encryption), полагается на секретное значение, известное обеим сторонам.
• Шифрование с открытым ключом. Полагается на обмен однонаправленными ключами (unidirectional keys) - ключами, при помощи которых можно только зашифровать данные. Оконечные системы туннеля могут обмениваться парами открытых ключей для образования двунаправленного канала, или получатель при передаче с открытым ключом может зашифровать общий секретный ключ и переслать его отправителю для использования в будущих коммуникациях (потому что шифрование с секретным ключом быстрее, чем шифрование с открытым ключом).
Если хакер перехватит открытый ключ (или ключ для зашифровки), он сможет только зашифровать данные и передать их получателю, но не сможет расшифровать содержание перехваченных данных.
Шифрование вложенных данных. Шифрование вложенных данных (data payload encryption) используется для сокрытия содержания инкапсулированных данных при шифровании инкапсулированных IP-пакетов и данных, и внутренняя структура частных сетей сохраняется в секрете. Шифрование вложенных данных может осуществляться при помощи одного из криптографических методов обеспечения безопасности, которые различаются в зависимости от вашего решения VPN.
6.5.2. IPSec
IPSec (Internet Protocol Security) это система стандартов IETF для безопасных IP-коммуникаций, полагающаяся на шифрование для обеспечения подлинности и закрытости IP-коммуникаций. IPSec обеспечивает механизм, посредством которого можно реализовать следующее:
• проверять подлинность отдельных IP-пакетов и гарантировать, что они не были изменены;
• шифровать вложенные данные отдельных IP-пакетов между двумя оконечными системами;
• инкапсулировать TCP или UDP сокет между двумя оконечными системами (хостами) внутри защищенного IP-канала (туннеля), установленного между промежуточными системами (маршрутизаторами) для обеспечения функционирования виртуальной частной сети.
IPSec реализует эти три функции при помощи двух независимых механизмов: протокол Authentication Headers '(АН) для аутентификации и протокол Encapsulation Security Payload (ESP) для шифрования части данных IP-пакета. Эти два механизма могут применяться вместе или по отдельности.
Механизм АН работает, вычисляя контрольную сумму всей информации заголовка TCP/IP и зашифровывая контрольную сумму при помощи секретного ключа получателя. Получатель расшифровывает контрольную сумму при помощи своего секретного ключа и затем сверяет заголовок с расшифрованной контрольной суммой. Если вычисленная контрольная сумма отличается от контрольной суммы заголовка, то в этом случае либо не удалась расшифровка из-за неправильного ключа, либо заголовок был изменен при передаче. В любом случае пакет отбрасывается.
IPSec может действовать в одном из двух режимов: транспортном режиме (transport mode), который работает в точности как обычный IP, за исключением того, что проводится аутентификация заголовков (АН) и содержимое шифруется (ESP), или в туннельном режиме (tunnel mode), в котором IP-пакеты целиком инкапсулируются внутрь пакетов АН или ESP для обеспечения безопасного туннеля. Транспортный режим используется для обеспечения безопасного или аутентичного взаимодействия через открытые области IP между соединенными через Интернет хостами в любых целях, в то время как туннельный режим используется для создания безопасных каналов передачи данных между маршрутизаторами или другими конечными точками сети в целях связывания двух частных сетей.
Туннельный режим. При обычном маршрутизируемом соединении хост передает IP-пакет своему шлюзу по умолчанию, который продвигает пакет до тех пор, пока он не достигнет шлюза по умолчанию получателя, который затем передает его конечному хосту. Все компьютеры в соединении должны быть в одном открытом адресном пространстве.
В IP поверх IP, или IP/IP, шлюз по умолчанию (или другой маршрутизатор по пути следования) получает пакет и замечает, что его маршрут для этого пакета задает туннель IP/IP, поэтому он устанавливает TCP/IP-соединение с удаленным шлюзом. При помощи этого соединения шлюз передает весь IP-трафик хоста-инициатора внутри этого соединения, вместо того чтобы продвигать его.
IPSec реализует и IP/IP, и IPSec/IP. IP/IP обеспечивает незашифрованный виртуальный туннель между двумя оконечными системами a IPSec/IP применяет ESP для шифрования вложенных данных несущего IP, таким образом зашифровывая весь инкапсулированный IP-пакет
Internet Key Exchange. IPSec использует криптографию открытого ключа для шифрования данных между оконечными системами. Для того чтобы установить IPSec-соединение с хостом-получателем, передающий хост должен знать открытый ключ этого хоста. Технически отправитель может просто запросить у хоста открытый ключ, но это е обеспечит аутентификации — любой хост может запросить ключ и получить его. Таким образом работает SSL, подлинность компьютер; не имеет значения, и SSL полагается на какой-либо другой протокол для аутентификации пользователя после установки туннеля.