[squid-users] HTTPS interception and proxy to origin server clear traffic / FTP Proxy

From: Abdessamad BARAKAT <abdsamad13_at_gmail.com>
Date: Fri, 13 Jul 2012 17:22:18 +0200

Hi,

1) HTTPS Interception

I try to setup https transparent configuration with squid 3.1.20

The traffic was correctly forwarded to the proxy port 3129 via WCCP
(Cisco ASA GW) , but the proxy doesn't use ssl connection to join the
final server but a clear http connection with port 80

The flow client --> squid proxy use correctly ssl with the squid's certificate

Any idea why the squid don't use a https connection to join the final server ?

2) FTP Interception

If I understand correctly, squid can handle FTP transparent use with
browser's use (FTP native client not suppported)

I have configured only WCCP stuff, nothing about FTP on squid and I
can see the 3-way handshake was established correctly between the
client and the proxy, but after that nothing...

If I want to use a native ftp client, anyone can suggest me a good ftp
transparent proxy ( I see frox or ftp-proxy but theses softwares
doesn't seem maintained or have a recent stable version)

Many thanks for any info

squid.conf:

#
# Recommended minimum configuration:
#
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1

# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly
plugged) machines

acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT

#
# Recommended minimum Access Permission configuration:
#
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager

# Deny requests to certain unsafe ports
http_access deny !Safe_ports

# Deny CONNECT to other than secure SSL ports
http_access deny CONNECT !SSL_ports

# We strongly recommend the following be uncommented to protect innocent
# web applications running on the proxy server who think the only
# one who can access services on "localhost" is a local user
#http_access deny to_localhost

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#

# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
http_access allow localnet
http_access allow localhost

# And finally deny all other access to this proxy
http_access deny all

# Squid normally listens to port 3128

# Uncomment and adjust the following to add a disk cache directory.
#cache_dir ufs /var/spool/squid 100 16 256

# Leave coredumps in the first cache dir
coredump_dir /var/spool/squid

# Add any of your own refresh_pattern entries above these.
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320

cache_access_log /var/log/squid/access.log
cache_store_log none
shutdown_lifetime 1 second
icp_port 0
htcp_port 0
icp_access deny all
htcp_access deny all
forwarded_for off
request_header_access Allow allow all
request_header_access Authorization allow all
request_header_access WWW-Authenticate allow all
request_header_access Proxy-Authorization allow all
request_header_access Proxy-Authenticate allow all
request_header_access Cache-Control allow all
request_header_access Content-Encoding allow all
request_header_access Content-Length allow all
request_header_access Content-Type allow all
request_header_access Date allow all
request_header_access Expires allow all
request_header_access Host allow all
request_header_access If-Modified-Since allow all
request_header_access Last-Modified allow all
request_header_access Location allow all
request_header_access Pragma allow all
request_header_access Accept allow all
request_header_access Accept-Charset allow all
request_header_access Accept-Encoding allow all
request_header_access Accept-Language allow all
request_header_access Content-Language allow all
request_header_access Mime-Version allow all
request_header_access Retry-After allow all
request_header_access Title allow all
request_header_access Connection allow all
request_header_access Proxy-Connection allow all
request_header_access User-Agent allow all
request_header_access Cookie allow all
request_header_access All deny all
visible_hostname localhost
maximum_object_size 4096 KB
minimum_object_size 1 KB
dns_nameservers 192.168.0.100
client_lifetime 360 minutes
pconn_timeout 360 minutes

wccp2_router 10.10.10.250
wccp2_forwarding_method gre
wccp2_return_method gre
wccp2_service standard 0 password=toto
wccp2_service dynamic 70 password=toto
wccp2_service_info 70 protocol=tcp flags=dst_ip_hash priority=240 ports=443
wccp2_service dynamic 60 password=toto
wccp2_service_info 60 protocol=tcp flags=dst_ip_hash priority=240 ports=20,21

# DEBUG WCCP
#debug_options 80,3

http_port 3128 transparent

https_port 3129 transparent cert=/etc/pki/tls/certs/cert ssl-bump
always_direct allow all
ssl_bump allow all
Received on Fri Jul 13 2012 - 15:22:26 MDT

This archive was generated by hypermail 2.2.0 : Sat Jul 14 2012 - 12:00:02 MDT