firehol과 tinyproxy로 투명한 https 프록시를 만드는 방법은 무엇입니까?


8

Ubuntu 10.04.4에는 firehol 및 tinyproxy가있는 투명한 프록시 설정이 있지만 http에서는 잘 작동하지만 https에서는 작동하지 않습니다.

다음 명령이 정상적으로 완료되면 tinyproxy에 직접 연결하는 것이 좋습니다.

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

HTTP 투명 프록시도 잘 작동합니다.

curl  http://www.google.com

그러나 https를 사용하여 Google에 직접 액세스하면 명령이 중단됩니다.

curl  https://www.google.com

다음은 firehol 및 tinyproxy에 대한 전체 구성 파일입니다. 투명한 프록시 이외의 용도로 firehol을 사용하는 데 관심이 없습니다.

firehol.conf :

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

tinyproxy.conf (업스트림 프록시를 제외한 모든 기본값) :

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

답변:


11

내가 tinyproxy에게 말할 수있는 한 단순히 들어오는 HTTPS 연결을 지원하지 않습니다. CONNECT 메소드 를 사용하여 HTTPS 사이트에 액세스 할 수는 있지만이를 사용하려면 브라우저 / 클라이언트가 프록시 서버와 통신하고 있음을 알고 올바른 연결 방법을 사용해야합니다.

ConnectPort이 허용된다 포트 지침 단순히 정의는 연결을 만들 수 있습니다.

투명한 프록시 프록시 연결을 지원하는 유일한 FOSS 제품은 Squid 이며, 이에 대한 지원은 비교적 최근입니다. 또한 투명한 HTTPS 프록시가 MITM (Man-in-the-Middle) 공격을 수행하고 연결을 해독하여 무엇을 연결해야하는지 알고 있기 때문에 몇 가지 중요한 보안 문제가 있습니다.


말이 되네요 조사 후, 당신은 정확하고 오징어가 갈 길입니다. Ubuntu 10.04 (lucid)에 대해 ssl / https 지원 3.1의 백 포트가 없으므로 사용자 정의 컴파일이 필요합니다. 나는 이것을 시도 할 것이다. 감사!
Stefan Farestam

Squid 3.5 버전에서는 "peek and splice"기능을 사용하여 중간자 ( wiki.squid-cache.org/Features/SslPeekAndSplice ) 없이 HTTPS 프록시를 구현할 수 있습니다.
Rafał Krypa
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.