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

MYSQL + SAMS2 + squid 3.5 + squidguard

Maerhekil

3,897 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.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

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...