Выбрать главу

        diff: 31(s)     hard: 600(s)    soft: 480(s)

        last:                           hard: 0(s) soft: 0(s)

        current: 231(bytes)     hard: 0(bytes) soft: 0(bytes)

        allocated: 2    hard: 0 soft: 0

        sadb_seq=0 pid=17112 refcnt=0

А команда setkey –DP — список политик безопасности, даст такой результат:

10.0.0.11[any] 10.0.0.216[any] tcp

        in ipsec

        esp/transport//require

        created:Nov 11 12:28:28 2002 lastused:Nov 11 12:29:12 2002

        lifetime:0(s) validtime:0(s)

        spid=3616 seq=5 pid=17134

        refcnt=3

10.0.0.216[any] 10.0.0.11[any] tcp

        out ipsec

        esp/transport//require

        created:Nov 11 12:28:28 2002 lastused:Nov 11 12:28:44 2002

        lifetime:0(s) validtime:0(s)

        spid=3609 seq=4 pid=17134

        refcnt=3

7.2.2.1. Известные проблемы и недостатки.

Если этот вариант у вас не работает, проверьте — все ли файлы конфигурации принадлежат суперпользователю (root) и доступны на чтение только ему. Чтобы запустить racoon в приоритетном режиме, используйте ключ '-f'. Чтобы указать ему местоположение файла конфигурации — ключ '-f'. Для того, чтобы увеличить детальность, добавьте инструкцию 'log debug;' в racoon.conf.

7.2.3. Автоматизация с использованием сертификатов X.509

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

Если каждая из сторон, использующих IPSEC, создаст открытый и секретный ключи, то обе стороны, обменявшись своими открытыми ключами и настроив политику безопасности, смогут установить защищенное соединение.

Процедура создания ключей относительно проста, хотя и требует выполнения некоторых дополнительных действий. Ниже рассматривается пример использования, для этих целей, утилиты openssl.

7.2.3.1. Создание собственного сертификата x.509.

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

Для начала создадим сертификат для нашего хоста, с именем laptop. Начнем с генерации "запроса на сертификат":

$ openssl req –new –nodes –newkey rsa:1024 –sha1 –keyform PEM –keyout \

 laptop.private –outform PEM –out request.pem

Здесь будет предложено ответить на ряд вопросов:

Country Name (2 letter code) [AU]:NL

State or Province Name (full name) [Some-State]:.

Locality Name (eg, city) []:Delft

Organization Name (eg, company) [Internet Widgits Pty Ltd]:Linux Advanced Routing & Traffic Control

Organizational Unit Name (eg, section) []:laptop

Common Name (eg, YOUR name) []:bert hubert

Email Address []:ahu@ds9a.nl

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:

An optional company name []:

Заполните поля запроса по своему усмотрению.

Теперь создадим собственно сертификат, подписанный самим собой:

$ openssl x509 –req –in request.pem –signkey laptop.private –out \

 laptop.public

Signature ok

subject=/C=NL/L=Delft/O=Linux Advanced Routing & Traffic \

 Control/OU=laptop/CN=bert hubert/Email=ahu@ds9a.nl

Getting Private key

После этого файл request.pem можно удалить.

Повторите эту процедуру для всех ваших компьютеров. Вы можете свободно передавать сгенерированные открытые ключи (файлы .public), но сохраняйте файлы .private в секрете!

7.2.3.2. Настройка и запуск.

Теперь, после того как мы создали открытый и секретный ключи, мы можем передать их racoon.

Вернемся к нашей предыдущей конфигурации хостов 10.0.0.11 ('upstairs') и 10.0.0.216 ('laptop').

В файл racoon.conf , на 10.0.0.11, добавим: path certificate "/usr/local/etc/racoon/certs";

remote 10.0.0.216

{

 exchange_mode aggressive,main;

 my_identifier asn1dn;

 peers_identifier asn1dn;

certificate_type x509 "upstairs.public" "upstairs.private";

peers_certfile "laptop.public";

 proposal {

  encryption_algorithm 3des;

  hash_algorithm sha1;

  authentication_method rsasig;

  dh_group 2 ;

 }

}

Тем самым сообщив racoon, что сертификаты находятся в каталоге /usr/local/etc/racoon/certs/. Кроме того, добавим раздел, описывающий удаленный компьютер 10.0.0.216.

Строки asn1dn говорят о том, что локальный и удаленный идентификаторы следует извлекать из открытых ключей. Это — 'subject=/C=NL/L=Delft/O=Linux Advanced Routing & Traffic Control/OU=laptop/CN=bert hubert/Email=ahu@ds9a.nl' из листинга, приведенного выше.

Строка certificate_type указывает имена файлов с локальными открытым и секретным ключами. peers_certfile указывает, что открытый ключ удаленного узла следует взять из файла laptop.public.