Blocking http traffic when using transparent proxy
I'm using 1.2.3 with transparent proxy enabled on port 80. Since I'm experiencing some network problems, I'd like to cut off a few protocols at a time in order to inspect, but I got problems while blocking http.
I placed a rule on my lan (192.168.1.0/24) as the follows:
block drop in log quick on rl0 inet proto tcp from 192.168.1.0/24 os "MacOS" to any port = http
which should block my mac clients, but it does not work. I have no logs and the macs still browse the web. I suspect this is someway related to the use of squid as transparent proxy, that maybe intercepts the connection before the firewalling and allow the traffic to come and go, am I right?
Is there a way to selectively block http traffic without having to reconfigure transparent proxy and without having to manually black list clients?
You can't use firewall rules for HTTP and use squid. Squid will get all of the HTTP traffic, regardless of your rules. You need to use squid's access controls to allow/deny people access to HTTP.
Sorry to drag this thread up again (especially as it's my first post), but is there any way to change this behaviour so that port 80 is redirected to squid after the firewall rules are evaluated, so after a pass/accept? The reason I ask is that I have some internal web pages, some of which need to be accessed from an interface. There are about 5 pages I need accessible atm, but I would like access to all other private IPs blocked. Keeping both the filter and firewall rules updated together is much less desirable, particularly as my current infrastructure is changing.
Note: I would still like private pages cached as some reside the other side of a bandwidth metered VPN connection.
Also I presume this doesn't effect any hosts blocked by snort does it? Ie it doesn't allow block hosts to still use port 80 through squid?