...
- Cisco ASA (в нашем случае будет использована виртуальная машина ASAv, эмулирующая его работу).
- Сервер с УЦ (в нашем случае будет использован WIndows Server с установленным и настроенным на нем Active Directory Certificate Services).
- Клиент для подключения к сети VPN (в нашем случае это будет AnyConnect на Windows и OpenConnect на Linux).
Настройка УЦ
Для начала настроим наш УЦ, который расположен у нас на Windows Server. Чтобы развернуть УЦ необходимо через "Server Manager" поставить "Active Directory Certificate Services". Для этого:
...
Если соединение было установлено, то все шаги были произведены верно:
Настройка клиента VPN на Linux
В первую очередь установим все необходимое программное обеспечение. Для этого скачайте библиотеку PKCS#11 для Rutoken отсюда и установите недостающие пакеты:
Code Block | ||||
---|---|---|---|---|
| ||||
sudo apt-get update
sudo apt-get install opensc openconnect libengine-pkcs11-openssl gnutls-bin |
Сгенерируем новую ключевую пару на токене и заявку на сертификат для нее:
Code Block | ||||
---|---|---|---|---|
| ||||
pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --id 42 --keypairgen --key-type rsa:2048 -l
openssl
OpenSSL> engine dynamic -pre SO_PATH:/usr/lib/x86_64-linux-gnu/engines-1.1/libpkcs11.so -pre ID:pkcs11 -pre LIST_ADD:1 -pre LOAD -pre MODULE_PATH:/usr/lib/librtpkcs11ecp.so
OpenSSL> req -engine pkcs11 -new -key 0:42 -keyform engine -out client.req -outform PEM -subj "/CN=client2" |
Импортируем полученную заявку на токен:
Code Block | ||||
---|---|---|---|---|
| ||||
pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -l -y cert -w client.cer --id 42 |
Настроим p11tool, чтобы он мог видеть Рутокен и проверим, что токен распознается.
Code Block | ||||
---|---|---|---|---|
| ||||
sudo sh -c "echo 'module:/usr/lib/librtpkcs11ecp.so' > /usr/share/p11-kit/modules/opensc.module"
p11tool --list-tokens |
Вывод должен быть таким:
Запоминаем URL Рутокена и узнаем путь до сертификатов на нем:
Code Block | ||||
---|---|---|---|---|
| ||||
p11tool —list-all-certs "pkcs11:model=Rutoken%20ECP;manufacturer=Aktiv%20Co.;serial=363441ca;token=Rutoken%20ECP%20%3cno%20label%3e" |
Вывод должен быть таким:
Данный URL нужно использовать, чтобы указать путь для сертификата для OpenConnect
Code Block | ||||
---|---|---|---|---|
| ||||
sudo openconnect -c "pkcs11:model=Rutoken%20ECP;manufacturer=Aktiv%20Co.;serial=363441ca;token=Rutoken%20ECP%20%3cno%20label%3e;id=%42;type=cert" 192.168.92.22 |
Запустите отдельное окно с командной строкой и посмотрите, создался ли интерфейс tun0, если он создался, то настройка прошла успешно:
Настройка закончена.