Bagaimana membuat proxy https transparan dengan firehol dan tinyproxy?

8

Saya memiliki pengaturan proxy transparan di Ubuntu 10.04.4 dengan firehol dan tinyproxy yang berfungsi dengan baik untuk http tapi saya tidak bisa membuatnya berfungsi untuk https.

Menghubungkan ke tinyproxy secara langsung berfungsi dengan baik karena perintah berikut selesai ok:

env  http_proxy=localhost:8888 curl  http://www.google.com
env https_proxy=localhost:8888 curl https://www.google.com

Proxy transparan Http juga berfungsi dengan baik:

curl  http://www.google.com

tetapi ketika mengakses google secara langsung menggunakan https, perintahnya hang:

curl  https://www.google.com

Berikut adalah file konfigurasi lengkap untuk firehol dan tinyproxy. Perhatikan bahwa saya tidak tertarik menggunakan firehol untuk apa pun selain proxy transparan.

firehol.conf:

transparent_proxy "80 443" 8888 proxy
interface any world
   client all accept
   server all accept

tinyproxy.conf (semua default kecuali proxy hulu):

User    nobody
Group   nogroup
Port    8888
Timeout 600
DefaultErrorFile  "/usr/share/tinyproxy/default.html"
StatFile          "/usr/share/tinyproxy/stats.html"
Logfile           "/var/log/tinyproxy/tinyproxy.log"
LogLevel Info
PidFile           "/var/run/tinyproxy/tinyproxy.pid"
MaxClients     100
MinSpareServers  5
MaxSpareServers 20
StartServers    10
MaxRequestsPerChild 0
ViaProxyName "tinyproxy"
ConnectPort 443
ConnectPort 563
upstream corporate.fire.wall:8080
Stefan Farestam
sumber

Jawaban:

11

Sejauh yang saya tahu tinyproxy sama sekali tidak mendukung koneksi HTTPS yang masuk. Ini akan memungkinkan Anda untuk mengakses situs HTTPS dengan menggunakan metode CONNECT , tetapi untuk itu untuk digunakan, browser / klien harus tahu bahwa itu berbicara ke server proxy, dan menggunakan metode koneksi yang benar.

The ConnectPortarahan hanya mendefinisikan port diperbolehkan untuk membuat koneksi ke.

Satu-satunya produk FOSS yang mendukung proksi koneksi HTTPS secara transparan adalah Squid , dan dukungan untuk itu relatif baru. Dalam juga memperkenalkan beberapa masalah keamanan yang cukup besar karena proxy HTTPS transparan harus melakukan serangan man-in-the-middle dan mendekripsi koneksi sehingga ia tahu apa yang harus disambungkan.

Sakit kepala
sumber
Itu masuk akal. Setelah menyelidiki, tampaknya Anda benar dan cumi-cumi adalah jalan yang harus ditempuh. Tidak ada backport 3,1 dengan dukungan ssl / https tersedia untuk Ubuntu 10.04 (jelas) sehingga kompilasi khusus diperlukan. Saya akan mencoba ini. Terima kasih!
Stefan Farestam
Dengan Squid versi 3.5 sekarang memungkinkan untuk menggunakan fitur "mengintip dan membelah" untuk mengimplementasikan proxy HTTPS tanpa melakukan man-in-the-middle ( wiki.squid-cache.org/Features/SsPPeekAndSplice ).
Rafał Krypa