Nebula deniz feneri filtreleri ile güvenlik duvarı: her biri neyi engeller
Deniz feneri izin listeleri, bir eşin hangi alt katman uç noktalarını duyurduğunu veya denediğini seçer. Güvenlik duvarı kuralları el sıkışmadan sonra overlay içindeki trafiği yönetir.
Nebula el sıkışmasına yanlış uçtan bakın ve iki mekanizma birbirinin yerine geçebilir görünür. Biri bir düğümün deniz fenerine hangi adresleri bildirdiğini ve hangi uzak adresleri deneyeceğini belirler; diğeri tünel var olduktan sonra neyin geçebileceğini belirler. Bir filtre, herhangi bir güvenlik duvarı kuralı değerlendirilmeden önce bir bağlantıyı durdurabilir ve bir güvenlik duvarı kuralı, keşfin kaldırdığı bir uç noktayı yeniden canlandıramaz. İki katman farklı soruları yanıtlar ve hangi sırayla işledikleri anahtardır.
Tek bir bağlantıyı dört aşamada izleyin: duyurulan yerel adres, değerlendirilen uzak uç nokta, el sıkışma ve overlay trafiği. Her aşamanın kendi yapılandırması ve kendi arıza imzası vardır.
Düğümün duyurduğu yerel adresten başlayın
local_allow_list bu ana makinenin yerel adreslerini deniz fenerlerine bildirilmeden önce filtreler. Girdiler adres aralıkları olabilir ve yapılandırma arayüz adı kalıplarını da destekler. Bu, ana makinede eş uç noktası olmaması gereken konteyner köprüleri veya ek tünel arayüzleri olduğunda yararlıdır.
Ana makinenin arayüzlerini gezip uzak bir eşin gerçekten hangilerine ulaşabileceğini sorun. Bir Docker köprü adresi o ana makineye özeldir ve başka bir ağdaki eş için işe yaramaz. Onu duyurmak keşfi boşa harcar ve bir eşi asla yanıt vermeyen bir adrese gönderebilir. Bir eşin yönlendiremediği her şey deniz fenerinin yanıtındaki gürültüdür.
Burada dar bir izin listesi geniş bir engel listesinden daha güvenlidir. Yalnızca izin girdileri varsa, belirtilmemiş geri kalan dışlanır; sonradan bir engel girdisi eklemek varsayılan mantığı değiştirir ve kendi incelemesini gerektirir. Bu değişiklik varsayılana ikinci bir bakışı hak eder.
Ardından uzak uç nokta seçimini izleyin
remote_allow_list bu ana makinenin el sıkışma sırasında uzak bir eş için değerlendireceği adresleri filtreler. Alt katman adresine uygulanır, eşin tünel kalktıktan sonra kullanacağı overlay adresine değil.
Özel bir aralık paylaşılan bir ofis ağında tamamen kullanışlı olabilir ve iki ana makine de 10.0.0.0/8 kullanan ilgisiz ağlarda oturduğunda anlamsızlaşır. Filtre, yönlendirilebilir yolu tercih etmenize ve tesadüfü yok saymanıza olanak tanır.
Bir eş bağlanamadığında, denenmekte olan adresi onunla eşleşen kuralla karşılaştırın. El sıkışma günlüklerini açın ve seçilen uzak adresi okuyun; günlük satırı filtrelemeden sağ çıkan uç noktayı adlandırır, bu da eşin sahip olduğu adres listesinden daha yararlıdır.
Duyuran taraftaki bir arayüz adı filtresi, uç noktayı alan taraf onu görmeden önce kaldırabilir. Yalnızca tek yön başarısız olduğunda iki düğümü de denetleyin.
El sıkışmadan sonra overlay erişim kuralları geçerlidir
Nebula güvenlik duvarı kuralları overlay içinde, tünel kurulduktan sonra çalışır. Ana makineleri, grupları, bağlantı noktalarını ve protokolleri eşleştirir ve bir paketin yerel ana makineye girip çıkamayacağına karar verir. Alt katmanda bir uç nokta seçmezler.
Bu ayrım yaygın bir yanlış tanıyı açıklar. Bir operatör bir bağlantı noktası için güvenlik duvarı kuralı ekler ve yine de bağlanamaz, çünkü deniz feneri filtresi ulaşılabilen tek uç noktayı kaldırmıştır. Başka bir operatör adres filtresini açar ve yine de hizmete ulaşamaz, çünkü overlay güvenlik duvarı bağlantı noktasını reddeder.
Arızayı doğru katmanda okuyun. Hiç tamamlanmayan bir el sıkışma keşfe, uç nokta filtrelemesine veya ağ yoluna işaret eder. Tamamlanan bir el sıkışmadan sonra reddedilen veya düşürülen bir hizmet bağlantısı overlay güvenlik duvarına ya da uygulamaya işaret eder.
İzin ile engeli karıştırırken varsayılanı okuyun
Deniz feneri yapılandırması yalnızca izin, yalnızca engel ve karışık listeleri destekler ve belirtilmemiş geri kalan için varsayılan bu biçimler arasında farklıdır. Karışık bir liste, adres ailesi için açık bir varsayılan gerektirir; geri kalanın önceki yapılandırma gibi davrandığını varsaymak, çalışan bir uç noktanın sessizce kaybolma yoludur.
lighthouse:
local_allow_list:
interfaces:
docker0: false
remote_allow_list:
192.168.0.0/16: true
default: false
Varsayılanı kuralın parçası olarak görün, şablon metni olarak değil. Ailenin varsayılanı engel ise, listelenmeyen her adres dışlanır; yapılandırma yazıldıktan sonra eklenen yeni ofis aralığı da buna dahildir.
Hangi adreslerin erişilebilir olması gerektiğini kaydedin ve iki taraftan test edin. Bir eş çifti için çalışan bir filtre, tek ortak yolu listenin dışladığı bir adresi kullanan başka bir çift için başarısız olabilir.
Doğrudan uç nokta erişilebilir olmadığında relay kullanın
Her aday uç nokta filtrelenmiş veya erişilemezse, yanıt güvenmediğiniz adresleri yeniden kabul eden daha geniş bir izin listesi değildir. Doğrudan bağlantı uygulanabilir olmadığında Nebula relay yapılandırması alternatif bir eş yolu sunar.
Relay taşımayı ve keşfi çözer, yetkilendirmeyi değil, ve güvenlik duvarını genişletmez. Overlay güvenlik duvarı hangi hizmetlerin kullanılabileceğine hâlâ karar verir ve relay deniz feneri filtrelemesini bir erişim denetimi mekanizmasına dönüştürmez.
Doğrudan uç noktalar kapalıyken relay yolunu test edin ve amaçlanan hizmetin çalışmaya devam ettiğini, amaçlanmayanın ise çalışmadığını doğrulayın. O tek test, bir taşıma düzeltmesini bir politika değişikliğinden ayırır ve iki katmanı dürüst tutar.