Четверг, 25.04.2024, 22:46
Dansguardian+ и не только
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
Меню сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
 Заметки SQUID.

Заметки о SQUID:
1. Задание родительского прокси для Squid

в squid.conf, прописываем

acl all src 0.0.0.0/0.0.0.0
cache_peer 192.168.0.1 parent 3128 0 no-query default
never_direct allow all

192.168.0.1  ip- родительского прокси, 3128 - порт родительского прокси.
never_direct - не разрешает работу прокси напрямую, если недоступен родительский прокси.

2. Просмотр конфига без комментариев и пустых строк
вариант 1.
grep -v '^#' /etc/squid/squid.conf  | grep -v '^$'

вариант 2.
cat /etc/squid/squid.conf | grep -v '^#' | grep -v '^$'

3. Запрещаем поиск на MAIL, RAMBLER, LIVE.COM
acl non_safe_search url_regex -i (go\.mail\.ru/search.{0,}[?&]q=|search.live.com|nova.rambler.ru)
http_access deny all non_safe_search

4. Принудительное задание DNS-сервера, полезно например при использовании фильтрующих DNS,
типа SKYDNS http://skydns.ru, или как в моем случае, при тупом DNS-сервере провайдера, где это видано,
чтоб пинг от гугла шел 10 секунд.

например
dns_nameservers 193.58.251.251 127.0.0.1

5. Ввод-вывод basic-хелпера авторизации на Squid.
Ничего нового не открыл, просто делаю заметку, мож кому пригодится.
Для тех, кто хочет свой basic-хелпер авторизации написать хоть на Bash, хоть на Perl, или чем-то другом.

Ввод хелпера, то что хелпер получает от Squid, представляет собой строку, содержащую два значения разделённых пробелом, первое значение логин, второе пароль.
Вывод хелпера, то что хелпер отдает Squid-у представляет собой строку, которая может содержит или ОК или ERR
Если SQUID, получает от хелпера ERR, то он блокирует доступ, а если OК, то пользователь считается прошедшим авторизацию, дальнейшее поведение Squid определяется ACL, при этом ответ хелпера кэшируется, для избежания излишней нагрузки, время кэширования устанавливается определёнными опциями.

Вкратце алгоритм хелпера примерно такой.
Читаем со стандартного ввода строку переданную Squid.
Разделяем её на два значения пароль и логин, используя в качестве разделителя пробел, записываем в соответствующие переменные.
Дальше обрабатываем полученные переменные на соблюдение определенных условий, типа совпадения логина и пароля, принадлежность логина к группе и др.
тут есть где фантазии разгуляться можно использовать и базы данных, и группы для логинов и многое другое.
И в результате всей этой обработки, на стандартный вывод выводим одно из значений OК или ERR.

Подключаем наш хелпер как стандартный Basic-хелпер :)

PS. Не забываем о безопасности при написании кода.

6. Изменение стандартного порта SQUID на свой
http_port 3128
или с указанием ip
http_port 127.0.0.1:3128






Copyright MyCorp © 2024
Поиск
Архив записей
Календарь
«  Апрель 2024  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
2930
Сайт управляется системой uCoz