Varsayımlar:
Sunucu:
- Genel İnternet üzerinden yönlendirilebilen ve statik IPv4 adresli bir Debian Squeeze sunucum var.
- Sunucudaki yazılımı değiştirmek için sınırsız erişimim var.
- Sunucu rasgele bağlantı noktalarında dinleme yapabilir, güvenlik duvarı kurallarını yeniden yapılandırabilir, temel olarak sunucunun ne yapabileceği konusunda herhangi bir kısıtlama yoktur.
Müşteri:
- Firefox, Java programları, .NET programları ve yerel sistemimde yönetici erişimi gerektirmeyen bazı çalıştırılabilir dosyaları çalıştırabilirim (yönetici hakları olmayan kilitli bir Windows masaüstünde).
- Eklentileri Firefox'a yükleyebilirim.
- Loopback (
localhost
) arabirimindeki herhangi bir bağlantı noktasını dinleyebilirim . Yani, yukarıda belirtilen programlar olabilir yerel bir bağlantı noktasına bağlamak ve bir proxy üzerinden gitmeden, keyfi ağ I / O gerçekleştirin. - Tüm halka açık İnternet erişimi, birçok siteyi engelleyen ve dikkatli bir şekilde dikkatli bir inceleme yapan kısıtlayıcı bir HTTP proxy'si aracılığıyla yönlendirilir. 80 numaralı bağlantı noktasında yalnızca HTTP'ye izin verir (TLS / SSL yok). 443 numaralı bağlantı noktasında,
CONNECT
SSL / TLS'yi alan adı / IP adresi tarafından engellenmeyen uzaktaki ana bilgisayarlara dayanarak sağlar . - Kısıtlayıcı HTTP vekil vermez proxy üzerinden izin verilen TLS bağlantılarının derin paket inceleme gerçekleştirmek ve bunu vermez bu bağlantılarda Orta saldırılarda Man gerçekleştirin.
- Erişimim yukarıda belirtilen sunucu, bir değil vekil tarafından engellendi.
Hedef:
Ben rota istiyorum tüm SSL / TLS üzerinde, yukarıdaki sunucu üzerinden, Firefox yaydığı HTTP ve HTTPS istekleri.
"Hedef" ile ilgili diğer notlar:
- Uç nokta sitesi (örneğin,
http://superuser.com
) sunucuma SSL / TLS kullanmasa bile, istemcimden sunucuma SSL / TLS kullanmak ve sunucumun şifrelenmiş olsun veya olmasın HTTP isteğini gerçekleştirmesini istiyorum. - İstediğim yere. - Ben umurumda değil benim sunucu "açık" SSL trafiğine bakıyor eğer. Başka bir deyişle, eğer uzak sunucuya örn
https://google.com
. Diğer bir deyişle, ben güveniyorum gizli verilerimi tutmak için sunucu. - Yönetici hakları gerektirmeyen ve 32 bit Windows 7 işletim sistemlerinde çalışabilen herhangi bir yazılım veya Firefox eklentisi yüklemeye razıyım.
- Açık kaynak yazılımı tescilli yerine tercih edilir ve ücretsiz olarak lisans ücreti gerektiren bir yazılıma tercih edilir.
- Mevcut yazılım, yeni yazılımı kodlamak yerine tercih edilir, ancak tek yol buysa kod yazmaya hazırım.
Gevşek bir şekilde tarif edilen ve "açıklayan" bir çözüm "arıyorum:
- İstemcide hangi yazılım gerekir? Bildiğiniz belirli bir yazılım paketi varsa, adlandırın; Aksi takdirde, istemci yazılımının ne yapması gerektiğini açıklayın .
- Sunucuda hangi yazılım gerekir? Bildiğiniz belirli bir yazılım paketi varsa, adlandırın; Aksi takdirde, sunucu yazılımının ne yapması gerektiğini açıklayın .
- Yukarıdaki belirli yazılım paketlerini adlandırdıysanız, hedefime ulaşmak için hangi yapılandırma parametrelerinin gerekli olduğunu açıklayın.
- Bazı nedenlerden dolayı bunun mümkün olmadığını düşünüyorsanız , nedenini açıklayın .
Çalıştıramadığım İşler
- Sunucuma yüklerken
squid
, sunucuma kendi standart bir HTTP proxy'si kurmaya çalıştım. Bu işe yaramadı, çünkü Firefox'ta web sitelerini normal HTTP üzerinden talep ettiğimde, Firefox da sunucuma normal HTTP üzerinden erişmeye çalışıyor! Bu kabul edilemez, çünkü yerel ağımdaki proxy elbette müşterim ve sunucu arasındaki normal HTTP trafiğini gözlemleyebilir ve / veya engelleyebilir. - VPN'ler çalışmıyor , 443 numaralı bağlantı noktasını dinleyen TLS üzerinden OpenVPN bile yok, çünkü yerel bilgisayarda
tun
katman 3 yönlendirme gerçekleştirebilen bir ağ bağdaştırıcısı yükleme iznim yok, ayrıca herhangi bir katman 2 yönlendirme de yapamıyorum (örneğintap
). Kısacası: OpenVPN'i kurmak için yönetici haklarına ihtiyacım vardı ve geçici olarak bu yönetici haklarına sahip olsam bile, şirket kurulursa çok memnun olmazdı. Bir Java veya .NET programı, özellikle Program Ekle / Kaldır'a yüklenmediğinde ve OpenVPN'in yaptığı gibi bir çekirdek sürücü bileşeni bulunmadığında çok daha az fark edilir.
socat
Windows istemci kutusunda yönetici ayrıcalıklarına sahip değilim veya yok .