Задание 1
Создайте простейший виртуальный частный канал в туннельном режиме между двумя рабочими станциями с аутентификацией, используя ручное конфигурирование посредством утилиты setkey.
Перед выполнением задания студентам следует разбиться на пары. Выполнять все этапы лабораторной работы на каждом компьютере только в том случае, если "напарник" уже готов приступить к следующему пункту (синхронно по пунктам). В конце работы есть глава "Примечания" - настоятельно рекомендуется заглядывать в неё во время выполнения заданий.
Кроме всего прочего, рекомендуется сохранять работоспособные версии конфигурационных файлов для использования их в дальнейших заданиях.
Обратите внимание на загружаемую ОС (загрузчик Lilo). Поддержка комплекта протоколов IPSec ядром Линукс с названием 269my.
Выполнять лабораторную работу предлагается в следующем порядке:
1. Cоздайте, напрмер, с помощью текстового редактора, файл конфигурации ipsec.conf для setkey в домашней директории.
Пример файла ipsec.conf, конфигурирующий туннель между 172.20.175.1 и 172.20.175.2:
flush ;
add 172.20.175.2 172.20.175.1 ah 300 -m tunnel -A hmac -md5 "aaaaaaaaaaaaaaaa"
;
add 172.20.175.1 172.20.175.2 ah 301 -m tunnel -A hmac -md5 "aaaaaaaaaaaaaaaa"
;
spdflush ;
spdadd 172.20.175.1 172.20.175.2 any -P out ipsec ah/tunnel/172.20.175.1-172.20.175.2/require
;
spdadd 172.20.175.2 172.20.175.1 any -P in ipsec ah/tunnel/172.20.175.2-172.20.175.1/require
;
2. Краткое описание команд из вышеприведённого файла.
Расмотрим параметры к команде add.
add src dst protocol SPI -m -A
Раcсмотрим параметры к команде spdadd.
spdadd src_range dst_range upperspec [-P direction type [ protocol/ mode/ src-dst /level]]
Для правильного заполнения файла требуется изучить комплектную документацию утилиты setkey (команда man ipsec.conf в bash) . Стоит также уделить внимание примерам, расположенным в документации к setkey.
3. Для указания верных параметров команд add и spdadd конфигурационного файла ipsec.conf согласуйте друг с другом протоколы, индексы безопасности SPI, алгоритмы, ключи;
4. Внесите записи из ipsec.conf в базы данных SAD и SPD, используя setkey и семантику ядра (sudo setkey -f ~/ipsec.conf -k );
5. Попеременно создайте соединение между хостами, используя на выбор telnet, ssh, sftp, либо ping, перехватите IP-пакеты, передаваемые между вашими рабочими станциями, используя tcpdump, которая при правильных конфигурациях IPSec отобразит только протокол AH или ESP, индекс безопасности SPI и номер последовательности для пакета;
6. Продемонстрируйте результат преподавателю;
Примечания
1. IP-адрес и маску сети можно узнать, набрав в консоли /sbin/ifconfig;
2. Просмотреть параметры безопасности (записи баз данных) можно, запустив setkey с соответствующими ключами -D (просмотр базы данных ассоциаций безопасности SAD), -DP (просмотр базы данных политик безопасности SPD);
3. Индексы безопасности SPI различны для разных SA;
4. При каждом новом запуске setkey желательно предварительно очищать базы данных от старых записей, для чего добавьте в файл конфигурации соответствующие команды;
5. При добавлении записей в базы данных setkey автоматически проверяет синтаксис конфигурационного файла, при обнаружении ошибки выдается номер строки, ее содержащей;
6. В качестве пареметра level для политики протокола верхнего слоя рекомендуется использовать require;
7. Особенность данной реализации IPSec, о которой упоминают разработчики и которую продемонстрирует tcpdump, такова, что когда входящий пакет IPSec проходит сетевой интерфейс, IPSec-заголовки проверяются и удаляются, а сам оригинальный пакет входит в код ядра вновь через сетевой интерфейс, словно только что пришел из сети, поэтому tcpdump покажет его дважды.
"Методы и средства защиты информации". ПетрГУ, 2006.