Yerel bir SSH yönlendirmesi TCP OpenVPN oturumunu nasıl taşır
Bir yerel bağlantı noktası, iki doğrulanmış ilişki, üç taşıma. SSH yönlendirmesinin neyi taşıdığı ve döngü ile sertifika denetimlerinin hâlâ nerede geçerli olduğu.
Burada üç taşıma katmanı üst üste yığılır ve her birinin kendi çerçevelemesi vardır. VPN yükü bir TLS oturumunun içinde gider, o TLS oturumu loopback bağlantı noktasına giden bir TCP bağlantısının içinde gider ve o bağlantının baytları SSH içinde bir relay sunucusuna gider, o da VPN dinleyicisine gerçek TCP bağlantısını açar. Bu düzenlemede hiçbir şey şunu değiştirmez: OpenVPN neyi doğrular, ve içinde hiçbir şey bir UDP dinleyicisini TCP üzerinden erişilebilir kılmaz. Geri kalanı bayt yolunun betimlemesi olarak okuyun, bir ağ denetimini atlatma tarifi olarak değil.
Yerel yönlendirme gerçekte neyi taşır
SSH istemcisi yerel bir bağlantı noktasını dinler. Yerel bir süreç bağlandığında istemci baytları şifreli kanalına paketler ve sunucu tarafı yönlendirme isteğinde adı geçen hedefe yeni bir TCP bağlantısı açar.
Bu hedefi relay çözer, sizin makineniz değil, bu yüzden yalnızca uzak ağın içinde var olan bir ad hâlâ çalışır. Bu ayrıca relayın VPN dinleyicisine ulaşabilmesi ve ona dönüş yolu olması gerektiği anlamına gelir. Dizüstü bilgisayarınızda çözülen bir ad, relayın ne görebildiği hakkında hiçbir şey söylemez.
SSH oturumunu başlatmak yalnızca relayın erişilebilir ve doğrulanmış olduğunu kanıtlar. Sonraki dinleyicinin çalışıp çalışmadığını, relay ile dinleyici arasındaki güvenlik duvarının bağlantıyı kabul edip etmediğini veya VPNin profilinizi kabul edip etmeyeceğini söylemez.
İstemciyi yerel dinleyiciye yöneltin
Bildirilen bir örnek: relay gw.internal.example:443 üzerindeki TCP dinleyicisine ulaşabilir ve yüksek bir yerel bağlantı noktası bu yolu yalnızca bu makineye açar.
ssh -N -L 127.0.0.1:24011:gw.internal.example:443 [email protected]OpenSSH kılavuzu yerel yönlendirmeyi TCP bağlantılarını yerel olarak kabul etmek ve sonraki bağlantıyı uzak taraftan açmak olarak tanımlar. Dinleyiciyi tüm arabirimler yerine loopbacke bağlayın, çünkü ağdan erişilebilen bir yönlendirme, üzerinde adınız yazan açık bir relaydır. Joker karakterli bağlama, bağlantı noktasını paylaşılan bir makinedeki diğer her yerel hesaba da açar.
Ardından VPN istemcisini TCP kipine alın ve 127.0.0.1:24011 adresine yöneltin. Profil UDP kullanıyorsa bu tasarım yardımcı olamaz: yönlendirme bir bayt akışı taşır ve içinden veri birimi yolu yoktur.
İki doğrulamayı ayrı tutun
SSH relay sunucusunu doğrular. OpenVPN hâlâ VPN eşini doğrular ve loopback hedefi bu koşulu değiştirmez. Soket artık localhostu gösterdiği için sertifika denetimlerini kapatmak bu tasarımdaki en kötü kestirmedir. Taşıma düzenini bir güven düzenine dönüştürür ve ikincisine kimse onay vermedi.
Profilin güven çapasını, sunucu rolü denetimini ve ad doğrulamasını bozulmadan koruyun. İstemciniz sunucu adını aradığı adresle karşılaştırıyorsa loopback, kapalı denetim yerine açık bir ad ayarına ihtiyaç duyabilir ve hangi alanın karşılaştırıldığını doğrulayacak yer profil belgeleridir.
Relayı güven öyküsünün ikinci tarafı olarak görün: yöneticisi bağlantı üst verilerini görebilir ve yapılandırma değişirse yönlendirmeyi başka yöne çevirebilir. Düzenleme hem relayın hem de VPN hizmet sahibinin onayını gerektirir, yalnızca bugün ihtiyaç duyanın değil.
Tünelin altında döngü kurmayın
VPN yolları kurduktan sonra bile onu taşıyan SSH bağlantısı tünelden geçmeyen bir relay yoluna ihtiyaç duyar. Varsayılan yol VPNe geçerse ve relay yalnızca aynı tünelden erişilebilirse taşıma çöker ve VPN de onunla gider. Arıza bir yönlendirme hatası gibi değil, düşmüş bir tünel gibi görünür, bu yüzden yanlış teşhis edilir.
Olağan düzeltme, tünel kalkmadan önce fiziksel arabirime sabitlenmiş relay adresine bir sunucu yolu ve yeniden bağlanmadan sonra yolun kaldığının denetlenmesidir. Sıranın doğru olduğunu varsaymak yerine relay adresi için bir yol aramasıyla doğrulayın.
Bu yığının doğrudan bağlantıdan daha yavaş ve daha kırılgan olmasını bekleyin, çünkü artık iki sıralı taşıma ve bakımı yapılacak bir uç nokta daha var. Bu bir ağ sınırını aşma yoludur, performans tekniği değil.
Bitirdiğinizde dinleyiciyi kapatın
Tünele artık ihtiyaç yoksa SSH oturumunu durdurun ve yerel bağlantı noktasının serbest bırakıldığını doğrulayın. Unutulan bir yönlendirme, paylaşılabilecek bir makinede doğrulanmış yolu açık tutar.
Relayın izin verilen yönlendirme hedeflerini de gözden geçirin, çünkü izin verici bir yapılandırma ele geçirilmiş her hesabı genel bir dayanak noktasına dönüştürür. Bağlantı noktasını, relayı ve hedefi birlikte kaydedin, böylece sonraki kişi yönlendirmenin ne için olduğunu ve hâlâ onaylı olup olmadığını bilir.