IPsec — протокол туннелирования 3 уровня, предназначенный для безопасной передачи пакетов IP через сеть общего пользования. Протокол IPsec предусматривает два существенно различных режима работы:
Устройства NSG, как сетевое оборудование, предназначены для работы в туннельном режиме. В общем случае, поддерживается также и транспортный режим, который может быть настроен с помощью дополнительных опций.
Реализация IPsec в NSG Linux 2.0 основана на пакете OpenSWAN и включает в себя как встроенный стек IPsec в ядре Linux 2.6 и старше, так и его более раннюю реализацию KLIPS из пакета FreeS/WAN. Оба варианта соответствуют всем стандартам (IETF RFC), относящимся к IPsec, и совместимы как с открытыми Linux-системами, так и с проприетарными продуктами различных производителей.
ПРИМЕЧАНИЕ. Следует отметить, что, несмотря на детальную стандартизацию IPsec, далеко не все существующие реализации полностью совместимы друг с другом. И чем более подробные стандарты и спецификации пишутся — тем больше в них деталей, которые допускают неоднозначное толкование. Кроме того, эти стандарты не определяют некоторые смежные вопросы функционирования устройства. Различные разработчики могут — и, естественно, будут! — интерпретировать эти моменты по-разному. Такова жизнь, увы...
Процедура установления безопасных туннелей IPsec состоит из двух этапов:
Туннель идентифицируется, в рамках данной SA, уникальным номером — SPI (Security Parameter Index). Для работы туннеля необходимы, в общем случае, два ключа: для аутентификации и для защиты трафика. Эти ключи могут назначаться двумя способами, которые взаимосвязаны с фактом существования туннеля:
Созданный туннель может быть разорван любой из участвующих сторон в произвольный момент времени. В частности, это может произойти по следующим причинам:
После разрыва туннель остается в состоянии готовности и может быть автоматически создан снова по инициативе одной из сторон. При этом его параметры согласовываются заново.
Постоянные туннели IPsec в настоящее время используются крайне редко. Одна из причин состоит в необходимости вручную вводить длинные ключи. Другая, более существенная — в том, что ключи задаются статически, без ограничения срока действия. Они могут быть подобраны за конечное время (по крайней мере, теоретически), причём достаточно небольшое — при современных вычислительных мощностях и, тем более, при распределённой атаке с помощью сети (ботнета) из зомби-компьютеров. По этой причине NSG Linux 2.1 ориентирован на использование только динамических туннелей. Постоянные туннели, тем не менее, также могут быть реализованы с помощью дополнительных опций.
Технология IPsec по сути своей симметрична, т.е. не подразумевает разделения на клиент и сервер. Процедуры аутентификации, согласования параметров и установления туннеля могут выполняться с равным успехом в обе стороны, независимо от того, какая из сторон является инициатором. Однако в практических решениях полная симметрия имеет место достаточно редко. Чаще встречается ситуация, когда VPN-шлюзы функционально различны: мощный высокопроизводительный сервер в центральном офисе ожидает соединения от многих удалённых клиентов, а каждый из клиентов инициирует эти соединения по мере необходимости и обслуживает значительно меньшую часть приватной сети (удалённый офис, банкомат и т.п.) Как следствие, условия функционирования сервера и клиента также могут различаться по существу: сервер находится на высоконадёжном (Ethernet, Fiber Ethernet) соединении со статическим IP-адресом, в то время как клиенты могут использовать самые разные технологии доступа в Интернет, в том числе неустойчивые каналы связи, динамические адреса, с большой вероятностью — NAT на выходе из сети поставщика услуг в Интернет, и т.п.
Обратно в узел ipsec
...
© Network Systems Group 2015–2024 | Отдел документации |