Руководство администратора Linux по безопасности

       

Автоматическая связь


В автоматическом режиме Вы имеете 256-битный ключ на обоих концах туннеля. Его время действия ограничено 8 часами.

ipsec.secrets хранит разделяемый ключ. Этот файл должен сохраниться безопасным любой ценой. Для соединения между серверами 1.2.3.4 и 5.6.7.8 нужна строка, подобная:

1.2.3.4 5.6.7.8 ?0xa3afb7e6_20f10d66_03760ef1_9019c643_a73c7ce0_91e46e84_ef6281b9_812392bf?

Эта строка должна быть в файле ipsec.secrets на обеих машинах. Затем в ipsec.conf надо поправить настройку туннеля:

conn my-tunnel type=tunnel left=1.2.3.4 leftnexthop=1.2.3.1 leftsubnet=10.0.0.0/24 right=5.6.7.8 rightnexthop=5.6.7.1 rightsubnet=192.168.0.0/24 keyexchange=ike keylife=8h keyingtries=0

Pluto daemon будет запускаться, пробовать соединиться с Pluto daemon на другом конце туннеля и устанавливать подключение. Pluto работает на порте 500, протокол UDP, так что придется открыть доступ через firewall:

ipchains -A input -p udp -j ACCEPT -s 0.0.0.0/0 -i eth0 -d 0.0.0.0/0 500

По-моему, удобно использовать ключевое слово ?%search? вместо того, чтобы указывать tunnel, добавляя:

auto=start

к каждой туннельной конфигурации и редактировать ipsec.secrets:

plutoload=%search plutostart=%search

Это в конечном счете сделает Вашу жизнь проще. Если все идет хорошо, Вы должны видеть что-то вроде этого в /var/log/messages:

Jun 26 02:10:41 server ipsec_setup: Starting FreeS/WAN IPSEC... Jun 26 02:10:41 server ipsec_setup: /usr/local/lib/ipsec/spi: message size is 28. Jun 26 02:10:41 server ipsec_setup: KLIPS debug `none' Jun 26 02:10:41 server ipsec_setup: KLIPS ipsec0 on eth0 1.2.3.4/255.255.255.0 broadcast 24.108.11.255 Jun 26 02:10:42 server ipsec_setup: Disabling core dumps: Jun 26 02:10:42 server ipsec_setup: Starting Pluto (debug `none'): Jun 26 02:10:43 server ipsec_setup: Loading Pluto database `my-tunnel': Jun 26 02:10:44 server ipsec_setup: Enabling Pluto negotiation: Jun 26 02:10:44 server ipsec_setup: Routing for Pluto conns `my-tunnel': Jun 26 02:10:45 server ipsec_setup: Initiating Pluto tunnel `my-tunnel': Jun 26 02:10:45 server ipsec_setup: 102 "my-tunnel" #1: STATE_MAIN_I1: initiate Jun 26 02:10:45 server ipsec_setup: 104 "my-tunnel" #1: STATE_MAIN_I2: from STATE_MAIN_I1; sent MI2, expecting MR2 Jun 26 02:10:45 server ipsec_setup: 106 "my-tunnel" #1: STATE_MAIN_I3: from STATE_MAIN_I2; sent MI3, expecting MR3 Jun 26 02:10:45 server ipsec_setup: 003 "my-tunnel" #1: STATE_MAIN_I4: SA established Jun 26 02:10:45 server ipsec_setup: 110 "my-tunnel" #2: STATE_QUICK_I1: initiate Jun 26 02:10:45 server ipsec_setup: 003 "my-tunnel" #2: STATE_QUICK_I2: SA established Jun 26 02:10:46 server ipsec_setup: ...FreeS/WAN IPSEC started


А в файле /var/log/ secure Вы должны видеть нечто вроде:

Jun 26 02:10:42 server Pluto[25157]: Starting Pluto (FreeS/WAN Version snap1999Jun14b) Jun 26 02:10:44 server Pluto[25157]: added connection description "my-tunnel" Jun 26 02:10:44 server Pluto[25157]: listening for IKE messages Jun 26 02:10:44 server Pluto[25157]: adding interface ipsec0/eth0 1.2.3.4Jun 26 02:10:44 server Pluto[25157]: loading secrets from "/etc/ipsec.secrets" Jun 26 02:10:45 server Pluto[25157]: "my-tunnel" #1: initiating Main Mode Jun 26 02:10:45 server Pluto[25157]: "my-tunnel" #1: ISAKMP SA established Jun 26 02:10:45 server Pluto[25157]: "grumpy-seifried" #2: initiating Quick Mode POLICY_ENCRYPT+POLICY_TUNNEL+POLICY_PFS Jun 26 02:10:45 server Pluto[25157]: "my-tunnel" #2: sent QI2, IPsec SA established Jun 26 02:11:12 server Pluto[25157]: "my-tunnel" #3: responding to Main Mode Jun 26 02:11:12 server Pluto[25157]: "my-tunnel" #3: sent MR3, ISAKMP SA established Jun 26 02:11:12 server Pluto[25157]: "my-tunnel" #4: responding to Quick Mode Jun 26 02:11:12 server Pluto[25157]: "my-tunnel" #4: IPsec SA established Jun 26 02:31:31 server Pluto[25157]: "my-tunnel" #5: responding to Main Mode Jun 26 02:31:32 server Pluto[25157]: "my-tunnel" #5: sent MR3, ISAKMP SA established Jun 26 02:31:32 server Pluto[25157]: "my-tunnel" #6: responding to Quick Mode Jun 26 02:31:32 server Pluto[25157]: "my-tunnel" #6: IPsec SA established

В дополнение к этому Вы можете просмотреть вывод ?eroute?, чтобы удостовериться что туннели правильно сконфигурированы:

10.0.0.0/24 -> 192.168.0.0/24 => tun0x114@1.2.3.4

И если Вы рассматриваете Ваши маршруты (?route?) Вы должны увидеть:

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

1.2.3.4 0.0.0.0 255.255.255.255 UH 0 0 0 eth0 10.0.0.1 0.0.0.0 255.255.255.255 UH 0 0 0 eth 11.2.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 1.2.3.0 0.0.0.0 255.255.255.0 U 0 0 0 ipsec0 192.168.0.0 1.2.3.1 255.255.255.0 UG 0 0 0 ipsec0 10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo0.0.0.0 1.2.3.1 0.0.0.0 UG 0 0 0 eth0


Содержание раздела