Безопасность и оптимизация Linux.Редакция для Red Hat

Настройка файла “/etc/ipsec.conf”


Конфигурационный файл FreeS/WAN “/etc/ipsec.conf” позволяет вам настраивать вашу конфигурацию IPSEC, контролируя информацию и типы соединений. IPSEC сейчас поддерживает два типа соединений: снабжаемые ключами вручную и автоматически снабжаемые ключами. Соединения снабжаемые ключами вручную используют ключи, хранящиеся в файле “/etc/ipsec.conf”. Этот тип соединений менее безопасен чем соединения автоматически снабжаемые ключами, которые используют ключи автоматически создаваемые демоном согласования ключей Pluto. Протокол согласования ключей, используемый по умолчанию и называемый IKE, устанавливает подлинность других систем используя совместный секрет, хранящийся в файле “/etc/ipsec.secrets”. Мы будем использовать соединения автоматически снабжаемые ключами, так как они более безопасные чем их ручной аналог.

В нашем примерном конфигурационном файле приведенном ниже, мы настраиваем проходящий через брандмауэр туннель, и принимаем, что сетевой брандмауэр корректно работает на обоих концах туннеля. Мы выбрали эту конфигурацию, так как она представляется нам наиболее универсальной, пригодной для большинства пользователей. Также, она позволяет нам поиграться с большим числом опций конфигурационного файла “ipsec.conf”.

Существуют другие конфигурации и вы можете прочитать файлы из подкаталога “doc/examples” для получения большей информации о них.

SubnetDeep==Deep--Deepgate.................Mailgate--Mail==SubnetMail Untrusted net

leftsubnet = SubnetDeep (192.168.1.0/24)

left = Deep (deep.openna.com)

leftnexthop = Deepgate (первый маршрутизатор в направлении или маршрутизатор провайдера для deep.openna.com)

Internet = Untrusted net

rightnexthop = Mailgate (первый маршрутизатор в направлении или маршрутизатор провайдера для mail.openna.com)

right = Mail (mail.openna.com)

rightsubnet = SubnetMail (192.168.1.0/24)

SubnetDeep \ 192.168.1.0/24 / +--------------------+ | Deep \ 208.164.186.1 / +--------------------+ | Deepgate \ 205.151.222.250 / +--------------------+ | I N T E R N E T | Mailgate / 205.151.222.251 \ +-------------------+ | Mail / 208.164.186.2 \ +------------------+ | SubnetMail / 192.168.1.0/24 \ +-------------------+


SubnetDeep – это IP адрес вашей внутренней приватной сети за первым шлюзом. eth1 подсоединен в внутренней сети.



Deep – это IP адрес первого шлюза. eth0 подсоединен к Интернет.

Deepgate – это IP адрес первого маршрутизатора в направлении вашего второго шлюза (mail.openna.com) или маршрутизатора вашего провайдера.

INTERNET – небезопасная сеть.

Mailgate - это IP адрес второго маршрутизатора в направлении вашего первого шлюза (deep.openna.com) или маршрутизатора вашего провайдера.

Mail – это IP адрес второго шлюза. eth0 подсоединен к Интернет.

SubnetMail – это IP адрес вашей внутренней приватной сети за вторым шлюзом. eth1 подсоединен в внутренней сети.

Мы должны редактировать файл ipsec.conf (vi /etc/ipsec.conf) и изменить значения принятые по умолчанию на то, что нам нужно. Существует два типа секций в этом файле (/etc/ipsec.conf): секция “config”, которая определяет общую информацию для IPSEC, и секция “conn”, которая определяет параметры IPSEC соединений. Он не содержит информации связанной с безопасностью если не используется ручное снабжение ключами (напоминаем, ручное снабжение ключами не рекомендуется из соображений безопасности).

Секции первого типа, называемые config setup, является единственным разделом содержащим полные параметры установки для IPSEC, которые применяются ко всем соединениям, и информацию используемую при запуске программного обеспечения.

Второй тип, называемый conn, содержит технические требования сетевых соединений осуществляемых при помощи IPSEC. Имя данное этому разделу произвольно, и просто используется для идентификации соединений с ipsec_auto(8) и ipsec_manual(8).

# /etc/ipsec.conf – конфигурационный файл FreeS/WAN IPSEC # Более детальные и более разнообразные примеры конфигураций могут # быть найдены в doc/examples. # Общая конфигурация config setup interfaces="ipsec0=eth0" klipsdebug=none plutodebug=none plutoload=%search plutostart=%search # образцы соединений conn deep-mail left=208.164.186.1 leftsubnet=192.168.1.0/24 leftnexthop=205.151.222.250 right=208.164.186.2 rightsubnet=192.168.1.0/24 rightnexthop=205.151.222.251 keyingtries=0 auth=ah auto=start



где:

interfaces="ipsec0=eth0"

Эта опция определяет какие соответствующие виртуальные и физические интерфейсы используются для IPSEC. Установка по умолчанию, “interfaces=%defaultroute”, будет определять ваше соединение с Интернет или с вашей корпоративной сетью. Также, вы можете именовать один или больше интерфейсов для использования с FreeS/WAN. Например:

interfaces="ipsec0=eth0"

interfaces="ipsec0=eth0 ipsec1=ppp0"

Обе строки определяют интерфейс eth0 как ipsec0. Кроме того, вторая также устанавливает поддержку IPSEC через интерфейс PPP. Если установка по умолчанию “interfaces=%defaultroute” не используется, тогда заданный интерфейс будет только один – это шлюзовая машина, которая используется для обмена информации с другим IPSEC шлюзом.

klipsdebug=none

Эта опция определяет отладочный вывод для KLIPS (ядро кода IPSEC). Значение по умолчанию - none, означающее отсутствие вывода отладочной информации, all обозначает вывод всей отладочной информации.

plutodebug=none

Это опция определяет вывод отладочной информации для демона согласования ключей Pluto. Значения принимаемые этой опцией аналогичны klipsdebug.

plutoload=%search

Эта опция определяет какие соединения (по именам) загружаются автоматически в память, когда запускается Pluto. По умолчанию – none, значение %search загружает все соединения с auto=add или auto=start.

plutostart=%search

Эта опция определяет какие соединения (по именам) устанавливаются автоматически, когда запускается Pluto. По умолчанию – none, значение %search устанавливает все соединения с auto=start.

conn deep-mail

Эта опция задает имя, выступающее идентификатором соединения, которое может быть использовано IPSEC. Хорошим решением будет именовать соединения по их конечным точкам для предотвращения ошибок. Например, связь между deep.openna.com и mail.openna.com может быть названа "deep-mail", или связь между вашими офисам в Монреале и Париже - "montreal-paris". Заметим, что имя “deep-mail” или то, что вы выбрали в качестве имени должно совпадать на обоих шлюзах. Другими словами, единственным изменением, которое вы должны сделать в файле “/etc/ipsec.conf” на втором шлюзе должно быть изменение строки “interfaces=” на соответствующий интерфейс второго шлюза, использующего IPSEC соединение, если, конечно, это отличается от первого шлюза. Например, если интерфейс eth0 используется на обоих шлюзах для IPSEC, вам не нужно изменять строку “interfaces=” на втором шлюзе. С другой стороны, если первый шлюз использует eth0, а второй eth1, то вы должны изменить строку “interfaces=” на втором шлюзе на eth1.



left=208.164.186.1

Эта опция задает IP адрес внешнего интерфейса шлюза, используемого для общения с другим шлюзом.

leftsubnet=192.168.1.0/24

Эта опция определяет IP адрес приватной подсети находящейся за шлюзом.

leftnexthop=205.151.222.250

Эта опция определяет IP адрес первого маршрутизатора в требуемом направлении или маршрутизатора провайдера.

right=208.164.186.2

Это тоже, что и “left=”, но для правого пункта назначения.

rightsubnet=192.168.1.0/24

Это тоже, что и “leftsubnet=”, но для правого пункта назначения.

rightnexthop=205.151.222.251

Это тоже, что и “leftnexthop=”, но для правого пункта назначения.

keyingtries=0

Эта опция определяет как много попыток (целое число) может быть сделано при переговорах об используемых ключах. По умолчанию равно 0 (постоянный повтор), что рекомендуется и оставить.

auth=ah

Эта опция определяет должна ли аутентификация осуществляться независимо, используя AH (Authentication Header), или включается как часть ESP (Encapsulated Security Payload) сервиса. Это предпочтительно, когда IP заголовки незащищены для предотвращения атак типа man-in-the-middle.

auto=start

Эта опция определяет должна ли быть выполнена автоматически операция запуска, когда запускается IPSEC.

ЗАМЕЧАНИЕ. Несоответствие данных в этом конфигурационном файле “ipsec.conf” будет заставлять FreeS/WAN фиксировать различные сообщения об ошибках.


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