четверг, 14 октября 2010 г.

Установка компилятора для сборки squid-3

Проблема: в Ubuntu squid3 не хочет компилироваться, вылетает ошибка:
checking for C++ compiler default output file name...
configure: error: C++ compiler cannot create executables
See `config.log' for more details.
configure: error: ./configure failed for lib/libTrie

Решение: в консоли пишем:
sudo apt-get install build-essential
Далее можно компилировать  squid.

понедельник, 11 октября 2010 г.

Список вражеских сайтов

В предыдущем сообщении я писал о том, как настроить squid на блокирование сайтов, перечисленных в текстовом файле. Где такой список взять? Например, там:
1) Список из 2414 сайтов с сайта www.antiporno.org;
2) Список нежелательных сайтов с сайта ru-board.com;
3) http://rejik.ru/
4) http://www.squidguard.org/blacklists.html

А можно  использовать бесплатные DNS серверы NetPolice.ru, а именно:
81.176.72.82
81.176.72.83

Получаем почти 100% защиту от вражеских сайтов.

пятница, 8 октября 2010 г.

Дополнительная настройка Squid

Задача:
запретить пользователям ходить на определенные сайты,
распределить скорость Интернет-канала между обычными смертными и привилегированными пользователями.

Использованные ссылки:
1) RED HAT клуб, тема форума "Запрет посещения сайтов в SQUID";
2) Статья "Фаршировка кальмара" Сергея «grinder» Яремчука в журнале "Хакер" (#115, стр. 115-122-1);
3) Статья "Ограничение скорости в SQUID (squid example limit delay)" на сайте opennet.ru;
4) Статья "Настройка Squid для начинающих (squid proxy acl)" на сайте opennet.ru;
5) FAQ "Зона особого внимания: Squid" на сайте opennet.ru.

Часть 1. Запрет посещения определенных сайтов


1) В каталоге squid создаем файл, в котором будем писать имена вражеских сайтов:
gedit /etc/quid3/siteban
В открывшемся текстовом редакторе пишем имена сайтов в таком виде:
.odnoklassniki.ru
.vkontakte.ru
.mail.ru
и так далее. После этого файл сохраняем, текстовый редактор gedit закрываем.
2) Редактируем конфигурационный файл squi'да:
gedit /etc/squid3/squid.conf
добавляем строки перед "http_access allow users":
acl siteban url_regex -i "/etc/quid3/siteban"
http_access deny users siteban

Должно получиться вот что:

http_port 3128
auth_param basic program /usr/lib/squid3/ncsa_auth /usr/local/squid/passwd
acl users proxy_auth REQUIRED
acl siteban url_regex -i "/etc/quid3/siteban"
http_access deny users siteban
http_access allow users
http_access deny all

3) Перезапускаем squid - в терминале пишем: /etc/init.d/squid3 restart

Часть 2. Распределение скорости
Допустим, в squid заведен пользователь user для обычных пользователей и boss1, boss2 для начальника отдела и начальника всего предприятия соответственно. Требуется сделать так, чтобы обычный клерк Вася, вдруг захотев скачать фильм, не лишил начальников удовольствия быстро открывать страницы.
1) Редактируем конфигурационный файл squi'да:
gedit /etc/squid3/squid.conf
Вместо строки "acl users proxy_auth REQUIRED" пишем
acl users proxy_auth user
acl usersboss proxy_auth boss1 boss2
2) Создаем пул для управления скоростью. Ниже пишем:
delay_pools 1
теперь задаем для него свойства:
delay_class 1 1 
3) Пусть весь Интернет-канал обладает скоростью 512 Kbit/s.
Дадим обычным пользователям 200 Kbit/s. Задаем ограничение скорости для пользователя user:
delay_parameters 1 25000/25000 
delay_access 1 allow users
delay_access 1 deny all
Получается, что мы дали всем обычным пользователям сети, которые ходят в Интернет с логином user, всего 200 Kbit/s.
К начальникам ограничений не применяем для того, чтобы они могли при желании забивать весь Интернет-канал. Но, при необходимости, им тоже можно ввести ограничение.
В итоге конфигурационный файл Squid выгладит следующим образом:
http_port 3128
auth_param basic program /usr/lib/squid3/ncsa_auth /usr/local/squid/passwd
acl users proxy_auth user
acl usersboss proxy_auth boss1 boss2
delay_pools 1
delay_class 1 1 
delay_parameters 1 25000/25000 
delay_access 1 allow users
delay_access 1 deny all 
http_access allow users
http_access allow boss
http_access deny all

3) Перезапускаем squid - в терминале пишем: /etc/init.d/squid3 restart