OpenVPN içinde TLS nerede durur ve şekli ne değiştirir
OpenVPN, denetim kanalı için TLS'i kendi çerçevesi içinde çalıştırır, bu yüzden ilk baytlar bir web el sıkışması değildir. Üç seçenek görüneni gerçekten değiştirir.
OpenVPN gerçekten TLS kullanır ve insanlar bunu taşıyamayacağı bir iddiaya kadar genişletir: tünelin bu yüzden bir siteyi ziyaret eden tarayıcıya benzediğine. İlk kısım doğrudur. İkincisi değildir. Buradaki TLS, OpenVPN'in kendi kabının içinde yol alan bir denetim kanalına aittir; yanında tamamen farklı bir kriptografiye sahip bir yük kanalı vardır, dolayısıyla açılış baytlarını inceleyen kişi OpenVPN görür.
Tek zarfta iki konuşma
Bir oturumu tek bir zarfı paylaşan iki konuşma olarak düşünün. Biri sertifikaları doğrular ve anahtar malzemesi türetir. Diğeri gerçekte gönderdiğinizi, birincinin ürettiğini kullanarak şifreler.
Zarf protokolün kendisidir. Her paket türünü adlandıran küçük bir başlıkla başlar ve o başlık her şeyden önce gelir.
Gerçekten önce ne gelir
Bu sıralama yüzünden tel üzerindeki ilk şey bir TLS kaydı değildir. OpenVPN'in başlığıdır, ardından başlığın duyurduğu kanalın içeriği gelir. İçinde bir ClientHello vardır, yalnızca sıfırıncı baytta değil. Farkı fark etmek için hiçbir şifre çözmeye gerek yoktur, çünkü biçim tek başına onu ele verir.
Varsayılanlar burada da önemlidir. Profil TCP seçmezse akış UDP ile 1194'e gider. Her iki durumda da dış görünüm bir tüneldir, web isteği değil.
Şekli değiştirmenin üç dürüst yolu
stunnel gibi bir TLS sonlandırıcı her iki uçta bir bağlantı noktasında TLS kabul eder ve çözülmüş akışı yerel olarak OpenVPN'e verir, böylece ağ o bağlantı noktasına TLS görür. İlk bayttan itibaren TLS olan bir protokol daha farklı davranır: ocserv'in uyguladığı AnyConnect uyumlu değiş tokuş, birçok ağın zaten beklediği kurumsal uzaktan erişime benzer. Windows ile gelen SSTP, başka bir üründe aynı özelliğe sahiptir.
Linux'ta SSH'nin -w seçeneği bir SSH oturumu içinde noktadan noktaya bağlantı taşır; bu, SSH izin verilen tek protokol olduğunda işe yarar. SSH o ağdan zaten çalışıyorsa dördün en ucuzu, çalışmıyorsa en az yararlısıdır.
Hiçbirinin değiştirmediği şey
Bunların hiçbiri tünelin neye ulaşabileceğini değiştirmez. Engellenen bir adresi erişilebilir yapmazlar, kimseyi doğrulamazlar ve rotaları belirlemezler.
Bir sarmalayıcı size bir bileşene de mal olur. İki dinleyici ve iki yapılandırma dosyası iki arıza noktası demektir ve ikisi de kullanıcının yerinden aynı görünür. Birini benimsemeden önce bunu bütçeleyin. Oturum tek bir hedefe tek uzun ömürlü şifreli akış olarak kalır; hacmi ve zamanlaması görünür kalır.
Önce teşhis, sonra seçim
Yani önce teşhis edin. Düşürülen UDP'ye TCP kipi yanıt verir, tanınan bir imzaya ise başka bir protokol veya sarmalayıcı yanıt verir. Engeli bilmeden araç seçmek, insanların sonunda hepsi aynı nedenle başarısız olan üç katmanı sürdürmesine yol açar.
Yalnızca web bağlantı noktalarına izin veren bir ağ, seçimi 443'te TLS tabanlı bir protokole daraltır. Üçünü birden uygulamak kimsenin hata ayıklayamayacağı bir yığın verir, bu yüzden bir şeyi değiştirin ve aynı akışı yeniden test edin.
Hiçbiri geçerli değilse doğru yanıt, bu ağın sizin için tünel taşımayacağıdır. Bu bir bulgudur, çabanın başarısızlığı değil. Daha fazla seçenek denemek yukarıda alınmış bir politika kararını tersine çevirmez.
Bütün bunların önünde bir sınır vardır. Başka birinin ağında tünel çalıştırma izni bir politika konusudur ve mekanizmanın çalışıp çalışmadığından ayrı kararlaştırılır. Bu olgular bir gözlemcinin ne gördüğünü açıklar ve izin vermez.