接続構成
Windows 端末から NAT 配下のサーバにアクセスするため、SSL/TLS VPN の Cisco AnyConnect 互換ソフトウェアの OpenConnect-GUI VPN Client を用いて同一の LAN セグメントに接続する。また、スプリットトンネルを使用して Cisco IOS Router 配下のその他の LAN セグメントに対する疎通を可能にする。(OpenConnect-GUI VPN Client によるルーティング追加)その他のインターネット通信は Windows 端末の既存 GW 経由での通信となる。
Cisco IOS ルータで使用する SSL サーバ証明書はプライベート認証局 (CA) で署名・発行する。発行したサーバ証明書 (RSA 公開鍵) 、および RSA 秘密鍵とプライベート認証局 (CA) の証明書 (RSA 公開鍵) をルータにインポートして利用する。
VPN 接続時の認証は User/Password 認証とする。
【OpenConnect-GUI VPN Client のダウンロード】
接続端末 | Windows 10 |
SSL/TLS VPN Client | OpenConnect-GUI VPN Client (AnyConnect互換) |
スプリットトンネル | 192.168.0.0/24 192.168.10.0/24 192.168.20.0/24 |
CA | プライベート認証局 (CA) |
サーバ証明書 | プライベート CA で署名されたサーバ証明書 |
サーバ証明書の秘密鍵 | RSA 2048bit (PKCS#1 3DES) |
認証方式 | User/Password 認証 |
OpenSSL の使用環境
プライベート認証局 (CA) の OpenSSL は以下の環境のものを使用する。
作成ディレクトリ | /etc/pki/CA |
設定ファイル | /etc/pki/tls/openssl.cnf |
OpenSSL バージョン | 1.1.1k |
OS | Red Hat Enterprise Linux 8.7 |
証明書の発行
CA 証明書
秘密鍵のフォーマット | PKCS#1 (OpenSSL 1 系の標準) |
サブジェクト DN | O=Private Lab, CN=Private Root CA 01 |
X.509 エンコーディング形式 | PEM (Base64) |
プライベート認証局 (CA) の証明書発行は【プライベート認証局 (CA) の構築 (OpenSSL)】を参照。
サーバ 証明書
有効期限 | 約2年 (730日) |
RSA 暗号の鍵長 | 2,048bit (約617桁 log2 x 2048) |
秘密鍵のフォーマット | PKCS#1 (OpenSSL 1 系の標準) |
秘密鍵の暗号化 | 3DES |
サブジェクト DN | CN=cisco.vm.lab |
シリアル番号 | 自動生成 |
シリアル番号情報ファイル | /etc/pki/CA/serial |
X.509 エンコーディング形式 | PEM (Base64) |
X.509v3 拡張設定ファイル | cisco_ext.txt |
基本制約 | 重要【critical】 CA:FALSE |
鍵用途 | 重要【critical】 digitalSignature, keyEncipherment, keyAgreement |
拡張鍵用途 | serverAuth |
サブジェクトの別名 (SAN) | 【DNS】cisco.vm.lab 【IP】10.0.0.254 |
上記のサーバ証明書を発行する。この時、秘密鍵のフォーマットを【PKCS#1 の 3DES暗号化】形式にする。サブジェクトの別名を使用してマルチドメイン用の証明書を発行する。
※Cisco IOS 15 系では RSA 秘密鍵をインポートする際に【PKCS#1 の 3DES 暗号化】及び鍵長が【2048 bit】である必要がある。(PKCS#12 形式でも可)
# mkdir /etc/pki/CA/server/private
# cd /etc/pki/CA/server
# openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out ./private/cisco_pkcs8.pem
.....................................................++++
.................................................................................................................................................................++++
# cat ./private/cisco_pkcs8.pem (PKCS#8 形式の秘密鍵)
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgk... (略)
-----END PRIVATE KEY-----
# openssl pkey -traditional -des3 -in private/cisco_key.pem -out private/cisco_pkcs1_3des.pem
Enter PEM pass phrase: ******
Verifying - Enter PEM pass phrase: ******
# cat ./private/cisco_pkcs1_3des.pem (PKCS#1 形式の3DES暗号化された秘密鍵)
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,4B4A44DC8454A1A7
LL/RMulPGsquVeUSA... (略)
-----END RSA PRIVATE KEY-----
# openssl rsa -in ./private/cisco_pkcs1_3des.pem | openssl asn1parse -i
Enter pass phrase for ./private/cisco_pkcs1_3des.pem: ******
writing RSA key
0:d=0 hl=4 l=1187 cons: SEQUENCE
4:d=1 hl=2 l= 1 prim: INTEGER :00
7:d=1 hl=4 l= 257 prim: INTEGER :C15639323555277E9EB12... (略)
268:d=1 hl=2 l= 3 prim: INTEGER :010001
273:d=1 hl=4 l= 256 prim: INTEGER :2230221B1BCD3C17AAEE3... (略)
533:d=1 hl=3 l= 129 prim: INTEGER :E1803B29D32381ABE7FF6... (略)
665:d=1 hl=3 l= 129 prim: INTEGER :DB7C56D089CE593CF6A9D... (略)
797:d=1 hl=3 l= 128 prim: INTEGER :26B832F0728D953564478... (略)
928:d=1 hl=3 l= 128 prim: INTEGER :61B6FC8B811E9DFA1732C... (略)
1059:d=1 hl=3 l= 129 prim: INTEGER :A76CA02AA4F48BBE35529... (略)
サブジェクトの別名 (SAN) 等々、サーバ証明書に応じた個別設定の X.509v3 拡張設定ファイルを作成する。【keyEncipherment, keyAgreement】のいずれかが無いと OpenConnect 接続時ログに警告が表示される。【Peer’s certificate does not allow encryption. Key usage violation detected (ignored).】
# vi ./cisco_ext.txt
================================ cisco_ext.txt ===============================
basicConstraints = critical, CA:FALSE
keyUsage = critical, digitalSignature, keyEncipherment, keyAgreement
extendedKeyUsage = serverAuth
subjectAltName = DNS:cisco.vm.lab, IP:10.0.0.254
==============================================================================
署名リクエスト (CSR) を作成する。作成した CSR ファイルより、サブジェクト DN 、及び RSA 暗号鍵長が正しいことを確認する。
# openssl req -new -key ./private/cisco_pkcs1_3des.pem -out cisco_csr.pem -subj "/CN=cisco.vm.lab"
Enter pass phrase for ./private/cisco_pkcs1_3des.pem:
# openssl req -text -in cisco_csr.pem
Certificate Request:
Data:
Version: 1 (0x0)
Subject: CN = cisco.vm.lab
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public-Key: (2048 bit)
Modulus:
00:c1:56:39:32:35:55... (略)
Exponent: 65537 (0x10001)
Attributes:
a0:00
Signature Algorithm: sha256WithRSAEncryption
3d:3c:db:6d:f7:91:db:b4... (略)
-----BEGIN CERTIFICATE REQUEST-----
MIICXDCCAUQCAQAwFzEVMBM... (略)
-----END CERTIFICATE REQUEST-----
署名リクエスト (CSR) をプライベート認証局 (CA) で署名することで、サーバ証明書を発行する。
# openssl ca -create_serial -days 730 -in cisco_csr.pem -extfile cisco_ext.txt
Using configuration from /etc/pki/tls/openssl.cnf
Enter pass phrase for /etc/pki/CA/private/cakey.pem: ******
Check that the request matches the signature
Signature ok
Certificate Details:
Serial Number:
04:25:bd:31:51:c7:c8:5b:86:0d:d2:e1:92:64:8b:1f:a5:dc:b0:07
Validity
Not Before: May 14 05:46:57 2023 GMT
Not After : May 13 05:46:57 2025 GMT
Subject:
commonName = cisco.vm.lab
X509v3 extensions:
X509v3 Basic Constraints: critical
CA:FALSE
X509v3 Key Usage: critical
Digital Signature, Key Encipherment, Key Agreement
X509v3 Extended Key Usage:
TLS Web Server Authentication
X509v3 Subject Alternative Name:
DNS:cisco.vm.lab, IP Address:10.0.0.254
Certificate is to be certified until May 13 05:46:57 2025 GMT (730 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
04:25:bd:31:51:c7:c8:5b:86:0d:d2:e1:92:64:8b:1f:a5:dc:b0:07
Signature Algorithm: sha256WithRSAEncryption
Issuer: O=Private Lab, CN=Private Root CA 01
Validity
Not Before: May 14 05:46:57 2023 GMT
Not After : May 13 05:46:57 2025 GMT
Subject: CN=cisco.vm.lab
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public-Key: (2048 bit)
Modulus:
00:c1:56:39:32:35:55... (略)
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints: critical
CA:FALSE
X509v3 Key Usage: critical
Digital Signature, Key Encipherment, Key Agreement
X509v3 Extended Key Usage:
TLS Web Server Authentication
X509v3 Subject Alternative Name:
DNS:cisco.vm.lab, IP Address:10.0.0.254
Signature Algorithm: sha256WithRSAEncryption
5a:56:29:5f:b4:a0:1c:c7... (略)
-----BEGIN CERTIFICATE-----
MIIELDCCAhSgAwIBAgIUBCW9... (略)
-----END CERTIFICATE-----
Data Base Updated
# copy ../newcerts/0425BD3151C7C85B860DD2E192648B1FA5DCB007.pem cisco_crt.pem
Cisco IOS Router にインポートするために、プライベート認証局 (CA) の証明書、サーバ証明書、RSAの公開鍵・秘密鍵をそれぞれテキスト形式で準備する。RSA の公開鍵は以下の手順にて取り出し可能。
※RSA 公開鍵の取り出し (RSA 秘密鍵からの取り出し)
# openssl rsa -in ./private/cisco_pkcs1_3des.pem -pubout -out cisco_pubkey.pem
Enter pass phrase for private/cisco_pkcs1_3des.pem: *****
writing RSA key
※RSA 公開鍵の取り出し (X509 証明書からの取り出し)
# openssl x509 -noout -in cisco_crt.pem -pubkey -out cisco_pubkey.pem
# cat cisco_pubkey.pem
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQ... (略)
-----END PUBLIC KEY-----
PKCS#12 形式でインポートする場合は、CAの証明書、サーバ証明書、RSA秘密鍵を統合して PKCS#12 形式に変換する。
※ PKCS#12 形式に変換する場合
# openssl pkcs12 -export -in cisco_crt.pem -inkey ./private/cisco_pkcs1_3des.pem -certfile ../cacert.pem -out cisco-chain.pfx
Enter pass phrase for private/cisco_pkcs1_3des.pem: ******
Enter Export Password: ******
Verifying - Enter Export Password: ******
# openssl pkcs12 -info -in cisco-chain.pfx
Enter Import Password: ******
MAC: sha1, Iteration 2048
MAC length: 20, salt length: 8
PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048
Certificate bag
Bag Attributes
localKeyID: ED 3F E3 F6 D3 DB 70 B6 95 D3 04 3B EB DD 58 7C AF 45 BB B1
subject=CN = cisco.vm.lab
issuer=O = Private Lab, CN = Private Root CA 01
-----BEGIN CERTIFICATE-----
MIIELDCCAhSgAwIBAgIUB... (略)
-----END CERTIFICATE-----
Certificate bag
Bag Attributes: <No Attributes>
subject=O = Private Lab, CN = Private Root CA 01
issuer=O = Private Lab, CN = Private Root CA 01
-----BEGIN CERTIFICATE-----
MIIFVzCCAz+gAwIBAgIUS... (略)
-----END CERTIFICATE-----
PKCS7 Data
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048
Bag Attributes
localKeyID: ED 3F E3 F6 D3 DB 70 B6 95 D3 04 3B EB DD 58 7C AF 45 BB B1
Key Attributes: <No Attributes>
Enter PEM pass phrase: ******
Verifying - Enter PEM pass phrase: ******
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFHDBOBgkqhkiG9w0BB... (略)
-----END ENCRYPTED PRIVATE KEY-----
CA 証明書 | 【cacert.pem】 |
サーバ証明書 (PEM) | 【cisco_crt.pem】 |
RSA 秘密鍵 (サーバ証明書用) | 【cisco_pkcs1_3des.pem】 |
RSA 公開鍵 (サーバ証明書用) | 【cisco_pubkey.pem】 |
サーバ証明書チェーン (PKCS#12) | 【cisco-chain.pfx】 |
Cisco IOS (15 系) のコンフィグ例
Cisco IOS に RSA 公開鍵・秘密鍵のインポート (terminal 入力)
Cisco IOS Router にRSA 公開鍵・秘密鍵をインポートする。インポートの際には RSA 秘密鍵のパスワードを入力する。
※RSA 秘密鍵は鍵長 2048bit、 PKCS#1 の 3DES 暗号化形式であること。
Router# configure terminal
Router(config)# crypto key import rsa RSA_CISCO signature terminal ******
% Enter PEM-formatted public Signature key or certificate.
% End with a blank line or "quit" on a line by itself.
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEF... (略) RSA 公開鍵【cisco_pubkey.pem】
-----END PUBLIC KEY-----
% Enter PEM-formatted encrypted private Signature key.
% End with "quit" on a line by itself.
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,4B4A44DC8454A1A7
LL/RMulPGsquVeUSA2xeX9C... (略) RSA 秘密鍵【cisco_pkcs1_3des.pem】
-----END RSA PRIVATE KEY-----
quit
% Key pair import succeeded.
Router(config)# do show crypto key mypubkey rsa
... (略)
% Key pair was generated at: 15:43:56 JST May 14 2023
Key name: RSA_CISCO
Key type: RSA KEYS
Storage Device: not specified
Usage: Signature Key
Key is not exportable.
Key Data:
30820122 300D0609 2A864886 ... (略)
Cisco IOS に CA 証明書、サーバ証明書のインポート (terminal 入力)
初めにトラストポイントを定義し、先ほどインポートした RSA キーペアを指定する。その後 CA の証明書をインポートし、続けてサーバ証明書をインポートする。
Router(config)# crypto pki trustpoint private_ca
Router(ca-trustpoint)# enrollment terminal
Router(ca-trustpoint)# rsakeypair RSA_CISCO
Router(ca-trustpoint)# exit
Router(config)# crypto pki authenticate private_ca
Enter the base 64 encoded CA certificate.
End with a blank line or the word "quit" on a line by itself
-----BEGIN CERTIFICATE-----
MIIFVzCCAz+gAwIBAgIUSpcJwCZL... (略) CA 証明書【cacert.pem】
-----END CERTIFICATE-----
quit
Certificate has the following attributes:
Fingerprint MD5: 3C4F7B0D 4AEA3B2D C247F350 C3B4BDD6
Fingerprint SHA1: A152B6D6 CBA1396D 94357610 23EBFB49 01AEC49B
% Do you accept this certificate? [yes/no]: yes
Trustpoint CA certificate accepted.
% Certificate successfully imported
Router(config)#do show crypto pki certificates verbose
CA Certificate
Status: Available
Version: 3
Certificate Serial Number (hex): 4A9709C0264BAFADDC36F6AB4E6CBB663C8D1A20
Certificate Usage: Signature
Issuer:
cn=Private Root CA 01
o=Private Lab
Subject:
cn=Private Root CA 01
o=Private Lab
Validity Date:
start date: 17:42:03 JST Mar 21 2023
end date: 11:13:47 JST Feb 8 1907
Subject Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (4096 bit)
Signature Algorithm: SHA256 with RSA Encryption
Fingerprint MD5: 3C4F7B0D 4AEA3B2D C247F350 C3B4BDD6
Fingerprint SHA1: A152B6D6 CBA1396D 94357610 23EBFB49 01AEC49B
X509v3 extensions:
X509v3 Key Usage: 6000000
Key Cert Sign
CRL Signature
X509v3 Subject Key ID: 4DA08A4C 5B7C4736 142673CB E697D689 74DE0514
X509v3 Basic Constraints:
CA: TRUE
X509v3 Authority Key ID: 4DA08A4C 5B7C4736 142673CB E697D689 74DE0514
Authority Info Access:
Associated Trustpoints: private_ca
Router(config)# do show crypt key pubkey-chain rsa
Codes: M - Manually configured, C - Extracted from certificate
Code Usage IP-Address/VRF Keyring Name
C Signing default cn=Private Root CA 01,o=Private Lab
Router(config)# do show crypt key pubkey-chain rsa name "cn=Private Root CA 01,o=Private Lab"
Key name: cn=Private Root CA 01,o=Private Lab
Subject name(X.500 DN name): cn=Private Root CA 01
o=Private Lab
Key id: 16
Serial number: 4A9709C0264BAFADDC36F6AB4E6CBB663C8D1A20
Usage: Signature Key
Source: Certificate
Data:
30820222 300D0609 2A864886 ... (略)
Router(config)# crypto pki import private_ca certificate
Enter the base 64 encoded certificate.
End with a blank line or the word "quit" on a line by itself
-----BEGIN CERTIFICATE-----
MIIELDCCAhSgAwIBAgIUBCW9MVH... (略) サーバ証明書【cisco_crt.pem】
-----END CERTIFICATE-----
% Router Certificate successfully imported
Router(config)# do show crypto pki certificates verbose
Certificate
Status: Available
Version: 3
Certificate Serial Number (hex): 0425BD3151C7C85B860DD2E192648B1FA5DCB007
Certificate Usage: General Purpose
Issuer:
cn=Private Root CA 01
o=Private Lab
Subject:
Name: cisco.vm.lab
IP Address: 10.0.0.254
cn=cisco.vm.lab
Validity Date:
start date: 14:46:57 JST May 14 2023
end date: 14:46:57 JST May 13 2025
Subject Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (2048 bit)
Signature Algorithm: SHA256 with RSA Encryption
Fingerprint MD5: 7643CE21 A71DE89E 5C957FA6 5CD8A7CD
Fingerprint SHA1: ED3FE3F6 D3DB70B6 95D3043B EBDD587C AF45BBB1
X509v3 extensions:
X509v3 Key Usage: 80000000
Digital Signature
Key Encipherment
Key Agreement
X509v3 Basic Constraints:
CA: FALSE
X509v3 Subject Alternative Name:
cisco.vm.lab
10.0.0.254
Authority Info Access:
Extended Key Usage:
Server Auth
Associated Trustpoints: private_ca
Key Label: RSA_CISCO
CA Certificate
Status: Available
Version: 3
Certificate Serial Number (hex): 4A9709C0264BAFADDC36F6AB4E6CBB663C8D1A20
Certificate Usage: Signature
Issuer:
cn=Private Root CA 01
o=Private Lab
Subject:
cn=Private Root CA 01
o=Private Lab
Validity Date:
start date: 17:42:03 JST Mar 21 2023
end date: 11:13:47 JST Feb 8 1907
Subject Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (4096 bit)
Signature Algorithm: SHA256 with RSA Encryption
Fingerprint MD5: 3C4F7B0D 4AEA3B2D C247F350 C3B4BDD6
Fingerprint SHA1: A152B6D6 CBA1396D 94357610 23EBFB49 01AEC49B
X509v3 extensions:
X509v3 Key Usage: 6000000
Key Cert Sign
CRL Signature
X509v3 Subject Key ID: 4DA08A4C 5B7C4736 142673CB E697D689 74DE0514
X509v3 Basic Constraints:
CA: TRUE
X509v3 Authority Key ID: 4DA08A4C 5B7C4736 142673CB E697D689 74DE0514
Authority Info Access:
Associated Trustpoints: private_ca
Cisco IOS に CA 証明書、サーバ証明書、 RSA 共有鍵・秘密鍵の一括インポート (PKCS#12)
PKCS#12 ファイル【cisco-chain.pfx】により、一括でインポートする場合は以下の通り。この場合は RSA キーペアのラベル名が指定した TrustPoint 【private_ca】と同じになることに注意する。
※事前に【TFTPd64】等でTFTPサーバを立ち上げてファイルの転送を可能にしておく。
Router# configure terminal
Router(config)# crypto pki import private_ca pkcs12 tftp: password ******
% Importing pkcs12...
Address or name of remote host []? 10.0.0.1
Source filename [private_ca]? cisco-chain.pfx
Reading file from tftp://10.0.0.1/cisco-chain.pfx
Loading cisco-chain.pfx from 10.0.0.1 (via Vlan100): !
[OK - 4093 bytes]
CRYPTO_PKI: Imported PKCS12 file successfully.
Router(config)# do show crypto key mypubkey rsa
% Key pair was generated at: 05:31:04 JST May 14 2023
Key name: private_ca
Key type: RSA KEYS
Storage Device: not specified
Usage: General Purpose Key
Key is not exportable.
Key Data:
30820122 300D0609 2A864886 ... (略)
Cisco IOS の SSL VPN 設定 (User/Password 認証)
SSL-VPN の設定を投入する。 VPN 接続時の認証はローカルにて (User/Password 認証)を行う。
以下は主に関連する設定を抜粋。
Router(config)# aaa new-model
Router(config)# aaa authentication login SSLVPN_AAA local
Router(config)# username user01 secret password123
Router(config)# interface Loopback0
Router(config-if)# ip address 10.10.0.1 255.255.255.255
Router(config-if)# exit
Router(config)# interface Virtual-Template1
Router(config-if)# ip unnumbered Loopback0
Router(config-if)# exit
Router(config)# ip local pool SSLVPN_POOL 192.168.0.224 192.168.0.239
Router(config)# access-list 10 permit 192.168.10.0 0.0.0.255
Router(config)# access-list 10 permit 192.168.20.0 0.0.0.255
Router(config)# webvpn gateway SSLVPN_GW
Router(config-webvpn-gateway)# ip address 10.0.0.254 port 443
Router(config-webvpn-gateway)# ssl trustpoint private_ca
Router(config-webvpn-gateway)# inservice
Router(config-webvpn-gateway)# exit
Router(config)# webvpn context SSLVPN_CONTEXT
Router(config-webvpn-context)# virtual-template 1
Router(config-webvpn-context)# aaa authentication list SSLVPN_AAA
Router(config-webvpn-context)# gateway SSLVPN_GW
Router(config-webvpn-context)# ssl authenticate verify all
Router(config-webvpn-context)# inservice
Router(config-webvpn-context)#
Router(config-webvpn-context)# policy group SSLVPN_POLICY
Router(config-webvpn-group)# functions svc-enabled
Router(config-webvpn-group)# timeout idle 7200
Router(config-webvpn-group)# svc address-pool "SSLVPN_POOL" netmask 255.255.255.0
Router(config-webvpn-group)# svc split include acl 10
Router(config-webvpn-group)# default-group-policy SSLVPN_POLICY
Router(config-webvpn-context)# exit
以下、全体の設定表示(抜粋)
aaa new-model
aaa authentication login SSLVPN_AAA local
!
crypto pki trustpoint private_ca
enrollment terminal
revocation-check crl
rsakeypair RSA_CISCO
!
crypto pki certificate chain private_ca
certificate 0425BD3151C7C85B860DD2E192648B1FA5DCB007
3082042C 30820214 A0030201 ... (略)
quit
certificate ca 4A9709C0264BAFADDC36F6AB4E6CBB663C8D1A20
30820557 3082033F A0030201 ... (略)
quit
!
username user01 secret password123
!
vlan 10,20,30,100
!
interface Loopback0
ip address 10.10.0.1 255.255.255.255
!
interface FastEthernet0
description WAN
switchport access vlan 100
no ip address
!
interface FastEthernet1
description LAN
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 10,20,30
switchport mode trunk
no ip address
!
interface Virtual-Template1
ip unnumbered Loopback0
!
interface Vlan10
ip address 192.168.0.254 255.255.255.0
ip nat inside
ip virtual-reassembly in
!
interface Vlan20
ip address 192.168.10.254 255.255.255.0
ip nat inside
ip virtual-reassembly in
!
interface Vlan30
ip address 192.168.20.254 255.255.255.0
ip nat inside
ip virtual-reassembly in
!
interface Vlan100
ip address 10.0.0.254 255.255.255.0
ip nat outside
ip virtual-reassembly in
ip ospf priority 10
ip ospf 1 area 0.0.0.0
!
router ospf 1
!
ip local pool SSLVPN_POOL 192.168.0.224 192.168.0.239
no ip http secure-server
!
ip nat inside source list 1 interface Vlan100 overload
access-list 1 permit 192.168.0.0 0.0.31.255
access-list 10 permit 192.168.10.0 0.0.0.255
access-list 10 permit 192.168.20.0 0.0.0.255
webvpn gateway SSLVPN_GW
ip address 10.0.0.254 port 443
ssl trustpoint private_ca
inservice
!
webvpn context SSLVPN_CONTEXT
virtual-template 1
aaa authentication list SSLVPN_AAA
gateway SSLVPN_GW
!
ssl authenticate verify all
inservice
!
policy group SSLVPN_POLICY
functions svc-enabled
timeout idle 7200
svc address-pool "SSLVPN_POOL" netmask 255.255.255.0
svc split include acl 10
default-group-policy SSLVPN_POLICY
!
end
Windows 端末からの SSL/TLS VPN 接続 (User/Password 認証)
VPN 接続先の名前解決ができること。できない場合は、 hosts ファイルを編集する。
Windows 端末にプライベート認証局 (CA) をインポート
サーバ証明書がプライベート認証局 (CA) で発行された証明書であるため、VPN 接続する際に表示されるサーバ証明書が信頼されず、警告が表示される。そのため、 CA の証明書を信頼されたルート証明書としてインポートする。
設定方法は【Windows 端末にプライベート認証局 (CA) をインポート】を参照
OpenConnect-GUI VPN Client の接続
OpenConnect-GUI VPN Client を起動し、【New profile (advanced)】を選択する。以下のように適切に入力し【Save】する。パスワードは接続時にプロンプトが表示される。
Gateway | https://cisco.vm.lab/ |
Username | user01 |
VPN protocol | Cisco AnyConnect |
【参考URL】
Public Key Infrastructure Configuration Guide, Cisco IOS Release 15MT
CSM-SSL, can’t import certificate
リモート アクセス SSL VPN(Cisco AnyConnect)を設定する
AnyConnect により、CLIを使用したCisco IOSルータヘッドエンドの基本的なSSL VPNの設定
Key usage extensions and extended key usage