Поставь вардрайверов на колени Andrey Matveev Хакер, номер #082, стр. 082-106-5 KeyNote-Version: 2 Authorizer: "POLICY" Conditions: app_domain == "IPsec policy" && esp_present == "yes" && esp_enc_alg == "3des" ->gt; "true"; Выставляем корректные права доступа для конфигов: # chown root:wheel /etc/isakmpd/isakmpd.* # chmod 600 /etc/isakmpd/isakmpd.* И запускаем демона на орбиту, предварительно отказавшись от использования протокола IPv6 и реализации NAT-Traversal: # isakmpd -4T [ратные подвиги виндузятников] Клиентская настройка IPSec в WinXP очень напоминает прохождение Sierra'вского квеста: 1. Start ->gt; Run запускаем mmc 2. File ->gt; Add/Remove Snap-in ->gt; IP Security Policy Management ->gt; Local Computer ->gt; Finish ->gt; Close 3. Action ->gt; Create IP Security Policy ->gt; Next ->gt; Next ->gt; снимаем галку с Activate the default responce rule ->gt; Edit properties оставляем нетронутым ->gt; Next ->gt; Finish 4. New IP Security Policy ->gt; Properties ->gt; Add ->gt; Next ->gt; Tunnel Endpoint - This rule does not specify a tunnel ->gt; Network Type - Local Area Network (LAN) ->gt; Authentication Method - Use this string to protect the key exchange (preshared key) - указываем mypassword из /etc/isakmpd/isakmpd.conf ->gt; IP Filter List ->gt; Add ->gt; Add ->gt; Next ->gt; Source Address - My IP Address ->gt; Destination Address - A Specific IP Address - 192.168.2.1 ->gt; Select a protocol type - Any, 0 ->gt; устанавливаем галку Edit properties ->gt; Finish ->gt; проверяем введенные настройки ->gt; OK 5. New IP Filter List ->gt; Next ->gt; Filter Action - Require Security ->gt; Edit ->gt; устанавливаем Negotiate security ->gt; отмечаем Session key perfect forward secrecy (PFS) ->gt; OK ->gt; Next ->gt; Finish ->gt; Apply ->gt; OK 6. Console1 ->gt; File ->gt; Save 7. Перезагружаемся, либо перезапускаем сервис IPSEC Services 8. Start ->gt; Run ->gt; mmc ->gt; File ->gt; Console1 ->gt; New IP Security Policy ->gt; Assign В качестве альтернативы можно воспользоваться следующими программами: ipsecpol.exe/ipseccmd.exe (из комплекта Win2k/WinXP Support Tools), SSH Sentinel, TheGreenBow VPN Client, либо SafeNet SoftRemoteLT. [полигон для испытаний] Вся необходимая настройка выполнена, остается лишь проверить нашу конструкцию в действии. Добавляем в систему нового пользователя, который принадлежит классу wifi, входит в группу authpf и в качестве оболочки получает /usr/sbin/authpf: # useradd -m -c 'wifi client' -g authpf -L wifi -s /usr/sbin/authpf shocker За него генерируем RSA-ключ длиной 2048 бит: # sudo -u shocker ssh-keygen -t rsa Разрешаем пользователю проводить аутентификацию на основе публичного ключа: # cp /home/shocker/.ssh/id_rsa.pub /home/shocker/.ssh/authorized_keys # chown shocker:authpf /home/shocker/.ssh/authorized_keys На стороне клиента открываем Putty/SecureCRT, создаем новую сессию, указываем IP-адрес шлюза, имя пользователя и расположение публичного ключа. Если все корректно настроено, после успешной авторизации правила файервола на сервере изменятся, и юзер получит доступ в Интернет. Так как утилиты w и who не предоставляют значение PID, список подключенных в текущий момент пользователей можно посмотреть с помощью ps, либо pfctl (здесь authpf - название анчора, shocker - имя пользователя, 3884 - уникальный идентификатор процесса): |