Webilant™ Content Filtering
Webilant is the name given to an http (web) content filter that uses squid to provide caching and filtering at the same time. This solution was first used commercially in an ISP in 2000. It has only had a single person maintaining it through its life, so it probably lacks some breadth in some area(s), although the last time I evaluated other products I couldn't find any that were as good. In 2009 I had the chance to try SonicWall's filtering product, and although (to their credit) they have a lot more than just content filtering, in the area of content filtering in my opinion Webilant has them beat.
What I like about Webilant is:
- It uses the open-source squid caching proxy server as an engine.
- Using squid means that it caches web sites, which speeds-up web site retrieval while providing content filtering. In countries like Canada where we have gigabit fibre to the home this benefit is of minimal value, but in locations with limited bandwidth can be quite helpful.
- It uses simple text files that can be edited with any text editor. While many people may prefer a GUI control panel, this typically introduces complications and narrows the usability. Using simple text files permits you to use whatever you like—XFCE, Enlightenment, Mate, or even no X-server GUI desktop at all.
- The text files are separated in categories so that, like every other content filter, you can choose which categories you want to filter.
- The error messages are user configurable. You can put your company logo on them and make the message say whatever you want, instead of a plain and ugly text screen such as SonicWall offers.
- The error screens offer the user a chance to report the block to the administrator if they feel it is in error. The report can be anonymous or the user can enter their contact information to be notified of a decision.
Webilant is open-source, just like squid. Where you will pay is with time in configuring and maintaining it. There is no automated installation, and someone needs to handle user reports of blocked sites and do regular updates on the ruleset. Commercial content filters may cost thousands of dollars per month to license. For a big company that's fine, but for small companies the cost may be too high and, in that case, it makes more sense to hire a consultant (e.g., ispltd.com) for the initial setup and then have no monthly fees thereafter.
To install Webilant you will need to perform the steps below. Each step is rather involved, so each one has a dedicated page to describe it.
None of the following steps are yet written.
- Step 1: Set-up a dedicated Linux server (or one that is shared with a task that has small overhead, such as DNS and/or DHCP) with the latest version of squid
- Step 2: Place the filter files on the server
- Step 3: Place the error files on the server (modified as desired)
- Step 4: Modify /etc/squid/squid.conf to provide content filtering and transparent proxying
- Step 5: Configure iptables forwarding
For more general and terse steps on setting up a proxy server, refer to the Proxy Server page.