Tôi đang cố gắng triển khai cấu hình VPN mới trong doanh nghiệp của mình.
Tôi đã thiết lập thành công kết nối giữa máy tính của mình và máy chủ vpn ipsec ở chế độ chứng chỉ.
Tôi đã tải lên tệp p12 trong ybikey chứa khóa riêng của tôi, khóa pub của máy chủ và CA.
$ pkcs11-tool --test --login
Sử dụng vị trí 0 với mã thông báo hiện tại (0x0)
Đăng nhập vào "uid=r.beal,dc=ldap-...".
Vui lòng nhập mã PIN người dùng:
C_SeedRandom() và C_GenerateRandom():
gieo hạt (C_SeedRandom) không được hỗ trợ
Dường như ok
tiêu hóa:
tất cả 4 chức năng tiêu hóa dường như hoạt động
MĐ5: Được
SHA-1: Được rồi
RIPEMD160: Được rồi
Chữ ký (hiện chỉ dành cho RSA)
khóa kiểm tra 0 (khóa PIV AUTH)
tất cả 4 chức năng chữ ký dường như hoạt động
kiểm tra cơ chế chữ ký:
RSA-X-509: Được
RSA-PKCS: OK
SHA1-RSA-PKCS: Được
MD5-RSA-PKCS: Được
RIPEMD160-RSA-PKCS: OK
SHA256-RSA-PKCS: OK
Xác minh (hiện chỉ dành cho RSA)
khóa kiểm tra 0 (khóa PIV AUTH)
RSA-X-509: Được
RSA-PKCS: OK
SHA1-RSA-PKCS: Được
MD5-RSA-PKCS: Được
RIPEMD160-RSA-PKCS: OK
Giải mã (hiện chỉ dành cho RSA)
khóa kiểm tra 0 (khóa PIV AUTH)
RSA-X-509: Được
RSA-PKCS: OK
Không có lỗi
Tôi đã thêm phần này vào tập tin swanctl.conf:
bí mật {
tokenyubikey {
ghim = 123456
khe = 0
handle = 1 # Theo những gì tôi hiểu, crt của tôi ở đây
mô-đun = yubi-mô-đun
}
}
Và phần này trong file /etc/strongswan.d/charon/pkcs11.conf:
mô-đun yubi {
#path = /usr/lib/libykcs11.so
đường dẫn = /usr/lib/pkcs11/opensc-pkcs11.so
}
Khi tôi sử dụng mô-đun ybikey pkcs11:
00[CFG] mô-đun PKCS11 '<name>' thiếu đường dẫn thư viện
00[CFG] đã tải thư viện PKCS#11 v2.40 'yubi-module' (/usr/lib/libykcs11.so)
00[CFG] Yubico (www.yubico.com): Thư viện PKCS#11 PIV (SP-800-73) v2.21
00[CFG] đã tìm thấy mã thông báo trong vị trí 'yubi-module':0 (Yubico YubiKey OTP+FIDO+CCID 00 00)
00[CFG] YubiKey PIV #16616360 (Yubico (www.yubico.com): YubiKey YK5)
00[CFG] đã tải chứng chỉ không đáng tin cậy 'Chứng chỉ X.509 cho Xác thực PIV'
00[CFG] đã tải chứng chỉ không đáng tin cậy 'Chứng chỉ X.509 cho Chứng thực PIV'
Và khi sử dụng mô-đun là opensc :
00[CFG] mô-đun PKCS11 '<name>' thiếu đường dẫn thư viện
00[CFG] đã tải thư viện PKCS#11 v2.20 'yubi-module' (/usr/lib/pkcs11/opensc-pkcs11.so)
00[CFG] Dự án OpenSC: Khung thẻ thông minh OpenSC v0.22
00[CFG] đã tìm thấy mã thông báo trong vị trí 'yubi-module':0 (Yubico YubiKey OTP+FIDO+CCID 00 00)
00[CFG] uid=r.beal,dc=ldap-.. (piv_II: PKCS#15 mô phỏng)
00[CFG] đã tải chứng chỉ không đáng tin cậy 'Chứng chỉ xác thực PIV'
Tôi nên sử dụng mô-đun nào?
Khi tôi chạy daemon ipsec
# khởi động lại ipsec --nofork
Khởi động StrongSwan 5.9.3 IPsec [khởi động]...
00[DMN] Khởi động IKE charon daemon (strongSwan 5.9.3, Linux 5.14.15-arch1-1, x86_64)
00[CFG] mô-đun PKCS11 '<name>' thiếu đường dẫn thư viện
00[CFG] đã tải thư viện PKCS#11 v2.20 'yubi-module' (/usr/lib/pkcs11/opensc-pkcs11.so)
00[CFG] Dự án OpenSC: Khung thẻ thông minh OpenSC v0.22
00[CFG] đã tìm thấy mã thông báo trong vị trí 'yubi-module':0 (Yubico YubiKey OTP+FIDO+CCID 00 00)
00[CFG] uid=r.beal,dc=ldap-.. (piv_II: PKCS#15 mô phỏng)
00[CFG] đã tải chứng chỉ không đáng tin cậy 'Chứng chỉ xác thực PIV'
00[CFG] plugin attr-sql: URI cơ sở dữ liệu chưa được đặt
00[NET] sử dụng giao diện dự báo wlan0
00[CFG] tham gia các nhóm phát đa hướng dự báo: 224.0.0.1,224.0.0.22,224.0.0.251,224.0.0.252,239.255.255.250
00[CFG] đang tải chứng chỉ ca từ '/etc/ipsec.d/cacerts'
00[CFG] đã tải chứng chỉ ca "C=FR, ST=Idf, L=City, O=company, OU=company, CN=company, [email protected]" từ '/etc/ipsec.d/cacerts /ca.pem'
00[CFG] đang tải chứng chỉ aa từ '/etc/ipsec.d/aacerts'
00[CFG] đang tải chứng chỉ người ký ocsp từ '/etc/ipsec.d/ocspcerts'
00[CFG] đang tải chứng chỉ thuộc tính từ '/etc/ipsec.d/acerts'
00[CFG] đang tải crl từ '/etc/ipsec.d/crls'
00[CFG] tải bí mật từ '/etc/ipsec.secrets'
00[CFG] plugin sql: URI cơ sở dữ liệu chưa được đặt
00[CFG] mở tệp bộ ba /etc/ipsec.d/triplets.dat không thành công: Không có tệp hoặc thư mục như vậy
00[CFG] đã tải 0 cấu hình máy chủ RADIUS
00[CFG] Cấu hình HA bỏ lỡ địa chỉ cục bộ/từ xa
00[CFG] không có tập lệnh nào cho tập lệnh ext-auth được xác định, đã tắt
00[LIB] plugin đã tải: charon ldap pkcs11 aesni aes des rc2 sha2 sha3 sha1 md5 mgf1 nonce ngẫu nhiên x509 ràng buộc thu hồi pubkey pkcs1 pkcs7 pkcs8 pkcs12 pgp dnskey sshkey pem openssl fips-prf Bliss gmp Curve25519 agent chapoly xcbc cmac hmac ntru drbg mysql new sqlite attr kernel-netlink giải quyết socket-default bypass-lan connmark dự báo farp stroke vici updown eap-identity eap-sim eap-aka eap-aka-3gpp2 eap-simaka-pseudonym 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 bộ đếm thống nhất dhcp radattr
00[LIB] giảm khả năng, chạy dưới dạng uid 0, gid 0
00[JOB] sinh ra 16 worker thread
06[IKE] đã cài đặt chính sách bỏ qua cho 172.17.0.0/16
06[IKE] đã cài đặt chính sách bỏ qua cho 192.168.1.0/24
06[IKE] đã cài đặt chính sách bỏ qua cho ::1/128
06[IKE] đã cài đặt chính sách bỏ qua cho fe80::/64
02[CFG] đã tìm thấy mã thông báo trong vị trí 'yubi-module':0 (Yubico YubiKey OTP+FIDO+CCID 00 00)
02[CFG] uid=r.beal,dc=ldap-.. (piv_II: PKCS#15 mô phỏng)
02[CFG] đã tải chứng chỉ không đáng tin cậy 'Chứng chỉ xác thực PIV'
charon (10359) bắt đầu sau 120 ms
11[CFG] nhận đột quỵ: thêm kết nối 'kiểm tra'
11[CFG] đã tải chứng chỉ "C=FR, ST=Idf, L=City, O=company, OU=company, CN=uid=r.beal,dc=ldap,dc=company,dc=fr, E=r [email protected]" từ '/etc/swanctl/x509/r.beal.pem'
11[CFG] id 'UID=r.beal, DC=ldap, DC=company, DC=fr' không được chứng nhận xác nhận, mặc định là 'C=FR, ST=Idf, L=City, O=company, OU= công ty, CN=uid=r.beal,dc=ldap,dc=company,dc=fr, [email protected]'
11[CFG] đã thêm cấu hình 'thử nghiệm'
Thẻ thông minh đã có mặt!
Bây giờ tôi đang cố gắng kết nối với VPN (/etc/ipsec.conf):
kiểm tra kết nối
right=1.2.3.4 <= ip công khai của máy chủ vpn của tôi
rightid=remote_id_of_the_server
leftcert=/etc/swanctl/x509/r.beal.pem
leftid=my_mail
left=%defaultroute
#leftcert=%thẻ thông minh
auto=thêm
Tôi đặt CA vào /etc/ipsec.d/cacerts/
nhật ký ipsec:
01[CFG] nhận đột quỵ: bắt đầu 'kiểm tra'
09[IKE] bắt đầu thử nghiệm IKE_SA[1] lên 1.2.3.4
09[ENC] tạo yêu cầu IKE_SA_INIT 0 [ SA KE Không N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]
09[NET] gửi gói: từ 192.168.1.199[500] đến 1.2.3.4[500] (1000 byte)
10[NET] gói đã nhận: từ 1.2.3.4[500] đến 192.168.1.199[500] (38 byte)
10[ENC] đã phân tích phản hồi IKE_SA_INIT 0 [ N(INVAL_KE) ]
10[IKE] ngang hàng không chấp nhận nhóm DH ECP_256, nó đã yêu cầu MODP_2048
10[IKE] bắt đầu thử nghiệm IKE_SA[1] đến 1.2.3.4
10[ENC] tạo yêu cầu IKE_SA_INIT 0 [ SA KE Không N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]
10[NET] gửi gói: từ 192.168.1.199[500] đến 1.2.3.4[500] (1192 byte)
06[NET] gói đã nhận: từ 1.2.3.4[500] đến 192.168.1.199[500] (481 byte)
06[ENC] đã phân tích cú pháp phản hồi IKE_SA_INIT 0 [ SA KE Không N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(HASH_ALG) N(CHDLESS_SUP) ]
06[CFG] đề xuất đã chọn: IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048
06[IKE] máy chủ cục bộ đứng sau NAT, đang gửi các bản cập nhật liên tục
06[IKE] máy chủ từ xa đứng sau NAT
06[IKE] đã nhận được yêu cầu chứng chỉ cho "C=FR, ST=Idf, L=City, O=company, OU=company, CN=company, [email protected]"
06[IKE] gửi yêu cầu chứng chỉ cho "C=FR, ST=Idf, L=City, O=company, OU=company, CN=company, [email protected]"
06[IKE] không tìm thấy khóa riêng cho 'C=FR, ST=Idf, L=City, O=company, OU=company, CN=uid=r.beal,dc=ldap,dc=company,dc=fr, [email protected]'
Có một sự khởi đầu của kết nối!
Tôi nên làm gì để ipsec sử dụng khóa riêng bên trong thẻ thông minh của mình?
Tôi thấy bài này: "NO_PROPOSAL_CHOSEN" khi cố gắng xác thực bằng chứng chỉ từ thẻ thông minh bằng Swanctl
Tôi có cùng một vấn đề không? Tôi đã cố sao chép tất cả các chứng chỉ trong thư mục x509 nhưng tôi cũng gặp lỗi tương tự 'không tìm thấy khóa riêng'.
CHỈNH SỬA ===
Bây giờ khi tôi gọi "swanctl --load-creds" ipsec sẽ tìm khóa riêng và sử dụng nó!
Nhưng bây giờ tôi có một vấn đề mạng.
16[IKE] xác thực 'compagny.com' với RSA_EMSA_PKCS1_SHA2_256 thành công
16[IKE] Thử nghiệm IKE_SA[1] được thiết lập từ 192.168.1.199[[email protected]]...1.2.3.4[compagny.com]
16[IKE] lên lịch xác thực lại trong 10059s
16[IKE] vòng đời IKE_SA tối đa 10599 giây
16[CFG] xử lý thuộc tính UNITY_SPLITDNS_NAME không thành công
16[CFG] xử lý thuộc tính INTERNAL_IP4_NETMASK không thành công
16[IKE] cài đặt máy chủ DNS 172.22.0.17 vào /etc/resolv.conf
16[IKE] cài IP ảo mới 10.66.0.5
16[IKE] đã nhận được thông báo TS_UNACCCEPTABLE, không có CHILD_SA nào được tạo
16[IKE] không thiết lập được CHILD_SA, giữ nguyên IKE_SA
16[IKE] đã nhận được AUTH_LIFETIME sau 20278 giây, quá trình xác thực lại đã được lên lịch sau 10059 giây
Tôi đã thêm vào tệp conf của mình:
leftsourceip=%config
Máy chủ VPN của tôi được định cấu hình để không định tuyến lưu lượng truy cập internet của máy khách. Vì vậy, tôi nghĩ rằng đó là một vấn đề cấu hình mạng bây giờ.