Generally speaking, a proxy is a little more vulnerable than some other kinds of hosts, and they are often targets of internal users trying to bypass corporate policies and controls. I recommend the following general steps:
- Firewall your host carefully and only allow access to those ports you absolutely require.
- Only install and run the minimum services needed to perform the proxies function.
- Regularly update and patch your host.
- Review and check your logs -- both OS and proxy.
More specifically for proxying, I recommend ensuring you scan incoming and outgoing content for viruses and malicious code. There are a number of open source or commercial virus scanners that can work in conjunction with Squid. If you use Squid you can also make use of blacklisting with a tool like SquidGuard and you can find a number of other Squid-related tools.
Lastly, make sure you use some kind of authentication for your proxy users. You will want to make certain that appropriate access control lists (ACLs) are configured in Squid to ensure that only your users can make use of your proxy and, preferably, that users must authenticate against a directory such as LDAP with a username and password.
This was first published in June 2007