Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 17 Следующий »

Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8).

Введение

strongSwan – это программное обеспечение для создания виртуальной частной сети (VPN) на основе IPsec-протокола. Домашняя страница ПО: https://strongswan.org/.


Используется двухфакторная аутентификации пользователя:

  • первый фактор – пара: открытый ключ (сертификат) и закрытый ключ;
  • второй фактор – токен, принадлежащий пользователю. Сертификат и закрытый ключ пользователя хранятся на токене.


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

Предварительная настройка

На сервере и клиентском узле настроить маршрутизацию пакетов, задав значения параметрам в файле /etc/sysctl.conf:

# Uncomment the next line to enable packet forwarding for IPv4
#net.ipv4.ip_forward=1
net.ipv4.ip_forward=1

# Uncomment the next line to enable packet forwarding for IPv6
#  Enabling this option disables Stateless Address Autoconfiguration
#  based on Router Advertisements for this host
#net.ipv6.conf.all.forwarding=1
net.ipv6.conf.all.forwarding=1

# Do not accept ICMP redirects (prevent MITM attacks)
#net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.accept_redirects=0

# Do not send ICMP redirects (we are not a router)
#net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.all.send_redirects=0

Применить заданные параметрами настройки:

sudo sysctl -p


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

sudo apt install strongswan libstrongswan-extra-plugins libtss2-tcti-tabrmd0


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

Сгенерировать сертификаты на сервере:

Установить пакеты для создания сертификатов:

sudo apt install strongswan-pki libtss2-tcti-tabrmd0

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

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

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

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

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

sudo ipsec pki --pub --in /etc/ipsec.d/private/server.key.pem --type rsa
  | sudo ipsec 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-адрес_сервера>" --san="<IP-адрес_сервера>" \
    --flag serverAuth --flag ikeIntermediate --outform pem \
  | sudo tee /etc/ipsec.d/certs/server.cert.pem

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

Примечание: параметр --san в последней команде надо действительно указывать дважды, это не ошибка !



Настроить strongSwan-сервер, разместив в файле /etc/ipsec.conf:

config setup
        charondebug="all"
        strictcrlpolicy=no
        uniqueids=yes
conn server
        type=tunnel
        auto=start
        keyexchange=ikev2
        authby=pubkey
        left=<server static IP address>
        leftcert=server.cert.pem
        ike=aes256-sha1-modp1024!
        esp=aes256-sha1!
        aggressive=no
        keyingtries=%forever
        ikelifetime=28800s
        lifetime=3600s
        dpddelay=30s
        dpdtimeout=120s
        dpdaction=restart
        rightsourceip=<virtual IP subnet for clients>


(Настроить доступ по сертикату на сервере) указать местоположение закрытого ключа strongSwan-сервера в файле /etc/ipsec.secrets:

: RSA "/etc/ipsec.d/private/server.key.pem"




Перезапустить strongSwan-сервер для применения настроек:

sudo systemctl restart ipsec

 (sudo ipsec restart)



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

Предполагается, что по статье настроен: Единый доступ к ключевым носителям разных производителей.



  • Нет меток