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

Ключ

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

...

Общая статья по работе с токенами: Ключевые носители (токены) PKCS в Astra Linux.




Настройка сети

На сервере серверном и клиентеклиентском узлах:

  1. Разрешить пересылку сетевых пакетов:
    Command

    cat << EOF | sudo tee /etc/sysctl.d/10-net-forward.conf >/dev/null
    net.ipv4.ip_forward=1
    net.ipv6.conf.all.forwarding=1
    net.ipv4.conf.all.accept_redirects = 0
    net.ipv4.conf.all.send_redirects = 0
    net.ipv6.conf.all.accept_redirects = 0
    net.ipv6.conf.all.send_redirects = 0
    EOF
    sudo sysctl --system

...

  1. Установить программы для работы с сертификатами:
    Command

    sudo apt install strongswan strongswan-pki libtss2-tcti-tabrmd0

  2. Создать для удостоверяющего центра закрытый ключ ca.key.pem и самоподписанный сертификат ca.cert.pem:
    Command

    pki --gen --size 4096 --type rsa --outform pem \
      | sudo tee /etc/ipsec.d/private/ca.key.pem

    sudo pki --self --ca --in /etc/ipsec.d/private/ca.key.pem --type rsa --dn "CN=CA" --lifetime 3650 --outform pem \
      | sudo tee /etc/ipsec.d/cacerts/ca.cert.pem

  3. Создать для сервера закрытый ключ server.key.pem и сертификат server.cert.pem:
    Command

    pki --gen --size 4096 --type rsa --outform pem \
      | sudo tee /etc/ipsec.d/private/server.key.pem

    sudo pki --pub --in /etc/ipsec.d/private/server.key.pem --type rsa \
      | sudo pki --issue --lifetime 3650 --cacert /etc/ipsec.d/cacerts/ca.cert.pem --cakey /etc/ipsec.d/private/ca.key.pem \
          --dn "CN=<IP-адрес_сервера>" --san "<IP-адрес_сервера>" --flag serverAuth --flag ikeIntermediate --outform pem \
      | sudo tee /etc/ipsec.d/certs/server.cert.pem

    где <IP-адрес_сервера> – IP-адрес strongSwan-сервера.

  4. Создать для клиента закрытый ключ client.key.pem и сертификат client.cert.pem:
    Command

    pki --gen --size 4096 --type rsa --outform pem \
      | sudo tee /etc/ipsec.d/private/client.key.pem

    sudo pki --pub --in /etc/ipsec.d/private/client.key.pem --type rsa \
      | sudo pki --issue --lifetime 3650 --cacert /etc/ipsec.d/cacerts/ca.cert.pem --cakey /etc/ipsec.d/private/ca.key.pem \
          --dn "CN=<IP-адрес_клиента>" --san "<IP-адрес_клиента>" --flag clientAuth --flag ikeIntermediate --outform pem \
      | sudo tee /etc/ipsec.d/certs/client.cert.pem

    где <IP-адрес_клиента> – IP-адрес strongSwan-клиента.

Настройка VPN-сервера

На сервересерверном узле:

  1. Установить пакеты с strongSwan:
    Command

    sudo apt install strongswan libstrongswan-extra-plugins

  2. Если УЦ был создан на сервере с помощью команд из раздела "Создание удостоверяющего центра и сертификатов", то сертификаты уже расположены в нужном месте, и этот пункт не надо выполнять.
    Скопировать из УЦ на сервер:
      - в каталог /etc/ipsec.d/cacerts/ – скопировать сертификат УЦ ca.cert.pem;
      - в каталог /etc/ipsec.d/certs/ – скопировать сертификат сервера server.cert.pem ;
      - в каталог /etc/ipsec.d/private/ – скопировать закрытый ключ сервера server.key.pem.
  3. Настроить strongSwan-сервер на использование закрытого ключа сервера.
    Для этого в файле /etc/ipsec.secrets указать строку с путём до закрытого ключа сервера:
    Блок кода
    : RSA "/etc/ipsec.d/private/server.key.pem"
  4. Задать настройки strongSwan-сервера в файле /etc/ipsec.conf:
    Блок кода
    config setup
            #charondebug="all"
            charondebug= ike 4, cfg 2
    ##         uniqueids=no
    conn server
            type=tunnel
            auto=add
            keyexchange=ikev2
            ike=aes256-sha1-modp1024!
            esp=aes256-sha1!
    
    #        left=${MY_HOST_IP}
        left=%any
            leftid=${MY_HOST_IP}
            leftcert=server.cert.pem
    # # #  leftsubnet=10.1.1.0/24
            leftauth=pubkey
    #    leftsendcert=always
    
            rightsourceip=10.1.1.0/24
            rightauth=pubkey
            right=%any
            rightid=%any
    #    rightdns=8.8.8.8,8.8.4.4
    #    rightsendcert=always
    
            keyingtries=%forever
            ikelifetime=28800s
            lifetime=3600s
    #        dpddelay=30s
            dpdtimeout=120s
    #        dpdaction=restart
    
        forceencaps=yes
        dpdaction=clear
        dpddelay=300s
        rekey=no
    
        eap_identity=%identity
    где <IP-адрес_сервера> – IP-адрес strongSwan-сервера
    <Подсеть_виртуальных_IP-адресов_для_клиентов> – . Например, 10.1.1.0/24
  5. Перезапустить strongSwan-сервер для применения настроек:
    Command

    sudo ipsec restart

...

Настройка strongSwan-клиента

На клиентском узле:

  1. Установить пакеты с strongSwan:
Command

sudo apt install strongswan libstrongswan-extra-plugins

...