ipsec
Dreamcatcher.ru
A:link,A:active,A:visited {
color:#005C9E;
text-decoration:none};
BODY {
SCROLLBAR-FACE-COLOR: "white"; SCROLLBAR-HIGHLIGHT-COLOR: #ffffff; SCROLLBAR-SHADOW-COLOR: "0f2f2f"; SCROLLBAR-3DLIGHT-COLOR: "0f2f2f"; SCROLLBAR-ARROW-COLOR: #ffffff; SCROLLBAR-TRACK-COLOR: #e0e0e0; SCROLLBAR-DARKSHADOW-COLOR: #000000
}
NetBSD документация: NetBSD IPsec
Перевод: Сгибнев Михаил
Эта страница находится в постоянной разработке, все Ваши замечания ipsec предложения принимаются здесь.
IPsec FAQ
Начало
IPsec = AH + ESP + IPcomp + IKE
Транспортный режим ipsec туннельный режим
Управление правилами IPsec
Конфигурирование поддержки IPsec в ядре
Пример конфигурации: host-to-host encryption
Пример конфигурации: host-to-host authentication
Пример конфигурации: host-to-host encryption+authentication
Пример конфигурации: IPsec VPN
Пример конфигурации: Leaf-node tunnel
Конфигурирование ключей AH/ESP с использованием IKE
Установка ключей IPsec вручную ipsec настройка правил начальной загрузки
Взаимодействие с ipfilter
Частые ошибки ipsec методы отладки
Известные проблемы
Совместимость ipsec соответствие стандарту
Совместимость API с другими стеками IPsec
Книги ipsec другие дополнительные материалы
Другие ссылки
FreeBSD IPsec mini-HOWTO , включая взаимодействие с Windows 2000
KAME project
KAME's NetBSD Implementation Note
KAME's Implementation Note некоторые разделы могут быть не применимы к NetBSD
implementaion differences between KAME platforms
Exportability of NetBSD crypto code
Начало
Код IPsec (IP security protocol) был добавлен в дистрибутив NetBSD в июне 1999 года ipsec включен в состав NetBSD 1.5 ipsec более поздних.
IPsec предоставляет гарантию подлинности/конфиденциальности при обмене информацией между двумя узлами IPsec.
IPsec поддерживает IPv6 ipsec IPv4.
Обратите внимание, что использование IPsec требует переконфигурации ядра, так как поддержка IPsec не включена в ядро GENERIC.
Окружение пользователя включает поддержку IPsec там, где это возможно, ipsec поэтому не требует переконфигурирования, даже если Вы
переключаетесь между ядром, поддерживающим IPsec ipsec не поддерживающим IPsec.
Если у Вас симтема младше 1.5, то ситуация следующая:
Если Вы используете NetBSD 1.4.x, Вы можете посетить проект KAME. В разделе посвященном IPsec
Вы можете найти патч для IPv6/IPsec одним tar.gz файлом. Этот патч подходит для IPv4 ipsec IPv6.
Если ВЫ используете NetBSD-current выпущенную до ноября 1999, то необходимо использовать специальный файл конфигурации ядра (GENERIC.v6) для поддержки IPsec.
Если ВЫ используете NetBSD-current выпущенную после 1999, то файл конфигурации GENERIC содержит в себе закомментированые строки, отвечающие за поддержку IPsec.
До июня 2000 код, отвечающий за IPsec, поставлялся отдельно. Обновите Ваше дерево каталогов, как указано здесь.
Если Вы используете NetBSD-current, выпущенную после июня 2000 года, то необходимый код уже интегрирован в дерево системы.
Внимание: мы иногда используем термин "IP security" в достаточно широком смысле, включающем в себя системы сетевой защиты, фильтрации пакетов ipsec т.д.
IPsec = AH + ESP + IPcomp + IKE
IPsec состоит из нескольких отдельных протоколов, перечисленных ниже:
Authentication Header (AH): обеспечивает гарантию подлинности пакетов, прикрепляя крипто-сумму к пакетам.
Если Вы получаете пакет с АХ, ipsec операция проверки контрольной суммы была успешна, то Вы можете быть уверены по крайней мере, в двух вещах, при условии, что
удаленный хост ipsec Вы используете одинаковый ключ при шифровании ipsec этот ключ никому неизвестен:
Пакет был сгенерирован именно удаленным хостом, ipsec не имитирован
Пакет не изменялся в процессе доставки
В отличие от других протоколов, АХ шифрует весь пакет, от заголовка IP до конца пакета.
Encapsulating Security Payload (ESP): обеспечивает гарантию конфиденциальности пакетов, шифруя пакеты с использованием алгоритмов кодирования.
Если Вы получаете пакет с ESP ipsec успешно декодируете его, то можете быть уверены в том, что пакет небыл перехвачен при доставке, при условии, что удаленный хост ipsec Вы используете одинаковый ключ при шифровании ipsec этот ключ никому неизвестен.
IP payload compression (IPcomp): ESP обеспечивает кодирование пакетов, однако кодирование имеет тенденцию отрицательно сказываться
на компрессии (такой, как ppp-компрессии). IPcomp предоставляет возможность сжать пакет перед использованием ESP (Конечно, Вы можете использовать ipsec один IPcomp).
Internet Key Exchange (IKE): Как отмечено выше, AH ipsec ESP требуют обмена секретными ключами между удаленными хостами.
Для сохранения связи между удаленными хостами мы должны обговорить метод обмена ключами. IKE делает это возможным.
AH, ESP ipsec IPcomp включены в код ядра. IKE представлен демоном, функционирующем в окружении пользователя.
Ядро ipsec окружение пользователя будут взаимодействовать между собой используя таблицу управления ключами.
IKE - опциональная функция, Вы можете конфигурировать секретные ключи для AH/ESP вручную, однако поймите, что Вы не можете использовать
один ipsec тот же ключ все время, так как при длительном использовании ключа увеличивается риск компрометации передаваемой информации.
Внимание: безопасность IPsec зависит от безопасности секретных ключей. Если секретные ключи скомпрометированы, IPsec больше не предоставляет гарантии безопасности передаваемой информации.
Имеются два RFC, определяющих работу IPSec - старый RFC1825 ipsec новый RFC2401.
userland programs IKE daemon
^ | AF_INET{,6} socket ^ | PF_KEY socket
========= | | =========================== | | ======== Kernel/user boundary
| v | v
transport layer, TCP/UDP key management table
^ | ^ | key information
| | | |
| v | v
IP input/output logic AH/ESP/IPcomp logic
^ |
| v
Network drivers (ethernet)
Транспортный режим ipsec туннельный режим
AH, ESP ipsec IPcomp имеют два режима работы: транспортный ipsec туннельный.
Транспортный режим шифрует трафик между двумя удаленными хостами, ipsec туннельный режим обеспечивает инкапсуляцию пакетов в
новый пакет IPv4/v6. Туннельный режим разработан для использования VPN шлюзами.
[[transport mode]]
my host ======== peer's host
transport
mode
packets: [IP: me->peer] ESP payload
encrypted
[[tunnel mode]]
(a) (b) (c)
my host ---- my VPN gateway ======== peer's VPN gateway ---- peer's host
tunnel mode
packets on (a): [IP: me->peer] payload
packets on (b): [IP: mygw->peergw] ESP [IP: me->peer] payload
encrypted
packets on (c): [IP: me->peer] payload
Управление правилами IPsec
Хотя ядро знает как защитить пакет, оно не знает какой пакет защищать. Как раз "правила" IPSec ipsec указывают ядру, какие пакеты должны быть защищены.
Правило IPSec может быть реализовано per-packet или per-socket способами.
Per-packet: конфигурируется в ядре, так же как ipsec пакетный фильтр. Описывается как "Шифровать все пакеты, уходящие к 10.1.1.0/24". Это наиболее подходит IPsec маршрутизатору.
Per-socket: конфигурируется с использованием утилиты setsockopt(2) для каждого конкретного сокета. Выглядит как "Шифровать все исходящие пакеты с этого сокета". Наиболее подходит для запуска серверных частей IPsec-aware программ.
Правило IPSec определяет IPsec протокол (AH, ESP или IPcomp), применяемый к пакету.
Вы можете таким образом сконфигурировать ядро, чтобы использовать любую комбинацию AH, ESP ipsec IPcomp.
Вы даже можете применять один протокол несколько раз к одному пакету, например несколько операций ESP (польза этого сомнительна ipsec может иметь только академический интерес).
Конфигурирование поддержки IPsec в ядре
Обратитесь к tracking NetBSD-current для получения более детальной информации.
Раскомментируйте следующие строки в Вашем файле конфигурации ядра:
options IPSEC
options IPSEC_ESP
Соберите новое ядро
Установите ядро ipsec перезагрузитесь
Окружение пользователя по умолчанию поддерживает IPSec ipsec не требует пересборки.
Дополнительно Вы можете установить racoon и/или isakmpd.
Пример конфигурации: host-to-host encryption
Если Вы хотите запустить host-to-host соединение (транспортный режим) с секретными ключами, сконфигурированными вручную, то следущий вариант вам подойдет.
Для ручного конфигурирования ключей воспользуемся утилитой setkey(8).
#! /bin/sh
#
# packet will look like this: IPv4 ESP payload
# the node is on 10.1.1.1, peer is on 20.1.1.1
setkey -c </etc/racoon/psk.txt
Bspamspamspam
^D
A# chmod 600 /etc/racoon/psk.txt
B# cat >/etc/racoon/psk.txt
Aspamspamspam
^D
B# chmod 600 /etc/racoon/psk.txt
Запустите /usr/pkg/sbin/racoon. Если Вы желаете видеть отладочную информацию, воспользуйтесь следующими аргументами:
# /usr/pkg/sbin/racoon -f /etc/racoon/racoon.conf -d 0xffffffff
Попробуйте обменяться пакетами между А ipsec В. Вы должны увидеть несколько сообщений от racoon ipsec ключи должны установиться.
A# ping -n B
(with some delay, you will start seeing replies)
^C
A# setkey -D
Вы должны будете увидеть ключи, установленные racoon.
racoon договорится о ключах, основываясь на заданных правилах. Изменяя описания правил мы можем легко менят конфигурацию для использования в других случаях.
Следующий пример конфигурирует ключи для такой ситуации:
Это почтовый сервер. Необходимо использование транспортного режима AH, для каждого входящего соединения POP(TCP port 110) на машине А.
В - это клиент, который контактирует с А.
Конфигурация правил на A указывает не использовать AH для локального трафика(обратите внимание, что racoon не может обменяться ключами сам с собой).
Порядок следования правил очень важен, если его изменить, конфигурация не будет работать.
A# setkey -c
spdadd A[110] A tcp -P out none;
spdadd A A[110] tcp -P in none;
spdadd A[110] 0.0.0.0/0 tcp -P out ipsec ah/transport//require;
spdadd 0.0.0.0/0 A[110] tcp -P in ipsec ah/transport//require;
^D
B# setkey -c
spdadd B A[110] tcp -P out ipsec ah/transport//require;
spdadd A[110] B tcp -P in ipsec ah/transport//require;
^D
Все остальное конфигурируется также, как ipsec в примере выше.
Установка ключей IPsec вручную ipsec настройка правил начальной загрузки
rc.conf(5) имеет специальный раздел, отведенный IPSec.
ipsec=YES запустит следующую команду во время начальной загрузки перед любой сетевой активностью:
/sbin/setkey -f /etc/ipsec.conf
Например, Вы можете осуществлять безопасное монтирование /usr по NFS.
/etc/ipsec.conf должен содержать допустимые параметры для setkey(8), по образу ipsec подобию примеров, приведенных ранее, только без setkey -c <|
|
Network drivers (ethernet)
outbound processing:
userland programs IKE daemon
| AF_INET{,6} socket ^ | PF_KEY socket
=========== | =========================== | | ======== Kernel/user boundary
v | v
transport layer, TCP/UDP key management table
| ^ | key information
| | |
v | v
+---->IP input/output logic AH/ESP/IPcomp logic
| | (incl. IPsec tunnel encapsulation)
tunnel |
devices |
| ipfilter rules
| |
+---------+
v
Network drivers (ethernet)
Частые ошибки ipsec методы отладки
Случается, люди путают следующие три понятия. Только понимание вопроса позволит Вам писать работоспособные конфигурации.
IPsec с ключами, установленными вручную.В NetBSD для генерации ключей используется setkey(8). Ключи остаются постоянными до повторной ручной генераци.
IPsec с IKE, ключи заранее известны.В NetBSD используется racoon. Аутентификация устройств происходит по заранее определенным ключам. IPsec динамически вносит ключи в ядро ipsec автоматически меняет их через какое-то время.
IPsec с IKE, с использованием сертификатов.В NetBSD используется racoon. Аутентификация происходит по файлам сертификатов.racoon предоставляет IPSec динамически сгенерированные ключи ключи, которые
устанавливаются в ядро ipsec периодически изменяются.
Конфигурировать IPsec не просто! Есть очень много параметров, которые должны контролироваться ipsec отладка работы должна быть проведена со всей серьезностью.
Почитайте документы/книги/запросы на комментарии или наймите консультантов перед тем, как конфигурировать IPSec.
Используйте tcpdump во время отладки сети. Даже с учетом того, что трафик шифрован, Вы можете получить информацию о движении пакетов.
netstat(1) - Ваш друг. Выполните netstat -sn ipsec проверьте счетчики IPsec пакетов.
Если имеются ошибки с запуском racoon, используйте режим отладки для вывода наиболее полной информации.
Конфигурация Вашей NetBSD машины ipsec удаленной машины действительно должна быть одинаковой. Пакет должен быть сгенерирован тем протоколом ipsec алгоритмом кодирования, который ожидает удаленная сторона. Если это не так,то такие ошибки
очень трудно отслеживаются. В IPsec ошибки кодирования/идентификации будут отмечены как отброшенные пакеты, так что все пакеты, отброшенные по причине неправильной конфигурации не вызовут сообщения об ошибке.
На медленных машинах возможна ситуация, когда не произойдет обмена ключами между racoon ipsec демоном IKE, так как время обмена ключами регулируется утилитой net.key.larval_lifetime sysctl MIB, по умолчанию равной 30 сек.
Если машины действительно медленные, то попробуйте повысить это значение.
Известные проблемы
Туннельный режим AH не работает из-за ограничений реализации механизма правил в ядре IPSec. Не используйте этот режим.
racoon находится в постоянной разработке ipsec поэтому может иметь свои ошибки/ограничения. Смотрите pkg/DESCR для получения более подробной информации.
IPsec ipsec ipf плохо уживаются вместе.
IPSec правила не проверяют ничего, кроме соответствия протоколам tcp/udp. Используйте протокол "any" (только при соответствии адресу), если хотите сделать сеть более безопасной Проблема существует для любых пакетных фильтров.
Совместимость ipsec соответствие стандарту
Реализация KAME IPsec (включенная в дерево NetBSD) соответствует последнему набору IPsec стандартов. KAME's NetBSD Implementation Note включает список где подтверждается функциональная совместимость.
Обратите нимание на то, что возможно изменение функциональности. Также может оказаться что NetBSD ipsec удаленное устройство будут работать только в определенной конфигурации.
Совместимость API с другими стеками IPsec
Если Вы пишете приложения, взаимодействующие с IPsec, то Вас может заинтересовать вопрос совместимости API различных платформ.
Мы имеем RFC2367 PF_KEY API для того, чтобы управлять базой ключей в ядре.
Основная часть этого API доступна в других реализациях стека IPsec для UNIX-like систем ipsec с некоторой степенью может быть совместима (например, OpenBSD также использует PF_KEY API).
Нет никакого документа, который определяет API управления правилами IPsec, поэтому не ожидается никакой совместимости со стеками IPsec non-KAME.
Нет никакого стандарта для синтаксиса файла конфигурации. Вы будете должны конвертировать его, если Вы хотите копировать конфигурацию с non-NetBSD IPsec устройства.
С тех пор как NetBSD ipsec FreeBSD совместно используют IPsec codebase от одного производителя (KAME) появилась совместимость API. Обратите внимание, что, однако, есть различия в NetBSD коде IPsec ipsec FreeBSD коде IPsec, так как используются разные версии KAME.
NetBSD 1.5 включает стек KAME IPsec начала июня 2000.
FreeBSD 4.0-RELEASE включает стек KAME IPsec начала ноября 1999.
Нет никакого различия в в руководстве ipsec key configuration, kernel behavior on AH/ESP operation, или ipsec_set_policy(3) API.
Есть различия в поведении PF_KEY socket, libipsec API for PF_KEY ipsec еще нескольких других. Вы можете поймать проблемы в том случае, если будете писать приложения работающие с PF_KEY socket непосредственно (такие как IKE daemon, racoon или утилита управления ключами типа setkey(8)).
В течении развития от NetBSD 1.4 к NetBSD 1.5 код KAME IPsec импортировался три раза. Импорты содержат обратно-несовместимые изменения в API. Удостоверьтесь, что используете последний код.
Начиная с NetBSD 1.5 предоставляется бинарная совместимость или проверка версии API.
Книги ipsec другие дополнительные материалы
Есть буквально тонны доступных книг.
Search Barnes & Noble for books on "IPsec" (NOTE: мы не рекламируем этот магазин)
разделы
позитивный психология
медицинский перевод
купля производственный комплекс
штендеры
антенна акустомагнитные
рукавичка доставка
кбе
бюгельные зубной протез
информационный валаам
бюджетирование
листогибы
архитектурный визуализация
газонокосилка dolmar
билет мхат
кулер комп
скребковый конвейер
морозильный витрина
fargo
ваза 2113
луковичный цвет
ножной пластырь
nokia 6021 купить
международный конкурс дебютант
детский мир wow
8800 gold edition
поставка тройник
морозильный витрина
промывка инжектор
северский доломит
сбор д/полоскания горло зубной боль
антенна
tognana фарфор
индивидуальный банковский ячейка
купить хлебопечку
профессиональный психолог
система видеоконференция
угловой тестомесители
установка hotbird
8800 gold edition
брусок алмазный
штангенциркуль
кадровый владимир
длинный нард
укрепление откос
автоматический резка
итальянский вина
спецобувь заказ
1000 холодильник
короткий нард скачать бесплатный
оформление свадеб
флюоресцентный краска
маркировочная краска
вышитый герб
заказать флаг
деловой костюм
доставка
5004.13 (крышка)
слюдопластовые втулка
архыз
ipsec
листогибы
конкурентный анализ
li-da
плата видеозахвата
покрышка бриджстоун
пионовая беседка
резка
сканер штрихкодов
кс-4361а
трехфазный электросчетчик
ipsec