Jump to content
iT4iT.CLUB
  • entries
    7
  • comments
    0
  • views
    4,675

MYSQL + SAMS2 + squid 3.5 + squidguard

Maerhekil

4,093 views

Случилось так, что даже в наше время надо такую связку ставить. Упёрся в то, что ребята ведущие 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 Comments


Recommended Comments

There are no comments to display.

Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...