Я пытаюсь развернуть новую конфигурацию VPN на своем предприятии.
Я успешно установил соединение между своим компьютером и сервером vpn ipsec в режиме сертификата.
Я загрузил файл p12 в свой yubikey, который содержит мой закрытый ключ, открытый ключ сервера и ЦС.
$ pkcs11-tool --test --логин
Использование слота 0 с текущим токеном (0x0)
Вход в "uid=r.beal,dc=ldap-...".
Введите PIN-код пользователя:
C_SeedRandom() и C_GenerateRandom():
раздача (C_SeedRandom) не поддерживается
кажется, все в порядке
Дайджесты:
все 4 функции дайджеста вроде работают
MD5: ОК
ША-1: ОК
RIPEMD160: ОК
Подписи (в настоящее время только для RSA)
тестовый ключ 0 (ключ PIV AUTH)
все 4 функции подписи вроде работают
тестирование механизмов подписи:
RSA-X-509: ОК
РСА-ПККС: ОК
SHA1-RSA-PKCS: ОК
MD5-RSA-PKCS: ОК
RIPEMD160-RSA-PKCS: ОК
SHA256-RSA-PKCS: ОК
Подтвердить (в настоящее время только для RSA)
тестовый ключ 0 (ключ PIV AUTH)
RSA-X-509: ОК
РСА-ПККС: ОК
SHA1-RSA-PKCS: ОК
MD5-RSA-PKCS: ОК
RIPEMD160-RSA-PKCS: ОК
Расшифровка (в настоящее время только для RSA)
тестовый ключ 0 (ключ PIV AUTH)
RSA-X-509: ОК
РСА-ПККС: ОК
Нет ошибок
Я добавил этот раздел в файл swanctl.conf:
секреты {
tokenyubikey {
штифт = 123456
слот = 0
handle = 1 # Насколько я понял, мой ЭЛТ находится здесь
модуль = юби-модуль
}
}
И этот раздел в файле /etc/strongswan.d/charon/pkcs11.conf:
юби-модуль {
#путь = /usr/lib/libykcs11.so
путь = /usr/lib/pkcs11/opensc-pkcs11.so
}
Когда я использую модуль yubikey pkcs11:
00[CFG] В модуле PKCS11 '<имя>' отсутствует путь к библиотеке
00[CFG] загрузил библиотеку PKCS#11 v2.40 'yubi-module' (/usr/lib/libykcs11.so)
00[CFG] Yubico (www.yubico.com): библиотека PKCS#11 PIV (SP-800-73) v2.21
00[CFG] нашел токен в слоте 'yubi-module':0 (Yubico YubiKey OTP+FIDO+CCID 00 00)
00[CFG] YubiKey PIV #16616360 (Yubico (www.yubico.com): YubiKey YK5)
00[CFG] загрузил недоверенный сертификат «Сертификат X.509 для аутентификации PIV»
00[CFG] загрузил недоверенный сертификат «Сертификат X.509 для аттестации PIV»
И когда модуль использования opensc :
00[CFG] В модуле PKCS11 '<имя>' отсутствует путь к библиотеке
00[CFG] загрузил библиотеку PKCS#11 v2.20 'yubi-module' (/usr/lib/pkcs11/opensc-pkcs11.so)
00[CFG] Проект OpenSC: платформа смарт-карт OpenSC v0.22
00[CFG] нашел токен в слоте 'yubi-module':0 (Yubico YubiKey OTP+FIDO+CCID 00 00)
00[CFG] uid=r.beal,dc=ldap-.. (piv_II: эмуляция PKCS#15)
00[CFG] загружен недоверенный сертификат «Сертификат для аутентификации PIV»
Какой модуль мне следует использовать?
Когда я запускаю демон ipsec
# перезапуск ipsec --nofork
Запуск strongSwan 5.9.3 IPsec [стартер]...
00[DMN] Запуск демона IKE charon (strongSwan 5.9.3, Linux 5.14.15-arch1-1, x86_64)
00[CFG] В модуле PKCS11 '<имя>' отсутствует путь к библиотеке
00[CFG] загрузил библиотеку PKCS#11 v2.20 'yubi-module' (/usr/lib/pkcs11/opensc-pkcs11.so)
00[CFG] Проект OpenSC: платформа смарт-карт OpenSC v0.22
00[CFG] нашел токен в слоте 'yubi-module':0 (Yubico YubiKey OTP+FIDO+CCID 00 00)
00[CFG] uid=r.beal,dc=ldap-.. (piv_II: эмуляция PKCS#15)
00[CFG] загружен недоверенный сертификат «Сертификат для аутентификации PIV»
00[CFG] плагин attr-sql: URI базы данных не задан
00[NET] с использованием интерфейса прогноза wlan0
00[CFG] присоединение к многоадресным группам прогноза: 224.0.0.1,224.0.0.22,224.0.0.251,224.0.0.252,239.255.255.250
00[CFG] загрузка сертификатов ca из '/etc/ipsec.d/cacerts'
00[CFG] загрузил сертификат ca "C=FR, ST=Idf, L=City, O=company, OU=company, CN=company, [email protected]" из '/etc/ipsec.d/cacerts /ca.pem'
00[CFG] загрузка сертификатов aa из '/etc/ipsec.d/aacerts'
00[CFG] загрузка сертификатов подписанта ocsp из '/etc/ipsec.d/ocspcerts'
00[CFG] загрузка сертификатов атрибутов из '/etc/ipsec.d/acerts'
00[CFG] загрузка crls из '/etc/ipsec.d/crls'
00[CFG] загрузка секретов из '/etc/ipsec.secrets'
00[CFG] Плагин sql: URI базы данных не задан
00[CFG] не удалось открыть файл триплета /etc/ipsec.d/triplets.dat: нет такого файла или каталога
00[CFG] загружено 0 конфигураций сервера RADIUS
00[CFG] В конфигурации HA отсутствует локальный/удаленный адрес
00[CFG] скрипт для скрипта ext-auth не определен, отключен
00[LIB] загруженные плагины: charon ldap pkcs11 aesni aes des rc2 sha2 sha3 sha1 md5 mgf1 random nonce x509 ограничения отзыва pubkey pkcs1 pkcs7 pkcs8 pkcs12 pgp dnskey sshkey pem openssl fips-prf gmp curve25519 агент chapoly xchope curls mysqlbli curls nt drbc cmac hmac h sqlite attr kernel-netlink разрешить сокет-по умолчанию bypass-lan connmark прогноз Farp Stroke Vici вверх вниз eap-identity eap-sim eap-aka eap-aka-3gpp2 eap-simaka-псевдоним eap-simaka-reauth eap-md5 eap-gtc eap- mschapv2 eap-dynamic eap-radius eap-tls eap-ttls eap-peap xauth-generic xauth-eap xauth-pam xauth-noauth dhcp radattr счетчики единства
00[LIB] убрал возможности, работает как uid 0, gid 0
00[JOB] создание 16 рабочих потоков
06[IKE] установил политику обхода для 172.17.0.0/16
06[IKE] установил политику обхода для 192.168.1.0/24
06[IKE] установил политику обхода для ::1/128
06[IKE] установил политику обхода для fe80::/64
02[CFG] нашел токен в слоте 'yubi-module':0 (Yubico YubiKey OTP+FIDO+CCID 00 00)
02[CFG] uid=r.beal,dc=ldap-.. (piv_II: эмуляция PKCS#15)
02[CFG] загружен недоверенный сертификат «Сертификат для аутентификации PIV»
charon (10359) запустился через 120 мс
11[CFG] получен ход: добавить соединение 'test'
11[CFG] загруженный сертификат "C=FR, ST=Idf, L=Город, O=компания, OU=компания, CN=uid=r.beal,dc=ldap,dc=company,dc=fr, E=r [email protected]" из '/etc/swanctl/x509/r.beal.pem'
11[CFG] id 'UID=r.beal, DC=ldap, DC=company, DC=fr' не подтвержден сертификатом, по умолчанию 'C=FR, ST=Idf, L=City, O=company, OU= компания, CN=uid=r.beal,dc=ldap,dc=company,dc=fr, [email protected]'
11[CFG] добавлена конфигурация "тест"
Смарт-карта присутствует!
Теперь я пытаюсь подключиться к VPN (/etc/ipsec.conf):
конн-тест
right=1.2.3.4 <= общедоступный IP-адрес моего сервера vpn
rightid=remote_id_of_the_server
leftcert=/etc/swanctl/x509/r.beal.pem
левый идентификатор = мой_почта
слева=%defaultroute
#leftcert=%смарткарта
авто=добавить
Я поместил ЦС в /etc/ipsec.d/cacerts/
журнал ipsec:
01[CFG] получил ход: инициировать «тест»
09[IKE] инициирует тест IKE_SA[1] на 1.2.3.4
09[ENC] генерация запроса IKE_SA_INIT 0 [SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP)]
09[NET] отправка пакета: с 192.168.1.199[500] на 1.2.3.4[500] (1000 байт)
10[NET] полученный пакет: от 1.2.3.4[500] до 192.168.1.199[500] (38 байт)
10[ENC] проанализировал ответ IKE_SA_INIT 0 [ N(INVAL_KE) ]
10Узел [IKE] не принял группу DH ECP_256, он запросил MODP_2048
10[IKE] инициирует тест IKE_SA[1] на 1.2.3.4
10[ENC] генерирует запрос IKE_SA_INIT 0 [SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP)]
10[NET] отправка пакета: с 192.168.1.199[500] на 1.2.3.4[500] (1192 байта)
06[NET] полученный пакет: с 1.2.3.4[500] на 192.168.1.199[500] (481 байт)
06[ENC] проанализированный ответ IKE_SA_INIT 0 [SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(HASH_ALG) N(CHDLESS_SUP)]
06[CFG] выбранное предложение: IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048
06[IKE] локальный хост находится за NAT, отправка сообщений проверки активности
06[IKE] удаленный хост находится за NAT
06[IKE] получил запрос сертификата для "C=FR, ST=Idf, L=City, O=company, OU=company, CN=company, [email protected]"
06[IKE] отправляет запрос сертификата для "C=FR, ST=Idf, L=City, O=company, OU=company, CN=company, [email protected]"
06[IKE] не найден закрытый ключ для 'C=FR, ST=Idf, L=City, O=company, OU=company, CN=uid=r.beal,dc=ldap,dc=company,dc=fr, [email protected]'
Есть начало подключения!
Что нужно сделать, чтобы ipsec использовал закрытый ключ моей смарт-карты?
Я видел этот пост: «NO_PROPOSAL_CHOSEN» при попытке аутентификации с помощью сертификата смарт-карты с использованием swanctl
У меня такая же проблема? Я попытался скопировать все сертификаты в каталог x509, но у меня та же ошибка «закрытый ключ не найден».
РЕДАКТИРОВАТЬ ===
Теперь, когда я вызываю «swanctl --load-creds», ipsec находит закрытый ключ и использует его!
Но у меня сейчас проблема с сетью.
16 [IKE] проверка подлинности «compagny.com» с RSA_EMSA_PKCS1_SHA2_256 выполнена успешно
16[IKE] Тест IKE_SA[1] установлен между 192.168.1.199[[email protected]]...1.2.3.4[compagny.com]
16[IKE] планирование повторной аутентификации в 10059s
16[IKE] максимальное время жизни IKE_SA 10599 с
16[CFG] не удалось обработать атрибут UNITY_SPLITDNS_NAME
16[CFG] не удалось обработать атрибут INTERNAL_IP4_NETMASK
16[IKE] устанавливает DNS-сервер 172.22.0.17 в /etc/resolv.conf
16[IKE] установка нового виртуального IP 10.66.0.5
16[IKE] получил уведомление TS_UNACCEPTABLE, CHILD_SA не создан
16[IKE] не удалось установить CHILD_SA, сохраняя IKE_SA
16[IKE] получил AUTH_LIFETIME из 20 278 с, повторная аутентификация уже запланирована на 10 059 с.
Я добавил в свой файл conf:
leftsourceip=%config
Мой VPN-сервер настроен так, чтобы не направлять интернет-трафик клиента. Поэтому я думаю, что сейчас проблема с конфигурацией сети.