Ölmüş bir Windows bilgisayarından WireGuard tünellerini kurtarmak
Profiller, oluşturuldukları hesaba ve makineye bağlı DPAPI veri bloklarıdır. Dosyayı yeni bir bilgisayara kopyalamak, yerel anahtarın açamayacağı baytlarla kalmanız demektir.
Üç WireGuard tüneli yapılandırılmış bir dizüstü bilgisayar arızalanır ve yapılandırma dosyaları hâlâ diskte durur. Bunları yedek bir makineye kopyalamak, başlayan ama bir türlü ayağa kalkmayan bir hizmet ortaya çıkarır. Dosyalar, onları oluşturan hesaba ve makineye ait bir anahtarla korunur; dolayısıyla baytlar taşınır ama okunma yeteneği taşınmaz. Aşağıdaki anlatım, dosyayı bulmaktan hizmeti gerçekten geri getiren seçeneğe kadar uzanır.
Tünel dosyası artık nerede duruyor
Depolama, sürümler arasında yer değiştirdi. Eski kurulumlar profilleri sistem profilinin yerel uygulama verilerinde bir WireGuard\Configurations klasörü altında tutuyordu; güncel derlemeler ise program dosyaları ağacının içindeki bir veri dizinini kullanıyor. Her tünel, korumayı adlandıran çift uzantılı tek bir dosyadır:
Get-ChildItem "C:\Program Files\WireGuard\Data\Configurations"
.dpapi soneki süs değildir. Dosya korumalı bir veri bloğudur ve hizmet tam olarak bu biçimde tüketmek üzere tasarlanmıştır. Ondan bir tünel kurmanın desteklenen yolu, veri bloğunu işaret eden yükseltilmiş bir çağrıdır:
$blob = "C:\Program Files\WireGuard\Data\Configurations\hq.conf.dpapi"
wireguard.exe /installtunnelservice $blob
Bu komut yalnızca veri bloğunun sargısını açabilen bağlamda başarılı olur. Bir hizmet kurar; sizin için hiçbir şeyin şifresini çözmez.
Veri bloğu neden başka yerde açılmaz
Koruma, anahtarını kullanıcının oturum açma kimlik bilgilerinden ve seçilen kapsama bağlı olarak makineden türetir. Microsoft'un bu koruma çağrısına ilişkin belgeleri, varsayılanın onu şifreleyen kullanıcıya ve makineye ait olduğunu, makine genelindeki bir seçeneğin ise sargıyı kimin açabileceğini değiştirdiğini söyler. Her iki durumda da anahtar dosyanın içinde değil, işletim sisteminin kimlik bilgisi malzemesinde yaşar. Şifreli metin taşınabilir; anahtar değil.
Klasörün sahipliğini almak yalnızca bir ACL'yi değiştirir, başka hiçbir şeyi değiştirmez. Eski diski bir kutuya takıp veri bloğunu yeni bir bilgisayara kopyalamak, anahtarı hiç kopyalanmamış bir şifreli metinle kalmanıza yol açar. Bu, kriptografik bir başarısızlıktır ve hizmeti kaç kez yeniden kurarsanız kurun değişmez. Yeni makinenin o hesap için ana anahtarı yoktur ve eski anahtar deposu dosyayla birlikte taşınmaz.
Ayarları gizlenmiş bir dosyada saklayan ürünler bu karşıtlığı netleştirir. Sadece gizlenmiş bir yapılandırma, gizlemeyi devre dışı bırakan bayrağı bulduğunuzda okunabilir hâle gelir; korumalı bir veri bloğu ise anahtar olmadan kapalı kalır. İkisini karıştırmak, insanları var olmayan bir çözücü aramaya iter.
Eski sistem hâlâ açılırken ne denemeli
Kurulum hâlâ başlıyorsa, tünelleri oluşturan hesapla oturum açmışken istemciden dışa aktarın. Dışa aktarma sıradan yapılandırma dosyaları üretir ve yedeğin taşınabilir hâle geldiği nokta tam olarak burasıdır.
Disk okunabiliyor ama Windows açılmıyorsa, korumalı dosyalar fiilen kaybolmuştur. Bunları kurtarmayı vaat eden araçlar ya artık sahip olmadığınız özgün bağlamda çalışıyordur ya da sizden veri bloğunu ve eski disk imajınızı teslim etmenizi istiyordur; bu, üzerinde durmaya değer bir karardır.
Her iki durumda da öğrendiklerinizi kaydedin: tünel adlarını, uç noktaları ve ortak anahtarları. Adlar ve uç noktalar hızlıca yeniden kurmanızı sağlar, ortak anahtarlar ise eş tarafın hangi girdinin kaldırılacağını belirlemesine yarar.
Bunun yerine eş tarafından yeniden kurun
Kontrolünüzdeki bir eş için yeni bir anahtar çifti üretin ve yeni ortak anahtarı eş listesine ekleyin. Kurumsal ya da barındırılan bir uç nokta için yöneticiden yeni bir anahtar vermesini ve eskisini kaldırmasını isteyin. Bu istek, hırsızlıktan sonra yapacağınız isteğin aynısıdır; çünkü kayıp bir disk, eski özel anahtarın açığa çıkmış sayılması gerektiği anlamına gelir.
Ardından tüneli kaydettiğiniz değerlerden yeniden kurun ve başka bir şeyi silmeden önce el sıkışmanın gerçekleştiğini doğrulayın. Eş üzerindeki eski girdi aynı değişiklikte kaybolmalıdır, böylece çalınan bir disk sonradan yeniden bağlanamaz.
Ders, bir kurtarma aracından çok yedekleme politikasına aittir. Bir WireGuard yapılandırması bir kimlik bilgisidir: özel anahtarı elinde tutan herkes eşin kimliğini de tutar ve arada ikinci bir parola yoktur. Ya yapılandırmayı bilinçli olarak dışa aktarıp diğer sırlarınızla birlikte saklayın ya da kurtarmanın anahtarların yeniden verilmesi anlamına geldiğini kabul edin ve her tünel için hangi seçeneğin geçerli olduğunu yazın.