SquidGuard

Version 1.0
Software used in Version 1.0.
GPL License
Software distributed under
GNU GPL license.

SquidGuard is a software called a redirector program. Each time Squid receives a web request, it sends a request to SquidGuard with the URL requested, the IP address of the requestor and the username of the requestor. With a list of categorized URLs, domains and regular expressions, also called Blacklists, the iSAK administrator can build access list based on the time of the day, the user, the IP address or the URL requested. If the access is denied, the user is redirected to an explanation page defined by iSAK administrator.


A pre-compiled RPM package is available for download.


Contents

How it works in iSAKv1 - SquidGuard Version 1.2.0

SquidGuard is a software started on Squid start up. The number of SquidGuard process started depends on the configuration variable redirect_children in Squid configuration. SquidGuard is called at the end of the Squid process of request acceptance.

SquidGuard Configuration Example

#########################################################
# File: /etc/squid/squidguard.conf                      #
# SquidGuard version 1.2.0                              #
#                                                       #
# iSAK v1.0 - http://isak.gplindustries.com             #
#########################################################

# General Configuration
dbhome /var/lib/squidGuard/db
logdir /var/log/squidGuard

# Time Configuration
# s = sun, m = mon, t =tue, w = wed, h = thu, f = fri, a = sat
time workhours {
        weekly mtwhf 06:00 - 18:00
}

# Sources rules
source music {
        userlist                users/music
}
source internet {
        userlist                users/internet
}

# Destinations rules
destination file {
        expressionlist  file.destexprlist
}
destination bl_audio-video {
        domainlist      blacklists/audio-video/domains
        urllist         blacklists/audio-video/urls
        expressionlist  blacklists/audio-video/expressions
}
destination Whitelist_user {
        domainlist      Whitelist_user/domains
        urllist         Whitelist_user/urls
}
destination Blacklist_user {
        domainlist      Blacklist_user/domains
}
destination bl_porn {
        domainlist      blacklists/porn/domains
        urllist         blacklists/porn/urls
        expressionlist  blacklists/porn/expressions
}

# Access list
acl {
        music {
                pass !file Whitelist_user !Blacklist_user !bl_porn
                redirect http://proxy.domain.tld/error-pages/redirect.php?url=%u
        }
        internet {
                pass !file Whitelist_user !Blacklist_user !bl_audio-video !bl_porn
                redirect http://proxy.domain.tld/error-pages/redirect.php?url=%u
        }
        default {
                pass none
                redirect http://proxy.domain.tld/error-pages/interdit.html
        }
}

# EOF

Blacklists

Information on SquidGuard Blacklists is avaiable on SquidGuard/Blacklists.

SquidGuard administration

Squid administration is done by Webmin interface.

Automatic tasks

Reference