Meshnet, Docker ve aralarındaki izin
Yayımlanmış bir kapsayıcıya ulaşan bir mesh eşi, bir ana makine iznini ve bir Docker çevirisini geçer. İkisini ayrı ayrı inceleyin, yoksa yanlış kapsamı onaylarsınız.
İki URL bir eşin tarayıcısından aynı görünebilir ama güvenlik duvarı için tamamen farklı şeyler ifade edebilir. Biri ana makinenin kendisinde dinleyen bir hizmete işaret eder. Diğeri, bağlantı noktası bir kapsayıcı ağına yayımlanmış bir ana makine adresine işaret eder; orada bir çeviri adımı bağlantıyı başka bir IP'ye devreder. Yerel ağ erişimini eş başına bir izinle denetleyen eşler arası bir mesh'te bu fark, incelemenin tamamıdır.
İzin ana makinenin uç noktasıyla ilgilidir, çeviri Docker ile ilgilidir ve oturum açma uygulamayla ilgilidir. Üç karar, bakılacak üç yer.
Yayımdan sonra hedefi izleyin
Bir kapsayıcının 80 numaralı bağlantı noktasını ana makinenin 8080 numaralı bağlantı noktasında yayımlayan bir Linux Docker ana makinesi alın. Bir eş 8080 üzerinden ana makinenin mesh adresine bağlanır, ana makine bağlantıyı kabul eder ve bir hedef çevirisi bunu kapsayıcının köprü adresine, genellikle 172.17.0.2 gibi bir adrese, 80 numaralı bağlantı noktasında yeniden yazar.
Bir kural bu akışı incelediğinde, ilginç hedef ana makine değil kapsayıcıdır. Yalnızca «bu makinedeki bir hizmet» hakkında akıl yürüten bir ilke, yanlış nesne hakkında akıl yürütür. İstek ana makineye indi ama başka bir yere teslim ediliyor.
Bu nedenle mesh belgeleri Docker kapsayıcılarını Linux'ta yerel ağ izninin yönettiği kaynaklar arasında listeler. İzin, sıradan bir VPN izin listesi girdisinin eşanlamlısı değildir ve iki denetim birbirinin yerini tutmaz. Biri bir eşin yerel kaynaklara hiç ulaşıp ulaşamayacağına karar verir; diğeri tünelli bir rotanın hangi hedefleri taşıdığına karar verir.
Bir iznin ne kadar yerel erişim verdiğine karar verin
Bir eşe yerel ağ erişimi vermek tek bir kapsayıcı kararı değildir. Aynı ana makinedeki diğer yayımlanmış hizmetleri açığa çıkarabilir ve ana makinenin nasıl yönlendirdiğine bağlı olarak daha uzağa ulaşabilir. Tek bir panel için anahtarı tıklamadan önce etkin kapsamı inceleyin.
Ardından Docker'ın bağlantı noktasını nerede yayımladığına bakın. 0.0.0.0 üzerinde yayım, her ana makine adresinde bir dinleyici oluşturur ve bu, mesh girdisinin yanına sıradan bir LAN girdisi ekleyebilir. Gereksinim yalnızca mesh ise, yayımı amaçladığınız belirli adrese veya arayüze bağlayın ve daha geniş bağlamayı kolaylık değil ayrı bir bulgu olarak değerlendirin.
Ana makinenin yönlendirme ilkesini ve uygulamanın kendi kimlik doğrulamasını hizmet için yeterince dar tutun. Özel görünen bir URL erişim denetimi değildir ve köprü ağındaki her kaynağa güvenen bir kapsayıcı, mesh eşinin onaylanmış olmasıyla korunmaz. Uygulamanın kimlik doğrulaması üçüncü karardır ve kullanıcının kim olduğunu bilen tek karardır. Ana makine düzeyindeki bir izin bu bilgiyi sağlayamaz.
İzni test edin, yalnızca URL'yi değil
Onaylanmış eşten tam hizmeti açın ve çalıştığını doğrulayın. Ardından reddedilmiş kalması gereken bir hedefi deneyin ve çalışmadığını doğrulayın. Yalnızca mutlu yolu test etmek iznin verildiğini söyler; sınırın düşündüğünüz yerde olduğunu söylemez.
Ana makineye özgü bir hizmeti ayrı olarak karşılaştırın. Bir veritabanı ana makinede dinliyor ve bir panel bir kapsayıcıda çalışıyorsa, aynı izinden farklı yollar izlerler ve ana makinenin yönlendirme ilkesi tarafından aynı şekilde yönetilmeyebilirler. İnceleme notunu yazmadan önce hangisinin hangisi olduğunu kaydedin.
Erişimi «sıfırlamak» için Docker'ın tablolarını veya mesh istemcisinin kurallarını boşaltmayın. Her iki ürün de kendi ilke entegrasyonunu kurar ve bunu silmek, değerlendirmeniz istenen denetimleri atlayarak çalışıyor gibi görünen bir ana makine üretir. Bir kural yanlış görünüyorsa onu okuyun ve yalnızca o kuralı değiştirin. Bir kuralın ne yaptığını açıklayamıyorsanız bu bulgudur, onu silmek için bir neden değildir.
Bulguyu sistemin kendi terimleriyle yazın
Önemli olan ürünün gerçekte uyguladığı ayrımdır, inceleme şablonundaki değil: bir ana makine uç noktasına ulaşma izni, yönlendirilmiş özel kaynaklara ulaşma izni ve uygulamayı kullanma izni. Bir bağlantı noktası yayımlamak bu üç kararı tam oldukları yerde bırakır ve onları tek olarak ele alan bir inceleyici yanlış kapsamı onaylar.
Ana makine adresini, yayımlanan bağlantı noktasını, kapsayıcı hedefini ve eş iznini aynı cümlede belirtin. O cümle başkası tarafından test edilebilir ve onu görüş değil bulgu yapan da budur.