SSH yalnızca uzak kabuk açmaz; kurduğu şifreli bağlantının içinden başka protokolleri de taşıyabilir. Bu yetenek, yönetim işlerini kolaylaştırdığı kadar farkında olunmadan açılan kapıların da kaynağıdır.
Şifreli oturumun nasıl kurulduğu SSH nasıl çalışır yazısında; buradaki konu, o oturumun içinden ne geçirilebileceği.
Üç tür, tek cümlelik farkları
Karışıklığın tamamı adlandırmadan doğar. Ayrımı belirleyen şey, dinleyen portun hangi tarafta açıldığıdır.
Yerel yönlendirme, sizin makinenizde bir port açar. Oraya bağlanan trafik tünelden geçip uzak taraftan çıkar. Kullanımı: yalnızca sunucu ağından erişilebilen bir veritabanına kendi makinenizden bağlanmak.
Uzak yönlendirme, karşı makinede bir port açar. Oraya bağlanan trafik tünelden geri gelip sizin tarafınızdan çıkar. Kullanımı: dışarıya kapalı bir ortamdaki servisi geçici olarak erişilebilir kılmak.
Dinamik yönlendirme, yerel makinede bir vekil sunucu açar. Uygulama hangi hedefi isterse tünelden o hedefe gidilir; her hedef için ayrı tünel kurmak gerekmez.
Neden bu kadar işe yarar
Yönetimde üç somut kazanç sağlar.
Veritabanına doğrudan erişim gerekmez: yönetim aracınız yerel bir porta bağlanır, veritabanı sunucusu dışarıya hiç açılmaz. Yaklaşımın mantığı Private Endpoint mi Service Endpoint mi yazısındaki “erişimi özel yoldan ver” kararının aynısıdır.
Yönetim arayüzleri yalnızca yerel dinleyebilir. Bir web yönetim paneli ağa hiç açılmaz; ona ulaşmanın tek yolu tüneldir.
Şifresiz protokoller şifreli taşınır. Eski bir cihazın açık metin yönetim arayüzü, en azından ağ üzerinde korunur.
Ters tünel neden bir risk
Uzak yönlendirmenin tehlikeli yanı şudur: dışarıya doğru kurulan tek bir bağlantı, içeriye doğru bir yol açar.
Bir kullanıcı, iç ağdaki makinesinden internetteki bir sunucuya bağlanır ve o sunucuda bir port açar. Artık o porta bağlanan herkes, iç ağdaki servise ulaşır. Güvenlik duvarında hiçbir kural değişmemiştir; çünkü bağlantı içeriden dışarıya kurulmuştur.
Bu, kötü niyetle yapılabildiği gibi çoğu zaman iyi niyetle yapılır: “evden çalışmam gerekiyordu”. Sonuç aynıdır — envanterde görünmeyen kalıcı bir erişim yolu.
Aynı davranış uzak destek yazılımları yazısındaki dışa doğru bağlantı mantığının elle kurulmuş hâlidir.
Denetim: nasıl sınırlanır
Tünelleme sunucu tarafından yapılandırmayla kısıtlanabilir ve kısıtlanmalıdır.
Yönetim ilkeleri üç adımdır. Öntanımlı olarak kapatın — tünelleme, ihtiyacı olan hesaplarda açık olsun, herkeste değil. Kullanıcı bazında ayırın; uygulama hesaplarının kabuğa bile ihtiyacı yoktur, tünele hiç yoktur. Ters tünele izin vermeyin ya da yalnızca yerel arayüze bağlanacak biçimde sınırlayın.
Bu ayarların hangi satırlarla yapıldığını ve mevcut dosyanızda açık kalıp kalmadığını SSH sertleştirme aracı ile üretip denetleyebilirsiniz.
Bir de sık atlanan taraf vardır: aracı sunucu üzerinden zincirleme bağlanma, atlama sunucusu modelinin doğal parçasıdır ve yasaklanacak bir şey değildir. Yasaklanacak olan, denetimsiz kurulan tünellerdir; ayrım atlama sunucusu nedir yazısında.
Tespit: ortamda var mı
Kurulmuş tünelleri bulmak, kurulmalarını engellemekten zordur ama imkânsız değildir.
Üç işaret vardır. Sunucuda beklenmedik yerel portlar dinleniyorsa bakılır. Uzun süreli, düşük trafikli ve hiç kopmayan dışa bağlantılar şüphelidir. Bir de mesai dışında sürekli açık kalan SSH oturumları.
Bunların hiçbiri tek başına kanıt değildir; birlikte bir soru üretir. Sorunun sistematik biçimde sorulabilmesi için, kimin nereye bağlandığının kaydedilmesi gerekir — uzak erişimde oturum kaydı ve denetim bu tarafa bakıyor.
Alternatifi ne
Tünellemeyi tamamen kapatmak isteyen ortamlarda karşılığı vardır: yönetilen bir atlama hizmeti ya da uygulama düzeyinde erişim veren bir vekil.
Fark şudur: tünelde kullanıcı bir yol açar, uygulama vekilinde bir hizmete erişir. İkincisi denetlenebilir, süreli ve kayıtlıdır. Modelin çerçevesi sıfır güven nedir yazısında.
Tünel mi VPN mi
İkisi de şifreli bir yol açar; ayrım kapsamdadır.
VPN, cihazı ağa bağlar: yönlendirme tablosu değişir, tüm uygulamalar tüneli kullanabilir ve kullanıcı iç ağı bir bütün olarak görür.
SSH tüneli ise tek bir bağlantıyı taşır. Yalnızca belirtilen port, belirtilen hedefe gider; geri kalan trafik normal yolundan akar.
Bu yüzden tek bir sunucuya erişmek için VPN kurmak gereksiz geniş bir yetki verir. Tersine, on farklı iç servise düzenli erişmesi gereken bir kullanıcı için ayrı ayrı tünel açmak sürdürülemez. Ölçü, erişimin kalıcı ve geniş mi yoksa geçici ve dar mı olduğudur; karşılaştırmanın tamamı VPN nedir yazısında.
Kısaca
SSH tüneli üç biçimde kurulur ve farkı, dinleyen portun hangi tarafta açıldığıdır.
Yerel yönlendirme yönetimi kolaylaştırır; uzak yönlendirme ise iç ağa dışarıdan bir yol açar ve öntanımlı olarak kapalı tutulması gereken tek özelliktir. Kapalı olduğunu doğrulamadan “SSH sertleştirildi” denemez.