Обеспечение безопасности локальной сети

Вид материалаДокументы

Содержание


Challenge Handshake Authentication Protocol
Password Authentication Protocol
Структура заголовка PPTP
В заключение PPTP добавляет заголовок канального уровня и окончание. Этап 2 – шифрование данных
Протокол L2TP
Структура заголовка L2TP
Политика брандмауэра, применяемая к соединениям VPN-клиентов
Подобный материал:
1   2   3   4


Лучшими считаются протоколы MSCHAP версии 2 и Transport Layer Security (EAP-TLS), поскольку они обеспечивают взаимную аутентификацию, т. е. VPN-сервер и клиент идентифицируют друг друга. Во всех остальных протоколах только сервер проводит аутентификацию клиентов.


CHAP ( Challenge Handshake Authentication Protocol) — широко распространённый алгоритм проверки подлинности, предусматривающий передачу не самого пароля пользователя, а косвенных сведений о нём. При использовании CHAP сервер удаленного доступа отправляет клиенту строку запроса. На основе этой строки и пароля пользователя клиент вычисляет хеш-код MD5 (Message Digest-5) и передает его серверу. Хеш-функция является алгоритмом одностороннего (необратимого) шифрования, поскольку значение хеш-функции для блока данных вычислить легко, а определить исходный блок по хеш-коду с математической точки зрения невозможно за приемлемое время. Сервер, которому доступен пароль пользователя (и который помнит отправленную им строку запроса!), выполняет те же самые вычисления и сравнивает результат с хеш-кодом, полученным от клиента. В случае совпадения учётные данные клиента удалённого доступа считаются подлинными.


MS-CHAP (протокол, разработанный корпорацией Microsoft) генерирует запрос и ответ с помощью алгоритма хеширования MD4 (Message Digest 4) и алгоритма шифрования DES (Data Encryption Standard); предусмотрены также механизмы возврата сообщений об ошибках подключения и возможности изменения пароля пользователя.


MS-CHAP v2 обеспечивает двустороннюю проверку подлинности, называемую также взаимной проверкой подлинности; также он является более безопасным.


PAP ( Password Authentication Protocol) — протокол простой проверки подлинности, предусматривающий отправку имени пользователя и пароля на сервер удаленного доступа открытым текстом (без шифрования). Протокол PAP крайне ненадежен, поскольку пересылаемые пароли можно легко читать в пакетах PPP, которыми обмениваются стороны в ходе проверки подлинности. Обычно PAP используется только при подключении к старым серверам удаленного доступа на базе UNIX, которые не поддерживают никакие другие протоколы проверки подлинности.

EAP

Операционные системы семейства Windows Server 2003 поддерживают два типа EAP:
  • EAP-MD5 CHAP (аналог протокола проверки подлинности CHAP);
  • EAP-TLS (применяется для проверки подлинности на основе сертификатов пользователей). В ходе процесса проверки подлинности клиент удаленного доступа отправляет сертификат пользователя, а сервер удаленного доступа отправляет свой сертификат компьютера. Если хотя бы один из этих сертификатов не будет передан или окажется недействительным, подключение разрывается.

Структура заголовка PPTP


Если рассмотреть структуру пакетов, станет очевидно, что PPTP (как и L2TP) основываются на протоколе Point-to-Point Protocol (PPP). Данные верхних уровней модели OSI сначала инкапсулируются в PPP, а затем протоколы PPTP и L2TP выполняют шифрование данных и собственную инкапсуляцию.

Кадр PPP (IP-, IPX- или Appletalk-датаграмма) заключается в оболочку с заголовком GRE (Generic Routing Encapsulation) и заголовком IP. В заголовке IP-адреса источника и приемника соответствуют VPN-клиенту и VPN-серверу.

Клиенты PPTP используют порт назначения 1723 для создания управляющего туннелем соединения. В дополнение к управляющему соединению PPTP, обеспечивающему работоспособность канала, создается соединение для пересылки по туннелю данных.

В заключение PPTP добавляет заголовок канального уровня и окончание.

Этап 2 – шифрование данных



Кадр PPP зашифровывается по протоколу MPPE (Microsoft Point-to-Point Encryption) с использованием ключей шифрования, созданных в процессе проверки подлинности по протоколу MS-CHAP, MS-CHAP v2 или EAP-TLS. Это единственные протоколы проверки подлинности, генерирующие собственные начальные ключи шифрования. MPPE требует использования общих ключей клиента и сервера, создаваемых указанными алгоритмами проверки подлинности.


Для собственно шифрования используется поточный шифр RC4 c 40- или 128-битным симметричным ключом.

Протокол L2TP


L2TP появился в результате объединения протоколов PPTP и Layer 2 Forwarding (L2F) от фирмы Cisco.

Как правило, в сетях VPN используют комбинацию L2TP и IPSec, она называется L2TP/IPSec.

Протокол L2TP и метод IPSec должны поддерживаться как на VPN-клиенте, так и на VPN-сервере. Клиентская поддержка L2TP встроена в клиент удаленного доступа Windows XP, а поддержка L2TP VPN-серверами — в операционные системы семейства Windows Server 2003 (появилась в Windows 2000).

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

L2TP поверх IPSec обеспечивает аутентификацию на уровнях «пользователь» и «компьютер», а также выполняет аутентификацию и шифрование данных.


1) На первом этапе аутентификации клиентов и серверов VPN, L2TP поверх IPSec использует локальные сертификаты, полученные от службы сертификации. Клиент и сервер обмениваются сертификатами и создают защищенное соединение ESP SA (security association). В процессе проверки подлинности по протоколу IPSec генерируются симметричные ключи шифрования, которые будут применяться в дальнейшем для шифрования данных.


Также можно проводить проверку подлинности с помощью предварительных ключей, что не рекомендуется.


2) После того как L2TP (поверх IPSec) завершает процесс аутентификации компьютера, выполняется аутентификация на уровне пользователя. Протокол L2TP использует стандартные методы проверки подлинности на базе PPP, такие как EAP, MS-CHAP, MS-CHAP v2, CHAP, SPAP и PAP.


Для аутентификации можно задействовать любой протокол, даже PAP, передающий имя пользователя и пароль в открытом виде. Это вполне безопасно, так как L2TP поверх IPSec шифрует всю сессию. Однако проведение аутентификации пользователя при помощи MSCHAP, применяющего различные ключи шифрования для аутентификации компьютера и пользователя, может усилить защиту.


3) В отличие от PPTP, L2TP на серверах под управлением Windows Server 2003 не использует метода MPPE (Microsoft Point-to-Point Encryption) для шифрования датаграмм PPP. L2TP использует средства шифрования, предоставляемые методом IPSec.


L2TP поверх IPSec обеспечивает более высокую степень защиты данных, чем PPTP, так как использует алгоритм шифрования Triple Data Encryption Standard (3DES). 3DES был разработан для защиты особо секретных данных, и его применение разрешено только в Северной Америке. Если столь высокий уровень защиты не нужен, можно использовать алгоритм DES с одним 56-разрядным ключом, что позволяет снизить расходы на шифрование (3DES использует три 56-разрядных ключа).

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

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

L2TP обеспечивает аутентификацию данных при помощи алгоритма Hash Message Authentication Code (HMAC) Message Digest 5 (MD5). Для аутентификации данных этот алгоритм создает хеш длиной 128 разрядов.

Структура заголовка L2TP


Инкапсуляция пакетов L2TP/IPSec выполняется в два этапа.

1) Инкапсуляция L2TP

Кадр PPP (IP-пакет или IPX-пакет) заключается в оболочку с заголовком L2TP и заголовком UDP.


2) Инкапсуляция IPSec

Затем полученное L2TP-сообщение заключается в еще одну оболочку с заголовком и трейлером (окончанием): заголовком IPSec ESP (Encapsulating Security Payload), который помогает расшифровать сообщение на приемной стороне, и трейлером проверки подлинности IPSec, обеспечивающим целостность сообщения и проверку подлинности (электронно-цифровая подпись). Далее к пакету добавляется внешний IP-заголовок, содержащий внешний адрес VPN-сервера.





Компьютер-получатель принимает данные и убирает внешний заголовок IP. При помощи трейлера проводится проверка подлинности и целостности IP пакета, а ESP-заголовок IPSec помогает расшифровать пакет. Далее все дополнительные заголовки удаляются, и на компьютер-получатель поступает исходный IP-пакет.


ESP-заголовок IPSec содержит следующие параметры:

- SPI (индекс параметра безопасности) указывает на контекст безопасности.

Контекст безопасности (SA, Security Association) – это набор параметров IPsec соединения (используемый режим, протокол, алгоритмы шифрования, ключи). Для каждого соединения создается свой контекст безопасности, идентифицируемый уникальным номером – SPI. Контексты безопасности хранятся в специальной базе данных SAD (Security Association Database, БД ассоциаций безопасности).

- Последовательный номер пакета позволяет защититься от повторов сообщения





Заключение


Хотя PPTP обеспечивает достаточную степень безопасности, но все же L2TP поверх IPSec надежнее. С помощью шифрования виртуальные частные подключения на основе PPTP обеспечивают конфиденциальность данных — перехваченные пакеты невозможно интерпретировать, не имея ключа шифрования. Однако виртуальные частные подключения на основе PPTP не обеспечивают ни целостность данных (доказательство того, что данные не были изменены при передаче), ни проверку подлинности источника данных (доказательство того, что данные были отправлены авторизованным пользователем). С помощью IPSec VPN-подключения L2TP/IPSec обеспечивают конфиденциальность и целостность данных, а также проверку подлинности их источника.


Политика брандмауэра, применяемая к соединениям VPN-клиентов


Как правило, не следует предоставлять неограниченный доступ к корпоративным ресурсам пользователям, если они соединяются с помощью VPN-соединения удаленного доступа. Такой подход объясняется тем, что эти пользователи могут подключаться с компьютеров, находящихся вне сферы вашего контроля и не удовлетворяющих требованиям корпоративной политики безопасности, либо они устанавливают соединения с компьютеров, находящихся в ненадежных сетях, таких, как сети отелей, и нет способа проверить, не представляют ли они угрозу для вашей сети.


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