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
답변
내가 tinyproxy에게 말할 수있는 한 단순히 들어오는 HTTPS 연결을 지원하지 않습니다. CONNECT 메소드 를 사용하여 HTTPS 사이트에 액세스 할 수는 있지만이를 사용하려면 브라우저 / 클라이언트가 프록시 서버와 통신하고 있음을 알고 올바른 연결 방법을 사용해야합니다.
ConnectPort
이 허용된다 포트 지침 단순히 정의는 연결을 만들 수 있습니다.
투명한 프록시 프록시 연결을 지원하는 유일한 FOSS 제품은 Squid 이며, 이에 대한 지원은 비교적 최근입니다. 또한 투명한 HTTPS 프록시가 MITM (Man-in-the-Middle) 공격을 수행하고 연결을 해독하여 무엇을 연결해야하는지 알고 있기 때문에 몇 가지 중요한 보안 문제가 있습니다.