Июл 202011
 

Переходим в порт.
Понадобилось мне запретить доступ к нежелательному контексту пример ( порно, скачка медиа контента ну и т.д.)
Можно конечно сделать это все с помощью самого сквида, через acl, но я решил пойти этим путем. Установить SquidGuard.
Приступим, в комплекте со squidGuard идет blacklist, т.е. список запрещенных сайтов, разбитых по категориям.
Пример категорий баз их на самом деле больше:

  • ads — реклама (баннеры)
  • agressive — насилие
  • hacking — no comment
  • publicite — реклама
  • porn — no comment
  • warez — порно

Удаляем старые базы и копируем на их место новые базы.

# rm -fr /var/db/squidGuard/*
# cp -R blacklists/ /var/db/squidGuard/
cd /usr/ports/www/squidguard/
make install clean

Теперь настроим его.
Отредактируем squidguard.conf
nano /usr/local/etc/squid/squidGuard.conf

# путь к лог директории
logdir /var/SquidGuard
# путь к базам
dbhome /usr/local/squidGuard/db
#готовим диапазоны времени (нерабочее время)
time leisure-time
{
weekly * 00:00-08:00 17:00-24:00 # ночь и вечер
weekly fridays 16:00-17:00 # + пятница с 16:00 до 17:00 (если у вас короткий день)
weekly sat sun 00:00-24:00 # + выходные
date*.01.01 # + Новый Год
# и т. д.
}
#Создаем группы доступов
src economy-diz {
ip 10.15.5.12 10.15.5.14 10.15.5.15 10.15.5.16 10.15.5.17 10.15.5.40-10.15.5.47
}
src uriki {
ip 10.15.5.6-10.15.5.11
}
src sklad {
ip 10.15.5.24 10.15.5.25 10.15.5.26
}
src bux {
ip 10.15.5.27-10.15.5.32
}
src boss-zam {
ip 10.15.5.33 10.15.5.34 10.15.5.35 10.15.5.36 10.15.5.37 10.15.5.38 10.15.5.39 10.15.5.40
}
src admin-it {
ip 10.15.5.1-10.15.5.5 10.15.5.50
}
# остальные обойдутся # опишим группы запретов
dest pornography {
domainlist porn/domains
expressionlist porn/expressions
urllist porn/urls
}
dest warez {
domainlist warez/domains
urllist warez/urls
}
dest agressive {
domainlist agressive/domains
urllist agressive/urls
}
dest good {
domainlist good/domains
}
dest ads {
domainlist ads/domains
expressionlist ads/expressions
urllist ads/urls
redirect 302: http://www.my.host/Images/not_banner.gif
# адрес рисунка для подмены рекламных баннеров
}
dest drugs {
domainlist drugs/domains
urllist drugs/urls
}
dest hacking {
domainlist hacking/domains
urllist hacking/urls
}
# Теперь раздадим нашему стаду доступы.
acl {
#подмена mp3 файлов на наш файл (смотри выше) #все кроме рекламы
economy {
pass !ads all
rewrite mp3
}

# Все, кроме ,warez ,chat ,pornography ,agressive ,drugs ,hacking ,ads
uriki {
pass !warez !chat !pornography !agressive !drugs !hacking !ads all
redirect http://www.my.host/cgi-bin/bl.cgi?clientaddr=%a&clientname=%n&clientident=%i&clientgroup=%s&targetgroup=%t&url=%u
}

# Все, кроме рекламы, в нерабочее время
sklad within leisure-time {
pass !ads all
}

# Ненавижу бухов, # есть парочку бухов, с которыми я бы пошел в разведку, но я с ними не работаю.
bux within leisure-time {
pass !ads all #все, кроме рекламы, в нерабочее время
} else {
pass good !ads all #ограничение разрешенных сайтов списком good в рабочее время
redirect http://www.my.host/cgi-bin/bl.cgi?clientaddr=%a&clientname=%n&clientident=%i&clientgroup=%s&targetgroup=%t&url=%u
}

# Админам и it`кам полный доступ
it {
pass all
}

#покажем, что мы не даром кушаем хлеб
boss-zam {
pass !warez !chat !pornography !agressive !drugs !hacking !ads all
#pass all # все равно "попросят"
}

# И наконец, задаем правило по умолчанию - всем все запрещаем.
default { #для всех остальных
pass none
redirect http://www.my.host
log /var/SquidGuard/defoult.log #и запишем в лог
}
}
  • domains — в данном файле содержатся запрещенные домены.
  • expressions — в данном файле содержатся регулярные выражения, которые применяются к запрашиваемому url. Т.е. для борьбы с порнографией вы добавляете сюда, наиболее часто встречаемые слова, например, pornstar, sexdream, showgirl, striptease) и т.д. Если какое-нибудь из этих слов встретится в url, то этот адрес будет заблокирован.
  • urls — из названия понятно, что здесь необходимо указывать запрещенные url, если вам надо заблокировать только определенный адрес, а не весь домен.

  One Response to “Freebsd + SquidGuard”

 Leave a Reply

(required)

(required)

39 Запросов к базе. 0,373 Генерации страницы, 36MB Использование памяти.
Вы зашли с IP: 54.224.247.42