Làm cách nào để tạo proxy https trong suốt với firehol và tinyproxy?


8

Tôi có một thiết lập proxy minh bạch trong Ubuntu 10.04.4 với firehol và tinyproxy hoạt động tốt cho http nhưng tôi không thể làm cho nó hoạt động được với https.

Kết nối với tinyproxy trực tiếp hoạt động tốt vì các lệnh sau hoàn thành ok:

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

Proxy trong suốt cũng hoạt động tốt:

curl  http://www.google.com

nhưng khi truy cập google trực tiếp bằng https, lệnh sẽ bị treo:

curl  https://www.google.com

Dưới đây là các tập tin cấu hình đầy đủ cho firehol và tinyproxy. Lưu ý rằng tôi không có hứng thú sử dụng firehol cho bất cứ điều gì ngoài việc ủy ​​quyền minh bạch.

firehol.conf:

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

tinyproxy.conf (tất cả các giá trị mặc định ngoại trừ proxy ngược dòng):

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

Câu trả lời:


11

Theo như tôi có thể nói với tinyproxy đơn giản là không hỗ trợ các kết nối HTTPS đến. Nó sẽ cho phép bạn truy cập các trang web HTTPS bằng cách sử dụng phương pháp CONNECT , nhưng để sử dụng, trình duyệt / máy khách phải biết rằng nó đang nói chuyện với một máy chủ proxy và sử dụng các phương thức kết nối chính xác.

Các ConnectPortchỉ thị chỉ đơn giản xác định cổng nào được phép thực hiện kết nối.

Sản phẩm FOSS duy nhất hỗ trợ kết nối HTTPS ủy quyền trong suốt là Squid và sự hỗ trợ cho điều đó là tương đối gần đây. Ngoài ra, còn giới thiệu một số mối quan tâm bảo mật khá lớn do proxy HTTPS minh bạch phải thực hiện một cuộc tấn công trung gian và giải mã kết nối để nó biết phải kết nối với cái gì.


Điều đó có ý nghĩa. Sau khi điều tra, có vẻ như bạn đúng và mực là con đường để đi. Không có backport 3.1 với hỗ trợ ssl / https có sẵn cho Ubuntu 10.04 (sáng suốt) vì vậy cần phải biên dịch tùy chỉnh. Tôi sẽ thử nó. Cảm ơn!
Stefan Farestam

Với Squid phiên bản 3.5, giờ đây có thể sử dụng tính năng "peek and splice" để triển khai proxy HTTPS mà không cần thực hiện thao tác trung gian ( wiki.squid-cache.org/Features/SslPeekAndSplice ).
Rafał Krypa
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.