Было создано IPsec туннельное соединение между хостом MS-Windows с беспроводным Ethernet и FreeBSD NAT шлюзом. Такая настройка позволяет мобильному хосту иметь защищенное и зашифрованное соединение в незащищенной по своей сути радиосети.
Тимоти Хам
Реферат
Было создано IPsec туннельное соединение между хостом MS-Windows с беспроводным Ethernet и FreeBSD NAT шлюзом. Такая настройка позволяет мобильному хосту иметь защищенное и зашифрованное соединение в незащищенной по своей сути радиосети.
Введение
Не так давно я купил комплект "Wireless Bundle" состоящий из беспроводного NAT маршрутизатора и карты PCMCIA 802.11b. Будучи устройством, рассчитанным на непрофессионального потребителя, мне было достаточно просто его подключить и настроить для работы с моей домашней сетью. Трудности начали возникать когда я попробовал защитить это соединение, а также при попытке защиты всей остальной части локальной сети от любого вида вторжений.
Для меня был очевиден выбор IPsec по WEP. Поскольку WEP считается слабо защищенной (секретный ключ очень легко восстановить), моя PCMCIA карта имела встроенное программное обеспечение, которое отклоняло соединения при включенном WEP. Проблема была хорошо задокументирована, но производитель не выпустил никаких обновлений закрывающих эту "дыру".
В Интернет я нашел несколько доступных ресурсов для настройки IPsec VPN, но в моем случае, ни один из них мне не подходил. Поэтому я хочу поделиться своим опытом и надеюсь, что это будет полезно для других.
Изолирование беспроводной сети
Моя домашняя сеть имела следующую конфигурацию. Был установлен двухканальный шлюз с протоколом DHCPD для назначения приватных IP адресов любым компьютерам, подключенным к сети. Ко мне мог прийти гость и, подключив свой ноутбук к сети, свободно "бродить" по Интернету. В общем, вполне типичная конфигурация.
Первым шагом было отделение беспроводной сети от остальной части моей домашней сети. Это можно сделать, установив еще одну сетевую карту и назначив ей другой диапазон адресов. К примеру, существующая сеть использует диапазон 192.168.1.х, а новая карта - 192.168.2.1. При правильной настройке брандмауэра и IPsec, данный сегмент может быть изолирован от остальной части домашней сети.
Поскольку мой беспроводной NAT маршрутизатор характеризовался как маршрутизатор/коммутатор, то его функции как маршрутизатора (DHPCD, NAT) должны были быть заблокированы. Для изменения настроек маршрутизатор имеет web-интерфейс. Я также дал название wi-fi сети. Маршрутизатор имел четыре Ethernet порта, обозначенных "LAN", и один порт "WAN". Новая Ethernet плата (192.168.2.1) подключена к одному из "LAN" портов.
Портативной ЭВМ был назначен постоянный IP адрес 192.168.2.10.
Транспортный Режим против Туннельного Режима
Эта часть смутила меня больше всего, т.к. большинство изданий (включая руководство по FreeBSD) описывают IPsec туннели в терминах VPN - т.е. два шлюза, соединяющие две подсети по безопасному туннелю, используя виртуальный интерфейс. Сначала я тоже думал, что это транспортный туннель, использующий сквозное шифрование пакетов. Но все оказалось не совсем так. Все пакеты между портативным компьютером (хостом) и шлюзом (192.168.2.10 <-> 192.168.2.1) действительно были зашифрованы. Однако пакеты, посылаемые в остальную часть Интернет, не были зашифрованы. (192.168.2.10-> www.securitylab.ru). Но то, что хотел я, было зашифрованным туннелем между хостом и шлюзом, которые отсылает пакеты от хоста до остальной части Интернет.
Любой исходящий из хоста пакет (192.168.2.10-> www.securitylab.ru), должен быть зашифрован и инкапсулирован в другом пакете, пересылаемом к шлюзу. При получении шлюзом этого пакета, он должен дешифровать его и отправить на www.securitylab.ru.
Возвращаемый пакет (www.securitylab.ru -> 192.168.2.10) должен быть зашифрован и инкапсулирован шлюзом, а затем переслан на хост. (192.168.2.1-> 192.168.2.10), после чего на хосте этот пакет дешифруется и читается его содержимое.
Настройка шлюза
Ниже будет показано, как настраивается шлюз.
A. Перекомпиляция ядра для поддержки IPsec происходит при добавлении следующих строк в файл конфигурации ядра:
options IPSEC options IPSEC_ESP
Проведите перекомпиляцию, переустановку и перезагрузите компьютер с новым ядром. Добавьте следующие строки в файл /etc/rc.conf:
ipsec_enable="YES" ipsec_file="/etc/ipsec.conf"
B. Настройка защитной политики. Создайте файл /etc/ipsec.conf со следующим содержимым. В этом примере, 192.168.2.10 - хост, и 192.168.2.1 - шлюз.
flush; spdflush; spdadd 192.168.2.10/32 0.0.0.0/0 any -P in ipsec esp/tunnel/192.168.2.10-192.168.2.1/require; spdadd 0.0.0.0/0 192.168.2.10/32 any -P out ipsec esp/tunnel/192.168.2.1-192.168.2.10/require;
Для применения защитной политики запустите 'setkey-f/etc/ipsec.conf.
С. Установка и конфигурирование Racoon.
Racoon находится в /usr/ports/security/racoon. Проводим установку.
После инсталляции, создайте /usr/local/etc/racoon/psk.txt. В этом файле перечислены секретные ключи для ваших хостов. Например:
192.168.2.10 SecretKey
Желательно создавать секретные ключи трудные для подбора. В Интернете существуют различные ресурсы, посвященные этому вопросу.
Теперь, необходимо создать файл /usr/local/etc/racoon/racoon.conf. Я скопировал файл racoon.conf.dist, после чего изменил и модифицировал директиву "listen" и значения "life time" в директивах "remote anonymous" и "sainfo anonymous".
Настройка Windows компьютеров
Windows 2000 и XP имеют достаточно много различных диалогов и мастеров, но конечный результат их действия один и тот же.
Выполнив вышеописанные операции, мы добавили встроенную защитную политику. Теперь необходимо настроить wifi политику.
Теперь наряду с "Client", "Secure Server" и "Server" вы должны иметь политику "wifi". После, мы определим правила фильтрации:
Теперь в списке OutboundIPsec должен быть один фильтр. Нажмите "Close". Добавьте второй список, и назовите его InboundIPsec, повторяя вышеописанные шаги. На этот раз, добавьте фильтр с "Any IP Address" как "Source", a "My IP Address" как «destination adress».
Теперь, для применения, созданных фильтров, мы создадим в политике следущее:
Теперь - все. Ниже я подведу итоги того, что мы сделали выше.
Property InboundIPsec OutboundIPsec ------------------------------------------------------------ Filter Action Require Security Require Security Authentication Preshared Key Preshared Key Tunnel Setting 192.168.2.10 192.168.2.1 Connection Type LAN LAN
Выводы
Теперь вы имеете безопасное wifi подключение между вашей портативной ЭВМ и вашим шлюзом. Любой, пытающийся сниффить беспроводную точку доступа, увмдеи пакеты, идущие между хостом и шлюзом и от шлюза, только в зашифрованном виде.
Я надеюсь, что данная статья оказалась полезной для Вас.
Ладно, не доказали. Но мы работаем над этим