Перейти к публикации
iT4iT.CLUB

Памятки сисадмина

  • записей
    7
  • комментариев
    0
  • просмотров
    6 388

MYSQL + SAMS2 + squid 3.5 + squidguard

Maerhekil

6 259 просмотров

Случилось так, что даже в наше время надо такую связку ставить. Упёрся в то, что ребята ведущие SAMS уже давненько не обновляли своё детище и sams2redir не  коректно пашет со SQUID выше 3.3, да и со SQUIDGUARD не получилось его связать, покумекав решил ну и ладно, будем ставить костыли. Описывать установку SAMS, SQUID и SQUIDGUARD не буду, только опишу саму идею как неработающее заработало.

Мне аутентификация не нужна, нужна идентификация по IP в этом случае, это облегчило мою участь.

У нас есть уже живут на серваке выше упомянутые звери. Указываем SAMS2 редиректор SQUIDGUARD, в SQUID разрешаем всё для всей сети. Пока не завели GUARD у нас пользователи заводятся в SAMS2 и гуляют по инету свободно, замечу SQUIDу вообще пофигу что там в SAMS2, резать и знать какие пользователи появились в SAMS2 будет SQUIDGUARD. И да, не надо запускать реконфигурацию SQUID в SAMS2 ни в коем случае, вообще запретите редактировать файл squid.conf всем кроме рута.

При появлении новых юзеров в SAMS2, он добавляет их в mysql, да всё он туда добавляет, вот этим и воспользуемся.

Завели парочку айпишников в SAMS2, сохранили.

Тачим файлик который будет забирать инфу с базы SAMS2 которая нам нужна.

#cd /usr/local/etc/squid

# touch sgfind.sh

Наполняем его

#!/bin/sh
cd /usr/local/etc/squid/
/usr/local/bin/mysql sams2db -uЮЗЕР -pПАРОЛЬ -se "SELECT s_ip FROM squiduser WHERE s_enabled = '-1';" > deny-ip
/usr/local/bin/mysql sams2db -uЮЗЕР -pПАРОЛЬ -se "SELECT s_ip FROM squiduser WHERE s_enabled = '1';" > allow-ip
cd /
exit

Указывать или нет пароль в открытом виде или нет, дело каждого, кто хочет может поизгаляться вынести пароль в отдельный файл.

Разрешим исполнять этот файл

# chmod 740 /usr/local/etc/squid/sgfind.sh

Запустим пока его ручками, он выберет с базы айпишники и разложит по файлам, сконфигурируем SQUIDGUARD на эти списки.

 Добавляем строчку редиректа в squid.conf с "детками".
 

url_rewrite_program /usr/local/bin/squidGuard -c /usr/local/etc/squid/squidGuard.conf

url_rewrite_children 20

Перезапускаем SQUID и вуаля, блокировка работает

Добавим в crontab это детище

0/30  *  *  *  *  root   /usr/local/etc/squid/sgfind.sh

Как-то так, это только начало, забирать с SAMS2 базы в MYSQL можно и остальное и травить на него SQUIDGUARD. Такие вот костыли.

Возможно я по незнанию что-то сделал не так, ну или всё. Пишите может, что ещё посоветуете. 

Enjoy.



0 комментариев


Рекомендованные комментарии

Нет комментариев для отображения

Пожалуйста, войдите для комментирования

Вы сможете оставить комментарий после входа



Войти сейчас
×
×
  • Создать...