Birisi yalnızca VPN kullanıcılarının erişebildiği bir hizmet istiyor ve bariz uygulama çıkış adreslerinden oluşan bir listeye izin vermek. Liste gerçek bir şey yapar: kimin bağlanabileceğini sınırlar. Tünelin kullanıldığını kanıtlamaz, çünkü adres çıkışı işleten kişiye aittir ve o operatör herkesin trafiğini iletebilir. Bu iki ifade arasındaki fark bütün tasarım sorunudur.

Sunucu bağlantı başına bir adres görür

Bir bağlantı kaynak adresi ve hedef portuyla gelir ve ağ katmanının bildirdiği bundan ibarettir. Bir istemci tünel kullandığında, dinleyicinize ulaşan paketler çıkıştan veya onun önündeki çeviriden gelir. İstemcinin kendi adresi, genellikle özel, asla görünmez. Bu nedenle istemcinin yerel ağ aralığı için yazılmış bir güvenlik duvarı kuralı hiçbir şey yapmaz.

O kaynak adresinden sonraki her şey uygulama verisidir ve uygulama ona yalnızca kimliğini doğruladığı ölçüde güvenebilir.

Çıkışınızın nasıl göründüğünü test edin

Kural yazmadan önce yolu iki uçtan da inceleyin. İstemcinin kendi çıkışına bakışı ve sunucunun bağlantıya bakışı önemli olan iki olgudur.

curl -sS https://api.ipify.org; echo
ss -tn state established '( sport = :443 )' | head

İlk komut istemcinin göründüğü genel adresi bildirir ve herhangi bir izin listesinin içermesi gereken değer budur. İkincisi sunucudaki kurulu bağlantıları eş adresleriyle gösterir ve kural gerçekte bununla eşleşecektir. İkisi zihinsel modelinizle uyuşmuyorsa politikayı düzenlemeden önce modeli düzeltin. Bulut veritabanı güvenlik duvarı, uygulama izin listesi ve yük dengeleyici her biri farklı bir çeviri katmanı görebilir.

İki çıkış kümesinden yalnızca biri listelenebilir

Bir durum istek anında denetlenebilir, diğeri denetlenemez; bu da çok farklı güvenceler üretir.

curl -sS https://check.torproject.org/torbulkexitlist | wc -l

Yayımlanmış Tor çıkış listesi alınıp karşılaştırılabilir; listenin yaşına ve her çıkışın kendi politikasına bağlı olarak, bilinen çıkışlara karşı bir ret kuralı uygulanabilir ve incelenebilir. Ticari VPN'ler için eşdeğer bir kayıt yoktur. Adresler döner, birçok sağlayıcı hiçbir şey yayımlamaz ve bir tünel hiçbir zaman bir VPN'e ait olmamış kiralık bir bulut adresinde çalışabilir. Derlediğiniz liste gözlemlenen adreslerin bir anlık görüntüsüdür ve onu barındırma aralıklarına genişletmek kanıt eklemeden ilgisiz iş yükleri ekler.

Adresleri politika girdisi olarak kullanın, kanıt olarak değil

Kuralın ne için olduğuna karar verin. Ağ kısıtlaması dar kalmalı, gözlemlenen adresi tarihi ve nedeniyle kaydetmeli ve meşru kullanıcılara çıkışları değiştiğinde bir kurtarma yolu vermelidir. Erişim denetimi kimliği doğrulanmış bir hesap veya imzalı bir belirteç gerektirir, çünkü yalnızca bunlar bir isteği bir kimliğe bağlar. Risk puanlaması adresi tek ve güvenilmez bir sinyal olarak kullanabilir; yanlış pozitiflerini ve kör noktalarını kabul ederek. Kuralı bir ürün kararı olarak yazmak dürüsttür; onu bir tünelin var olduğunun doğrulanması olarak yazmak değildir.

Ayna istek, yani VPN'in arkasındaki kullanıcının gerçek adresini geri kazanmak, aynı nedenle başarısız olur: bir bağlantı bir adres taşır ve oturumlar arasındaki değişim birkaç açıklamayla tutarlıdır. Önceki değeri tarih olarak ele alın, gerçek olarak değil.

İlgili makaleler