[squid-users] Access regulation with multiple outgoing IPs
squid3 at treenet.co.nz
Sun Oct 25 11:20:17 UTC 2015
On 25/10/2015 3:49 a.m., rudi wrote:
> Hey guys,
> im trying to setup squid for windows. I have different IPs on my server and
> i want to assign them to VMs:
> VM1 --> Outgoing IP1
> VM2 --> Outgoing IP2
> So far this is working! But now i want to deny all other IPs to avoid false
> access. So all VMs have the same incoming IP (i think) but the outgoing IP
> changes by port.
> Can you help me to set up the access regulation and deny all unwanted
Correctly updating the localnet ACL definition to contain the LAN ranges
should be enough. The default configuration settings then take care of
permitting only those LAN clients to use the proxy.
> 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)
> http_port 5.189.xxx.xx1:3129 name=3129
> http_port 5.189.xxx.xx2:3130 name=3130
> acl vm3129 myportname 3129 src 213.xxx.xxx.83/24
You seem not to know how Squid ACLs work. This may help:
Hint: you dont have a port named "src" or "213.xxx.xxx.83/24" in your
> tcp_outgoing_address 5.189.xxx.xx1 vm3129
> http_access allow vm3129
> acl vm3130 myportname 3130 src 213.xxx.xxx.83/24
> tcp_outgoing_address 5.189.xxx.xx2 bot3130
> http_access allow vm3130
The above http_access control rules are permitting anything that arrives
in the http_ports to use the proxy. No restrictions.
Update the localnet ACL to match your LAN ranges, and remove these
"http_access allow vm*" lines.
> 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 localhost manager
> 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
So, no restrictions on what protocols clients can send through the proxy.
The above rule is designed to prevent clients using your proxy as a
relay for Spam, or other types of cross-protocol attacks. Removing it is
*very very dangerous*.
If the SSL_Ports is not permissing some needed protocol to use CONNECT
tunnels, just add that protocols server port(s) to the SSL_ports list.
Do not turn off the proxy security completely.
> # 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
Like it says. Your rules should be at this point. Especially anything
> # 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
> #http_access allow all
Don't just comment that highly dangerous line out. Erase it to avoid
temptation to make an Open Relay / Open Proxy.
> # And finally deny all other access to this proxy
> http_access deny all
More information about the squid-users