"Linux Advanced Routing & Traffic Control HOWTO (fb2) " - читать интересную книгу автора (Hubert Bert, Graf Thomas, Maxwell Gregory, van Mook Remco, van Oosterhout...)

Глава 7. IPSEC: безопасная передача данных протоколами ip через Интернет

На сегодняшний день существует две реализации IPSEC в Linux. Для ядер 2.2 и 2.4 - это пакет FreeS/WAN , который является первой основной реализацией IPSEC. Этот проект имеет два сайта: официальный - http://www.freeswan.org/ и неофициальный - http://www.freeswan.ca/. FreeS/WAN не вошел в состав ядра по ряду причин. Наиболее часто упоминается причина "политического" характера, связанная с Американскими законодательством, запрещающим экспорт технологий шифрования. Кроме того, этот пакет довольно трудно интегрируется в ядро Linux, что еще больше осложняет их слияние.

В добавок ко всему, многие высказывают обеспокоенность качеством кода. В Интернет существует достаточное количество документации, описывающей процесс установки FreeS/WAN .

Начиная с версии 2.5.47, в ядре Linux появилась встроенная поддержка IPSEC. Реализация ее была выполнена Алексеем Кузнецовым и Дэйвом Миллером (Dave Miller), на основе разработок USAGI IPv6 group. С этой версии, CryptoAPI Джеймса Морриса (James Morris), так же стал частью ядра - его средствами выполняется собственно шифрование.

Этот документ будет описывать только IPSEC версии 2.5 (и выше). FreeS/WAN рекомендуется для пользователей Linux 2.4, но вам следует знать, что его конфигурирование сильно отличается от "родного" IPSEC. И наверное следует упомянуть о существовании "заплаты", которая делает возможной работу пользовательских утилит FreeS/WAN с "родным" для Linux IPSEC.

Начиная с версии ядра Linux 2.5.49, для работы IPSEC уже не требуется наложения заплат.

Note

Пользовательские утилиты, для работы с IPSEC, вы найдете по адресу: http://sourceforge.net/projects/ipsec-tools. В этот пакет, кроме всего прочего, входит ряд программ, основанных на Racoon.

При пересборке ядра обязательно включите опции PF_KEY , AH , ESP и все опции в CryptoAPI !

Warning

Автор этой главы полный кретин (впрочем у меня есть причины сомневаться в этом - прим. перев.) в области IPSEC! Если в этой главе вы столкнетесь с неизбежными ошибками, пожалуйста, сообщите о них Берту Хьюберту (Bert Hubert), по адресу: «[email protected]».

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

Если вас интересует только автоматическое формирование ключей, то можете смело пропустить следующий раздел. Однако мы находим полезным знать принципы "ручного" подхода.