Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

  1. Включить поддержку токенов в strongSwan.
    Для этого в файле /etc/strongswan.d/charon/pkcs11.conf в секции блоке modules указать пути до интерфейсных библиотек используемых токенов:
    Блок кода
    pkcs11 {
    
        # Whether to load the plugin. Can also be an integer to increase the
        # priority of this plugin.
        load = yes
    
        ...
    
        # List of available PKCS#11 modules.
        modules {
            <название_модуля_1> {
                path = <путь_к_интерфейсной_библиотеке_токена_1>
            }
             <название_модуля_2> {
                path = <путь_к_интерфейсной_библиотеке_токена_2>
            } 
        }
    }
    Например, для токенов: Рутокен ЭЦП и Аладдин (закомментирован)  – файл /etc/strongswan.d/charon/pkcs11.conf может выглядеть так:
    Блок кода
    pkcs11 {
      load = yes
    
      modules {
        rutoken {
          path = /usr/lib/librtpkcs11ecp.so
        }
    #    aladdin { 
    #      path = /usr/lib/libjcPKCS11-2.so
    #    }
      }
    }
  2. Настроить strongSwan на использование закрытого ключа клиента, который находится на токене.
    Для этого указать в файле /etc/ipsec.secrets строку с описанием токена и закрытого ключа:
    Блок кода
    : PIN <токен_и_закрытый_ключ> <pin-код>
    или
    Блок кода
    : PIN <токен_и_закрытый_ключ> %prompt
    где
      - <токен_и_закрытый_ключ> – задаётся по формату: %smartcard[<номер_слота_с_токеном>[@<название_модуля>]]:<идентификатор_ключевой_пары>
                                                                       где
                                                                         - <название_модуля> – название модуля в файле /etc/strongswan.d/charon/pkcs11.conf, в котором указана интерфейсная библиотека для работы с токеном;
                                                                         - <идентификатор_ключевой_пары> – идентификатор, с которым закрытый ключ записан на токен.
                                                                       Например:
    %smartcard0@rutoken:45
      - <pin-код> – пользовательский pin-код токена для доступа к объектам на токене;
      - %prompt – если указать эту опцию, то strongSwan запросит ввести pin-код в командной строке (порядок ввода pin-кода описан ниже).
                                Это более безопасный вариант, при котором в файле /etc/ipsec.secrets не хранится pin-код токена.

    Пример файла /etc/ipsec.secrets для вышеприведённого Рутокена с указанием pin-кода:
    Блок кода
    : PIN %smartcard0@rutoken:45 12345678
    Пример файла /etc/ipsec.secrets для вышеприведённого Рутокена, при котором strongSwan запросит ввести pin-код:
    Блок кода
    : PIN %smartcard0@rutoken:45 %prompt
  3. Перезапустить strongSwan для применения настроек:
    Command

    sudo ipsec restart

  4. Если в файле /etc/ipsec.secrets указана опция %prompt, то после каждого запуска (перезапуска) strongSwan необходимо вручную вводить pin-код токена. 
    Для этого выполнить команду:
    Command
    sudo ipsec rereadsecrets
    Появится приглашение для ввода pin-кода:
    Блок кода
    Login to '%smartcard0@rutoken:45' required
    PIN:
    Ввести пользовательский pin-код токена, нажать клавишу <ENTER>.
    Выполнить команду, чтобы strongSwan перезагрузил настройки и установил соединение с VPN-сервером:
    Command

    sudo ipsec reload

...

  1. Исключить таблицу маршрутизации 101 из используемых strongSwan-клиентом.
    Для этого создать файл (если он не создан) /etc/strongswan.d/charon-nm.conf и добавить в него блок параметровпараметр в блоке charon-nm:
    Блок кода
    charon-nm {
    
        ignore_routing_tables = 101
    
    }
  2. Перезагрузить операционную систему.

...

На компьютере пользователя включить :

  1. Включить поддержку токенов для NetworkManager

...

  1. .
    Создать Для этого создать файл (если он не создан) /etc/strongswan.d/charon-nm.conf и добавить в него блок параметров, содержащих путь до интерфейсной библиотеки используемого токена:
    Блок кода
    charon-nm {
    
        plugins {
            pkcs11 {
                modules {
                    <название_модуля_1> {
                        path = <путь_к_интерфейсной_библиотеке_токена_1>
                    }
                }
            }
        }
    
    }
    Например, для Рутокена ЭЦП файл /etc/strongswan.d/charon-nm.conf может выглядеть так:
    Блок кода
    charon-nm {
    
        plugins {
            pkcs11 {
                modules {
                    rutoken {
                        path = /usr/lib/librtpkcs11ecp.so
                    }
                }
            }
        }
    
    }
  2. Перезагрузить операционную систему.
  3. Настроить в аплете NetworkManager соединение VPN IPSec:
    set-1.jpg
    set-2.jpg
  4. Отключить уведомления в аплете NetworkManager уведомления.
  5. Запустить на клиенте через NM созданное VPN соединение. Должны появиться уведомление об успехев аплете NetworkManager настроенное VPN-соединение. 
    Появится уведомление об успешном соединении:
    notify-success.jpg
    Также появится сообщение об успехе успешном соединении в журнале системных событий:
    notify-log-success.jpg