под защитой криптотуннеля ANDREY MATVEEV Спецвыпуск: Хакер, номер #072, стр. 072-024-3 Клиентская настройка IPsec в WinXP довольно утомительна и напоминает прохождение хитроумного квеста: 1 START-> RUN-> ЗАПУСКАЕШЬ MMC; 2 FILE-> ADD/REMOVE SNAP-IN-> IP SECURITY POLICY MANAGEMENT-> LOCAL COMPUTER-> FINISH-> CLOSE; 3 ACTION-> CREATE IP SECURITY POLICY-> NEXT-> NEXT-> СНИМАЕШЬ ГАЛОЧКУ С ACTIVATE THE DEFAULT RESPONCE RULE-> EDIT PROPERTIES ОСТАВЛЯЕШЬ НЕТРОНУТЫМ-> NEXT-> FINISH; 4 NEW IP SECURITY POLICY-> PROPERTIES-> ADD-> NEXT-> TUNNEL ENDPOINT — THIS RULE DOES NOT SPECIFY A TUNNEL-> NETWORK TYPE — LOCAL AREA NETWORK (LAN)-> AUTHENTICATION METHOD — USE THIS STRING TO PROTECT THE KEY EXCHANGE (PRESHARED KEY) — УКАЗЫВАЕШЬ MYPASSWORD ИЗ ФАЙЛА /ETC/ISAKMPD/ISAKMPD.CONF-> IP FILTER LIST -> ADD-> ADD-> NEXT-> SOURCE ADDRESS — MY IP ADDRESS-> DESTINATION ADDRESS — A SPECIFIC IP ADDRESS — 192.168.2.1-> SELECT A PROTOCOL TYPE — ANY, 0-> УСТАНАВЛИВАЕШЬ ГАЛОЧКУ EDIT PROPERTIES-> FINISH-> ПРОВЕРЯЕШЬ ВВЕДЕННЫЕ НАСТРОЙКИ-> OK; 5 NEW IP FILTER LIST-> NEXT-> FILTER ACTION — REQUIRE SECURITY-> EDIT-> УСТАНАВЛИВАЕШЬ NEGOTIATE SECURITY-> ОТМЕЧАЕШЬ SESSION KEY PERFECT FORWARD SECRECY (PFS)-> OK-> NEXT-> FINISH-> APPLY-> OK 6 CONSOLE1-> FILE-> SAVE; 7 ПЕРЕЗАГРУЖАЕШЬСЯ, ЛИБО ПЕРЕЗАПУСКАЕШЬ СЕРВИС IPSEC SERVICES (ЛУЧШЕ ПЕРЕЗАГРУЗИТЬСЯ); 8. START-> RUN-> MMC-> FILE-> CONSOLE1-> NEW IP SECURITY POLICY-> ASSIGN. В качестве альтернативы можно воспользоваться программами ipsecpol.exe/ipseccmd.exe (из комплекта Win2k/WinXP Support Tools), SSH Sentinel, TheGreenBow VPN Client, либо SafeNet SoftRemoteLT. [проникновение в институтскую сеть.] Как вариант, можно отказаться от использования isakmpd и посмотреть в сторону ipsecadm(8) — программы управления защищенными соединениями. Чтобы проверить ее работу в действии, рассмотрим сценарий, когда и на институтском, и на домашнем сервере установлена *BSD. internet [ Сеть ]------------[ Домашний сервер ]----------------[ Институтский сервер ]------------------[ Сеть ] 192.168.2.0/24 81.211.22.22 ipsec 81.211.11.11 192.168.1.0/24 Последовательно создаешь два ключа: один для шифрования трафика (3DES, 192 bit), другой — для аутентификации (SHA1, 160 bit). ЛИСТИНГ # mkdir -m 700 /etc/ipsec # openssl rand 24 | hexdump -e '24/1 "%02x"' > /etc/ipsec/esp-enc-key # openssl rand 20 | hexdump -e '20/1 "%02x"' > /etc/ipsec/esp-auth-key # chmod 600 /etc/ipsec/esp-*-key Далее, чтобы не изобретать себе лишние сложности, можно воспользоваться шаблоном из каталога /usr/share/ipsec (смотри листинг 3): ЛИСТИНГ # cp /usr/share/ipsec/rc.vpn /etc/ipsec/rc.vpn На стороне домашнего сервера скрипт будет выглядеть с минимальными правками: ЛИСТИНГ #DEBUG=echo GW_LOCAL=81.211.22.22 GW_REMOTE=81.211.11.11 LOCAL_NETWORKS="192.168.2.0/24" REMOTE_NETWORKS="192.168.1.0/24" ENC=3des AUTH=sha1 # Внимание: здесь значения SPI-индексов меняются местами SPI_OUT=1001 SPI_IN=1000 KEYFILE=/etc/ipsec/esp-enc-key AUTHKEYFILE=/etc/ipsec/esp-auth-key |