VPN özel anahtarı nerede yaşamalı: dosya, CNG veya TPM?
Bir VPN kimliği için anahtar dosyası, dışa aktarılamayan yazılım deposu ve TPM arasında seçim yapın, sonra seçimi komutlarla ve geri alma planıyla kanıtlayın.
İki soru bir VPN özel anahtarının nereye ait olduğunu belirler: anahtar materyali ana makineden kopyalanabilir mi ve bir süreç onu klavyede kimse yokken kullanabilir mi. Bir deponun pazarlama etiketi ikisine de yanıt vermez. Yeniden başlatmadan sonra geri dönmesi gereken bir tünel arka plan süreci gözetimsiz kullanım gerektirir, bu da insanın girdiği bir PIN'e bağlı her şeyi dışlar.
Kopyalama ile kullanma arasında seçin
Kopyalama ve kullanma farklı şekillerde başarısız olur, bu yüzden onları bir değil iki gereksinim olarak ele alın. Anahtarın baytlarını okuyabilen bir saldırgan kimliği başka bir ana makineye taşır ve özgün makine bunu fark etmez. Baytları okuyamayan ama imzalama sürecine erişebilen bir saldırgan, o erişim sürdükçe kimlik doğrulamaya devam eder.
Dosyadaki bir anahtar önemsizce kopyalanabilir, bu yüzden yedeklenmesi ve geri yüklenmesi de en kolaydır. Bir yazılım anahtar deposu sınırı değil API'yi değiştirir: sağlayıcı kendi dışa aktarma çağrılarını reddeder, ama anahtarı kuran aynı yönetici bağlamının genellikle materyale başka yolları vardır. Yazılım sağlayıcısında dışa aktarılamaz olmak, desteklenen işlemler hakkında bir ifadedir, donanım duvarının kanıtı değildir. Bunu gelişigüzel kopyalamaya karşı bir yavaşlatıcı olarak görün, oturumunuzu zaten elinde tutan birine karşı koruma olarak değil.
Bir TPM veya akıllı kart imzalama işlemini donanımın içinde yürütür ve yalnızca sonucu döndürür. Bu, kopyalama yolunu kapatır ve kullanma yolunu imza isteyebilen her şeye açık bırakır.
Depoyu tünel arka plan sürecine uydurun
Arka plan süreci bunu güvenlik politikasından daha çok kısıtlar. WireGuard, bir dosyadan veya wg set girdisinden base64 özel anahtar alır ve bir sertifika deposuna yolu yoktur, bu yüzden TPM destekli bir arabirim anahtarı söz konusu değildir. OpenSSL 3'e karşı derlenen OpenVPN bir anahtarı sağlayıcı URI'si üzerinden yükleyebilir ve strongSwan, PKCS#11 desteğinin yanında bir TPM eklentisi sunar, ancak ikisi de paketinizin nasıl derlendiğine bağlıdır.
Seçilen depoya ulaşamayan bir arka plan süreci donanım sınırını süslemeye dönüştürür. Birisi anahtarı bir kez dışa aktarır, bir dosyada bırakır ve tasarımın geri kalanı sessizce o kopya üzerinde çalışır.
Yenileme eşleşmenin diğer yarısıdır ve çoğu tasarım tam orada dağılır. İlk kayıtta çalışan ama her yeniden düzenleme için konsol oturumu isteyen bir depo, bir sertifikanın uygunsuz bir saatte süresi dolduğu ilk seferde atlatılır. Geçerli anahtarın hâlâ ayları varken yeniden düzenleme yolunu test edin.
Anahtarı taşımadan önce envanterleyin
Anahtarın ne olduğunu, nerede yaşadığını değiştirmeden önce kaydedin, çünkü subject alternative names'i kaybeden bir geçiş tüneli yönlendirme hatası gibi okunan bir biçimde kırar. Sertifikayı dökün, özel anahtarın arka plan sürecinin beklediği yerde okunabilir olduğunu doğrulayın ve çiftin gerçekten eşleştiğini kontrol edin.
openssl x509 -in vpn.crt -noout -subject -ext subjectAltName
openssl pkey -in vpn.key -check -noout
openssl x509 -in vpn.crt -noout -pubkey | openssl sha256
openssl pkey -in vpn.key -pubout | openssl sha256
Son iki özet aynı olmalıdır. Değilse, arka plan süreci kurulumu tamamlar ve sonra her denemede gerçek nedene hiç yakın olmayan bir sertifika veya imza hatasıyla başarısız olur. WireGuard eşdeğeri daha kısadır, çünkü açık anahtar doğrudan özel anahtardan türetilir: wg pubkey < /etc/wireguard/wg0.key sunucunuzun zaten sakladığı eş anahtarını yazdırmalıdır.
İzinler aynı envantere aittir. stat -c '%a %U:%G' /etc/wireguard/wg0.key 600 root:root döndürmelidir ve grup veya dünya tarafından okunabilen her şey, anahtarın hiç amaçlamadığınız süreçlere zaten açık olduğu anlamına gelir.
Depoyu ve kullanma yolunu kontrol edin
Doğrulamanın üç parçası vardır ve üçüncüsü atlanır. Anahtarın seçtiğiniz depoda bulunduğunu doğrulayın, arka plan sürecinin o anahtarı yüklediğini, geride kalan bir kopyayı değil, doğrulayın ve sonra dışa aktarma eserinin yokluğunda hâlâ başladığını doğrulayın.
certutil -store -user My
certutil -csp "Microsoft Platform Crypto Provider" -key -user
certutil -verifykeys -user My
ipsec listcerts
Windows'ta ilk komut kişisel depoyu listeler ve her girdinin yanında anahtar sağlayıcısını yazdırır, ve donanım destekli görünen ama yazılım sağlayıcısında oturan bir sertifika orada ortaya çıkar. İkincisi platform kriptografi sağlayıcısının tuttuğu anahtarları listeler; sertifikası varken orada eksik olan bir VPN kimliği, özel yarının başka yerde yaşadığı anlamına gelir. Bir Linux ağ geçidinde ipsec listcerts strongSwan'ın ne yüklediğini, TPM eklentisinden gelen anahtarlar dahil bildirir. Girdi sayısına güvenmek yerine parmak izlerini veya açık anahtar karmalarını envanterle karşılaştırın.
Negatif test tasarımı kanıtlayan testtir. Dışa aktarılan anahtarı arka plan sürecinin yapılandırma dizininin dışına taşıyın, hizmeti yeniden başlatın ve günlükte hangi kimliği sunduğunu okuyun. Yine de yükselen bir tünel depoyu kullanıyordur; başarısız bir başlangıç tasarımın gerçekten bir kopya üzerinde çalıştığı anlamına gelir.
Yenilemeyi ve geri almayı yazın
Geri alma iki aile arasında keskin biçimde farklıdır ve bu fark tasarım notuna aittir, bir olay çağrısına değil. Dosyadaki bir anahtar şifreli olarak yedeklenip geri yüklenebilir, yani başarısız bir geçiş geri alınabilir. Dışa aktarılamayan bir anahtar hiç yedeklenemez, bu da cihaz öldüğünde yeniden düzenlemeyi ve yeniden kaydı tek kurtarma yolu yapar.
Süre sonunu bir kesintiye dönüşmeden kontrol edin: openssl x509 -in vpn.crt -noout -checkend 2592000 sertifika otuz gün içinde süresi dolduğunda sıfır olmayan bir kodla çıkar, yani doğrudan bir izleme kontrolüne girer. Bu satırın haftalık çalıştırılması kimsenin planlamadığı yenilemeyi yakalar.
Kaldırma sunucuda olur: eşi silin veya seri numarasını iptal edin, sonra tünelin başarısız olduğunu doğrulayın, çünkü önbelleğe alınmış oturumu olan bir istemci yarım kalmış bir iptali bir süre gizleyebilir. İptal, yalnızca CA veritabanına değil, yoğunlaştırıcının CRL veya OCSP yoluna da ulaşmalıdır. Bir sertifika kamuya açık bir belgedir ve RFC 5280 profili nasıl doğrulandığını kapsar; bu doğrulamanın hiçbir parçası rotasyondan önce kopyalanmış bir özel anahtarı korumaz.
Kararı tek bir yere yazın: hangi depo anahtarı tutuyor, hangi süreç onu kullanabilir, kim yeniden düzenleyebilir ve geri alma nedir. Denetçilerin sorduğu paragraf odur ve bir personel değişikliğinden sağ çıkan odur.