MYSQL + SAMS2 + squid 3.5 + squidguard
Случилось так, что даже в наше время надо такую связку ставить. Упёрся в то, что ребята ведущие 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.
- 1
0 комментариев
Рекомендованные комментарии
Нет комментариев для отображения
Пожалуйста, войдите для комментирования
Вы сможете оставить комментарий после входа
Войти сейчас