web_fetch aracının indirdiği dosyalar), her Ayakaleaf Pro pod’undaki linked-url-proxy hizmeti tarafından getirilir. Bu hizmet herkese açık olmayan adresleri reddeder; böylece kullanıcılar onun üzerinden dahili hizmetleri okuyamaz. Özellik ve ayarları Harici URL sayfasında açıklanmıştır.
Yapılandırma
30-config.yaml (additions)
Kubernetes’te neler engellenir
Proxy, herkese açık tekil yayın (unicast) adresi olmayan her adresi reddeder: loopback, link-local (bulut meta veri adresi169.254.169.254 dahil), 10.0.0.0/8, 172.16.0.0/12 ve 192.168.0.0/16 özel aralıkları, operatör düzeyi NAT (carrier-grade NAT) aralığı 100.64.0.0/10 ve bunların IPv6 karşılıkları. Bu aralıklardaki Pod ve Service ağları (kubeadm, flannel, Calico ve çoğu yönetilen küme için varsayılan budur) bu nedenle hiçbir ayar gerekmeden engellenir; bunlara çözümlenen redis veya git-bridge gibi küme içi adlar da engellenir.
Herkese açık adreslere izin verilir. Düğümlerinizin veya yük dengeleyicinizin herkese açık adresleri varsa, kullanıcıların bunlar üzerinden NodePort’lara veya bir durum sayfasına erişememesi için bu adresleri OVERLEAF_LINKED_URL_BLOCKED_NETWORKS değerine (boşluk veya virgülle ayırarak) ekleyin.
OVERLEAF_LINKED_URL_OUTBOUND_PROXY ayarlandığında ana bilgisayar adları proxy tarafından çözümlenir; bu nedenle yalnızca IP adresi içeren URL’ler denetlenir: dahili ağlarınızı proxy’nin kendisi engellemelidir.
Birden fazla replika
Ek bir şey gerekmez: her pod kendi linked-url-proxy’si ve aynı ayarlarla getirme yapar.Kubernetes üzerinde test edildi
Üç replikalı, flannel’ın pod ağı10.244.0.0/16 ve kubeadm’in hizmet ağı 10.96.0.0/12 ile Kubernetes 1.37 üzerinde proxy, hiçbir OVERLEAF_LINKED_URL_BLOCKED_NETWORKS ayarı olmadan bir Service’in ClusterIP’sinden, redis, garage ve overleaf-1.overleaf-hl.overleaf.svc.cluster.local küme içi adlarından ve bir düğümün adresinden indirmeleri reddetti. Uçtan uca testlerimiz, İçe Aktarma API’si üzerinden loopback’in ve bulut meta veri adresinin reddedilmesi ve yapay zekâ asistanının yalnızca OVERLEAF_LINKED_URL_ALLOWED_RESOURCES tarafından izin verilen sayfaları okuması için de başarılı oldu.
