Для Debian минимальная версия с поддержкой ldap 1.4-4, т.е. пакет из stable с ldap не работает, нужен из репозитария testing
Образец squidGuard.conf
с группами в AD:
logdir /var/log/squid
dbhome /var/lib/squidguard/db
# Логин/пароль для подключения к AD
ldapbinddn cn=binduser,ou=Internet,ou=Org,dc=local,dc=domain
ldapbindpass binduserpass
ldapcachetime 300
# Подсети, которые не будем фильтровать
src privileged_IP {
ip 192.168.1.1-192.168.1.254
ip 192.168.2.0/24
}
# Определяем 3 группы, nds_pp, nds_hr, nds_all
src AD_Group_PP {
ldapusersearch ldap://dc1.local.domain/ou=Org,dc=local,dc=domain?sAMAccountName?sub?(&(memberOf=cn=nds_pp,ou=Internet,ou=Org,dc=local,dc=domain)(sAMAccountName=%s))
}
src AD_Group_HR {
ldapusersearch ldap://dc1.local.domain/ou=Org,dc=local,dc=domain?sAMAccountName?sub?(&(memberOf=cn=nds_hr,ou=Internet,ou=Org,dc=local,dc=domain)(sAMAccountName=%s))
}
# Третья группа по факту не используется, сделана про запас.
src AD_Group_SimpleUser {
ldapusersearch ldap://dc1.local.domain/ou=Org,dc=local,dc=domain?sAMAccountName?sub?(&(memberOf=cn=nds_all,ou=Internet,ou=Org,dc=local,dc=domain)(sAMAccountName=%s))
}
dest porn {
domainlist blacklists/porn/domains
urllist blacklists/porn/urls
log /var/log/squid/squidguard.porn.log
redirect http://squidguard.local.domain/messages/security_pron.html
}
dest ads {
domainlist blacklists/ads/domains
urllist blacklists/ads/urls
expressionlist blacklists/ads/expressions
log /var/log/squid/squidguard.ads.log
redirect http://squidguard.local.domain/messages/1x1.gif
}
dest test {
domainlist blacklists/test/domains
log /var/log/squid/squidguard.test.log
redirect 302:http://squidguard.local.domain/squidGuard.cgi?clientaddr=%a&clientname=%n&clientident=%i&srcclass=%s&targetgroup=%t&url=%u
}
.......
далее однотипно, пропускаю
.......
acl {
# Хосты с правильных сетей пропускаем мимо фильтра
privileged_IP {
pass all
}
AD_Group_PP {
# ПП пропускаем
pass all
}
AD_Group_HR {
# У HR стандартный набор ограничений, кроме рекрутинговых ресурсов
pass local !socialnetwork !mail !porn !entertainment !ads all
}
default {
# Определяем набор фильтров для всех остальных.
pass local !socialnetwork !mail !jobs !porn !redirector !proxy !entertainment !ads all
}
}
Образец squidGuard.conf
с группами в AD:
logdir /var/log/squid
dbhome /var/lib/squidguard/db
# Логин/пароль для подключения к AD
ldapbinddn cn=binduser,ou=Internet,ou=Org,dc=local,dc=domain
ldapbindpass binduserpass
ldapcachetime 300
# Подсети, которые не будем фильтровать
src privileged_IP {
ip 192.168.1.1-192.168.1.254
ip 192.168.2.0/24
}
# Определяем 3 группы, nds_pp, nds_hr, nds_all
src AD_Group_PP {
ldapusersearch ldap://dc1.local.domain/ou=Org,dc=local,dc=domain?sAMAccountName?sub?(&(memberOf=cn=nds_pp,ou=Internet,ou=Org,dc=local,dc=domain)(sAMAccountName=%s))
}
src AD_Group_HR {
ldapusersearch ldap://dc1.local.domain/ou=Org,dc=local,dc=domain?sAMAccountName?sub?(&(memberOf=cn=nds_hr,ou=Internet,ou=Org,dc=local,dc=domain)(sAMAccountName=%s))
}
# Третья группа по факту не используется, сделана про запас.
src AD_Group_SimpleUser {
ldapusersearch ldap://dc1.local.domain/ou=Org,dc=local,dc=domain?sAMAccountName?sub?(&(memberOf=cn=nds_all,ou=Internet,ou=Org,dc=local,dc=domain)(sAMAccountName=%s))
}
dest porn {
domainlist blacklists/porn/domains
urllist blacklists/porn/urls
log /var/log/squid/squidguard.porn.log
redirect http://squidguard.local.domain/messages/security_pron.html
}
dest ads {
domainlist blacklists/ads/domains
urllist blacklists/ads/urls
expressionlist blacklists/ads/expressions
log /var/log/squid/squidguard.ads.log
redirect http://squidguard.local.domain/messages/1x1.gif
}
dest test {
domainlist blacklists/test/domains
log /var/log/squid/squidguard.test.log
redirect 302:http://squidguard.local.domain/squidGuard.cgi?clientaddr=%a&clientname=%n&clientident=%i&srcclass=%s&targetgroup=%t&url=%u
}
.......
далее однотипно, пропускаю
.......
acl {
# Хосты с правильных сетей пропускаем мимо фильтра
privileged_IP {
pass all
}
AD_Group_PP {
# ПП пропускаем
pass all
}
AD_Group_HR {
# У HR стандартный набор ограничений, кроме рекрутинговых ресурсов
pass local !socialnetwork !mail !porn !entertainment !ads all
}
default {
# Определяем набор фильтров для всех остальных.
pass local !socialnetwork !mail !jobs !porn !redirector !proxy !entertainment !ads all
}
}