|  | 
 POST comes from the http RFC, allowing to POST datas to websites (roughly).
 By using POSTs requests on a misconfigured Squid Proxy, its pretty easy to establish a connection between Squid and any server/port.
 
 This problem is due to a misconfiguration in squid.conf's access list. To solve this, you just have to well configure your Squid by adding a few lines on the Squid's access control part.
 
 A fast way of doing it is defining the range of ports you allow with an acl element.
 Squid knows as acl elements: "port" which is the destination port number.
 
 Set the accessible ports, and then deny the others.
 
 acl safe 80 21 443 8000-65535   # Safe ports
 http_access deny !safe          # Deny !Safe Ports
 
 Then, you are sure noone will be able to access by the POST exploit any forbidden ports (or only if thoses are > 8000).
 
 Of course, verify that you allow caching for only your customers, etc by theses lines :
 acl all src 0.0.0.0/0.0.0.0
 acl ourhosts src 192.168.0.0/255.255.0.0 # Here are your customers.
 
 (yeah, acl allow ips, ports, time, and many other stuff...)
 For more informations about access control lists... Please check the Squid projet site:
 http://www.squid-cache.org/Doc/FAQ/FAQ-10.html#ss10.2
 because they of course describe all the acl element you can have, and all the kind of denies you can do with it.
 
 And finally, you may use Squid 2.x , because a few bugs that could be holes are corrected...
 For instance , all sprintf replaced by snprintf. Again, check : 
http://www.squid-cache.org/ because they'll describe better than me thoses new features.
 
 by 4735
 |  |