Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #82, ОКТЯБРЬ 2005 г.

Поставь вардрайверов на колени

Andrey Matveev

Хакер, номер #082, стр. 082-106-4


[snip]

rdr pass on $ext_if inet proto tcp from any to any port 4661 ->gt; $user_ip

rdr pass on $ext_if inet proto tcp from any to any port 4662 ->gt; $user_ip

rdr pass on $ext_if inet proto udp from any to any port 4665 ->gt; $user_ip

rdr pass on $ext_if inet proto udp from any to any port 4672 ->gt; $user_ip

[snip]

[isakmpd: вернисаж IPSec-туннелей]

Как мы помним, главные изъяны WEP были обнаружены в процедурах аутентификации и шифрования. Кроме того, оказалось, что этот механизм достаточен только для малых сетей с умеренным трафиком. Следовательно, даже если бы он стал единственным стандартом де-факто, который предоставляет гарантии безопасности беспроводных сетей, его нельзя было бы применять для корпоративных решений.

Isakmpd(8) обеспечивает работу по протоколу обмена секретными ключами (ISAKMP), справляется с любыми нагрузками без снижения производительности, а также позволяет создавать невероятное количество IPSec-туннелей, используя при этом различные алгоритмы шифрования (например, 3des, idea, cast, blowfish, aes для атрибута esp_enc_alg протокола ESP) и методы аутентификации: на основе парольной фразы (мы будем рассматривать именно этот метод, в случае внушительного числа wlan-клиентов свой выбор лучше остановить на X.509 auth), серверных ключей, Keynote и X.509 сертификатов. Демон просто потрясает своими возможностями, так что будет не просто найти такую задачу построения VPN, с которой он не мог бы справиться.

Для удобства главный конфигурационный файл сервера обмена ключей разбит на секции и содержит директивы с присвоенными значениями. Далее прокомментирую ключевые моменты isakmpd.conf(5):

# vi /etc/isakmpd/isakmpd.conf

/* Секция общего назначения: количество повторов, продолжительность таймаутов, IP-адрес прослушиваемого интерфейса */

[General]

Retransmits = 5

Exchange-max-time = 120

Listen-on = 192.168.2.1

/* Перечисляем фазы соединений */

[Phase 1]

Default = local-peers

[Phase 2]

Passive-connections = authenticated-peers

/* Подтверждаем отсутствие псевдонимов и задаем парольную фразу */

[local-peers]

Phase = 1

Local-address = 192.168.2.1

Authentication = mypassword

Configuration = isakmp-main-mode

/* Создаем список IPSec-соединений */

[authenticated-peers]

Phase = 2

ISAKMP-peer = local-peers

Local-ID = local-network

Remote-ID = remote-network

Configuration = isakmp-quick-mode

/* Задаем маршруты для инкапсулированных соединений */

[local-network]

ID-type = IPV4_ADDR_SUBNET

Network = 192.168.2.0

Netmask = 255.255.255.0

[remote-network]

ID-type = IPV4_ADDR_SUBNET

Network = 192.168.2.0

Netmask = 255.255.255.0

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

[isakmp-main-mode]

DOI = IPSEC

EXCHANGE_TYPE = ID_PROT

Transforms = 3DES-SHA

/* В быстром режиме указываем протокол, шифр и устойчивую к коллизиям хэш-функцию */

[isakmp-quick-mode]

DOI = IPSEC

EXCHANGE_TYPE = QUICK_MODE

Suites = QM-ESP-3DES-SHA-PFS-SUITE

Теперь необходимо создать isakmpd.policy(5), содержащий политику для всех IPSec-соединений:

# vi /etc/isakmpd/isakmpd.policy

Назад на стр. 082-106-3  Содержание  Вперед на стр. 082-106-5