URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 58388
[ Назад ]

Исходное сообщение
"Система управления пользователями в Squid"

Отправлено opennews , 31-Авг-09 13:44 
Представлен (http://bsd.ucd.uz/sistema-upravleniya-polzovatelyami-v-squid...) простой web-интерфейс для управления пользователями в Squid. Основные возможности:


-  Учет пользователей в сети, управление пользователями.
-  Аутентификация пользователей происходит по их IP адресам.
-  Учет трафика пользователя. Учет ведется через ipfw и путем анализа трафика по логам squid.
-  Просмотр набранной статистики. Отчет по выбранному пользователю (кто куда заходил).
-  Также установлена и немного подредактирована программа sqstat. Данный скрипт показывает кто в данный момент пользуется интернетом.

URL: http://bsd.ucd.uz/sistema-upravleniya-polzovatelyami-v-squid...
Новость: http://www.opennet.me/opennews/art.shtml?num=23226


Содержание

Сообщения в этом обсуждении
"Ну и на кой оно?"
Отправлено loukash , 31-Авг-09 13:44 
"Сделано довольно всё коряво, очень много надо что довести до ума и переделать."(с) Если даже автор так говорит, зачем это рекламировать?

"Ну и на кой оно?"
Отправлено NameName , 31-Авг-09 13:54 
очевидно, хочет развивать проект и нужны соучаснеги (:

"Ну и на кой оно?"
Отправлено anonymous , 31-Авг-09 14:01 
Во первых, это не рекламируется. Просто хотел показать как можно сделать простую просматривалку статистики по пользователям. Чтобы начальство, зайдя на страничку, могли сами кому надо вырубить интернет, посмотреть кто где лазяет... Лучше подскажите где, что и как правильнее сделать, буду очень благодарен...

"Система управления пользователями в Squid"
Отправлено ононим , 31-Авг-09 14:19 
лучше lightsquid допилите. я скажу вам спасибо. если хотите, нпишу список того что там надо доработать.

"Система управления пользователями в Squid"
Отправлено anonymous , 31-Авг-09 14:23 
Я Вам честно скажу, я не програмист. Просто увлекаюсь иногда понемногу такой деятельностью.

"Система управления пользователями в Squid"
Отправлено ононим , 31-Авг-09 14:25 
Если вдруг освоите, будет хорошо. lightsquid - это просто перл скрипт для генерации статистики по сквиду в HTML

"Система управления пользователями в Squid"
Отправлено anonymous , 31-Авг-09 14:53 
:D. Побежал учить перл.

"Система управления пользователями в Squid"
Отправлено Аноним , 31-Авг-09 15:16 
Та контора где начальник САМ будет вырубать инет, а не давать указания службам IT или админу.. не гуд контора.. каждый должен заниматься своим делом )) а не на все руки мастер! imho конечно

"Система управления пользователями в Squid"
Отправлено anonymous , 31-Авг-09 15:50 
>Та контора где начальник САМ будет вырубать инет, а не давать указания
>службам IT или админу.. не гуд контора.. каждый должен заниматься своим
>делом )) а не на все руки мастер! imho конечно

В основном стоял вопрос о просмотре статистики, так в принцыпе с Вами полностью согласен.


"Система управления пользователями в Squid"
Отправлено ra , 01-Сен-09 05:43 
Совершенно с вами согласен. НО. Такого начальства - море. То ли им интересно находить новые порноресурсы, то ли элементарное любопытство, то ли забота о моральном облике, то ли пытаются контролировать сотрудников - не знаю, но тема очень актуальная.

"Система управления пользователями в Squid"
Отправлено Аноним , 31-Авг-09 17:07 
Можно отключать пользователя средствами Squid,
например удалить из файла группы и
/etc/init.d/squid reload

Отключать пользователя будете по какому признаку?


"Система управления пользователями в Squid"
Отправлено anonymous , 31-Авг-09 17:26 
>Можно отключать пользователя средствами Squid,
>например удалить из файла группы и
>/etc/init.d/squid reload

точнее squid -k reconfigure
>
>Отключать пользователя будете по какому признаку?

захотел отключил, захотел включил.
Скоро сделаю скрипт, который будет выключать пользователей по лимиту трафика.


"Система управления пользователями в Squid"
Отправлено хакир , 01-Сен-09 16:15 
> Можно отключать пользователя средствами Squid,
> например удалить из файла группы и
> /etc/init.d/squid reload

бред.. я бы повешался делать это ради одного юзера.
группы squid умеет перечитывать, там выставляется таймаут.
статью не читал, давно юзаю ldap, и squid авторизует по группам, пользователей, комьпютеры, без всяких reload.


"Система управления пользователями в Squid"
Отправлено Nas_tradamus , 31-Авг-09 17:21 
SAMS юзал для этих целей. Приходилось допиливать напильником, но работало.

"Система управления пользователями в Squid"
Отправлено anonymous , 31-Авг-09 17:29 
>SAMS юзал для этих целей. Приходилось допиливать напильником, но работало.

Я пробовал несколько раз, но то что я именно хотел, не получилось, тем более мне нужно было вести учет трафика через брандмауэр, чтобы точнее считался трафик, из-за этого возникла мысль писать с нуля.


"Система управления пользователями в Squid"
Отправлено Nas_tradamus , 31-Авг-09 17:51 
>>SAMS юзал для этих целей. Приходилось допиливать напильником, но работало.
>
>Я пробовал несколько раз, но то что я именно хотел, не получилось,

У меня тоже многое что не получалось в SAMS по началу. Да и юникс я только-только начинал осваивать и имел глупость ставить все из исходников на SLES :).
Но когда допилил, получил полноценную систему с антивирусом и учетом трафика по логину (ncsa, домена не было). Авторизации по IP было мало - за одним компом могло работать несколько юзеров. Когда юзер превышал разрешенный трафик на месяц, его "интернет" блокировался и ему приходилось объясняться с начальством почему так вышло (начальство могло посмотреть его полную статистику за месяц).

К счастью, я в этой конторе больше не работаю. :)

>тем более мне нужно было вести учет трафика через брандмауэр, чтобы
>точнее считался трафик, из-за этого возникла мысль писать с нуля.

Здесь не понял. А Ваш скрипт умеет снимать статистику net-flow? :)


"Система управления пользователями в Squid"
Отправлено anonymous , 31-Авг-09 19:10 
>[оверквотинг удален]
>трафик на месяц, его "интернет" блокировался и ему приходилось объясняться с
>начальством почему так вышло (начальство могло посмотреть его полную статистику за
>месяц).
>
>К счастью, я в этой конторе больше не работаю. :)
>
>>тем более мне нужно было вести учет трафика через брандмауэр, чтобы
>>точнее считался трафик, из-за этого возникла мысль писать с нуля.
>
>Здесь не понял. А Ваш скрипт умеет снимать статистику net-flow? :)

у нас в конторе стоит прозрачный прокси, на сколько я помню авторизация по логину в прозрачном режиме в сквиде не проходит... net-flow считать не умеет :). а на счет чтобы точнее, это я имел ввиду, кроме www трафика есть и другой, конечно вы скажите, вот можно настроить чтобы всё что нужно шло через squid, но этот вариант не подходит.


"Система управления пользователями в Squid"
Отправлено Nas_tradamus , 31-Авг-09 19:23 
>>[оверквотинг удален]

Извиняюсь, не заметил что ваш скрипт собирает статистику ipfw.
Ну тогда, классно :).

>можно настроить чтобы всё что нужно шло через squid, но этот
>вариант не подходит.

А разве через SQUID можно пропускать НЕ-http(s) трафик?


"Система управления пользователями в Squid"
Отправлено Руслан , 01-Сен-09 09:08 
Да, можно ftp пропускать :)

"Система управления пользователями в Squid"
Отправлено anonymous , 02-Сен-09 08:51 
>>>[оверквотинг удален]
>
>Извиняюсь, не заметил что ваш скрипт собирает статистику ipfw.
>Ну тогда, классно :).
>
>>можно настроить чтобы всё что нужно шло через squid, но этот
>>вариант не подходит.
>
>А разве через SQUID можно пропускать НЕ-http(s) трафик?

я это и имел ввиду, всё через SQUID не пустиш.


"Система управления пользователями в Squid"
Отправлено dq0s4y71 , 01-Сен-09 12:28 
>Когда юзер превышал разрешенный трафик на месяц, его "интернет" блокировался и ему приходилось объясняться с начальством почему так вышло (начальство могло посмотреть его полную статистику за месяц).

А зачем объясняться с начальством? У нас лимит выделяется на день каждый день, и если ты его "съел" за час - твои проблемы. До следующего дня ты просто доступ не получишь.


"Система управления пользователями в Squid"
Отправлено Nas_tradamus , 01-Сен-09 13:12 
>>Когда юзер превышал разрешенный трафик на месяц, его "интернет" блокировался и ему приходилось объясняться с начальством почему так вышло (начальство могло посмотреть его полную статистику за месяц).
>
>А зачем объясняться с начальством? У нас лимит выделяется на день каждый
>день, и если ты его "съел" за час - твои проблемы.
>До следующего дня ты просто доступ не получишь.

Ну вот, если им был необходим доступ для работы, они начинали жаловаться админу. А админ отправлял к начальству, чтобы оно приняло решение давать доступ или нет.

PS: как хорошо жить, если в здании есть провайдер, предоставляющий корпоративный анлим  :).


"Система управления пользователями в Squid"
Отправлено dq0s4y71 , 01-Сен-09 17:23 
> PS: как хорошо жить, если в здании есть провайдер, предоставляющий корпоративный анлим  :).

Особенно когда начальство не против этот анлим покупать :)


"Система управления пользователями в Squid"
Отправлено Аноним , 31-Авг-09 17:42 
Плох тот админ, что не написал считалку трафика :)
Каждый час проходим по логу squid и сравниваем с лимитом
пользователей, записанном в файле.
При превышении лимита удаляем пользователя из acl-файла Squid.
Для ускорения процесса начинать с последней обработанной строки лога.

Написано на Perl.


"Система управления пользователями в Squid"
Отправлено вломписатьникинабратьпароль , 01-Сен-09 20:32 
а еще быстрее
cat access.log | sed -e 's/\"/\\\"/g' | sed -e "s/\'/\\\'/g" | awk ' {print strftime("%F",$1),strftime("%T",$1),$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$1 $2 $3 $4 $5 $6 $7 $8 $9 $10} ' | sed -e "s/ /\t/g" > prepare.log && \
    mysql -h host -u user -ppassword -e "LOAD DATA INFILE \"prepare.log\" REPLACE INTO TABLE db.table;"
и встроенная функция в мускуль, и простейший bash скрипт, который дергает функцию
150к строк в минуту загоняет спокойно, подсчет статистики из баш скрипта занимает 0,3 сек за месяц (4 милиона строк в месяц).
развив тему, можно еще прикрутить вторую табличку с лимитами, еще одну функцию и из баша генерить список отключенных

"На перле есть такая же подделка которая умеет все это и намн"
Отправлено Аноним , 31-Авг-09 19:03 
На перле есть такая же подделка которая умеет все это и намного больше.
http://stc.nixdev.org/index.php


"На перле есть такая же подделка которая умеет все это и намн"
Отправлено anonymous , 31-Авг-09 19:12 
>На перле есть такая же подделка которая умеет все это и намного
>больше.
>http://stc.nixdev.org/index.php

в моем случае, я добился того что мне нужно было, и нацелено это было только для моих нужд. Просто поделился тем что я сделал, может быть кому-то такое же решение подойдет.


"На перле есть такая же подделка которая умеет все это и намн"
Отправлено Aleksey , 01-Сен-09 01:16 
И это правильно, свой велосипед он как-то роднее :) Хотя, конечно, обычно лучше идти простым путем.

"Система управления пользователями в Squid"
Отправлено anonymous , 31-Авг-09 19:20 
>Каждый час проходим по логу squid и сравниваем с лимитом

Не, не гут :) Я сначала так и делал, а потом написал "демона":
tail -f access.log|megascript.pl &
Так намного лучше. А в скрипте - всё что угодно. У меня там была запись в скуль, в котором проводились разные махинации, а потом генерировался лог для лайтсквида.


"Система управления пользователями в Squid"
Отправлено Vitaly_loki , 01-Сен-09 07:53 
а зачем tail -f? Есть же именнованные каналы... man mkfifo

"Система управления пользователями в Squid"
Отправлено вломписатьникинабратьпароль , 01-Сен-09 20:43 
>>Каждый час проходим по логу squid и сравниваем с лимитом
>
>Не, не гут :) Я сначала так и делал, а потом написал
>"демона":
>tail -f access.log|megascript.pl &
>Так намного лучше. А в скрипте - всё что угодно. У меня
>там была запись в скуль, в котором проводились разные махинации, а
>потом генерировался лог для лайтсквида.

а потом попадаем на превышение размера буфера и здравствуй потеря данных (сделать pipe из access.log и его нюхать-тоже самое)


"Система управления пользователями в Squid"
Отправлено altuhov , 01-Сен-09 08:25 
Посмотрите мои проекты:
http://phpal.sourceforge.net/alsamsbilling - биллинг для SAMS. Работает с базой логов в MySQL, которые туда заносит демон samsdaemon из файла access.log
http://phpal.sourceforge.net/allanbilling - биллинг для NetFLow. Работает с базой логов в MySQL, которые туда заносит flow-export из flows, созданных flow-capture, а на flow-capture можно слать через fprobe-ulog или с Cisco.
http://phpal.sourceforge.net/alsumbilling - биллинг объединяющий информацию из двух вышеуказанных биллингов в одной таблице (суммирует)

Посмотрите. Есть скриншоты, инструкции. Вдруг пригодится.


"Система управления пользователями в Squid"
Отправлено Руслан , 01-Сен-09 09:16 
http://phpal.sourceforge.net/usb-flash-drive-cleaner
> remove RECURCLE folder

Всё остальное понравилось. :-)


"Система управления пользователями в Squid"
Отправлено bliss , 01-Сен-09 23:15 
Сабж не смотрел, но у себя на предприятии подобную фигню пользуем уже пару лет. Писал в пору молодости, на Перл. Показывает текущие сессии, логи, пользователей, объединяет их в группы, выставляет скорость и фильтрацию по контенту и времени доступа. Количество трафика не ограничиваем. Режем сквидой скорость. Еще и почтовыми аккаунтами заведует. Очень удобно, хотя и с колокольни нынешнего дня, весьма и весьма примитивно. Если буду переписывать -- то на каталисте.

"Система управления пользователями в Squid"
Отправлено вломписатьникинабратьпароль , 02-Сен-09 00:31 
Чутка поворчать. Многорукий, конечно, хорош, но http|https|ftp трафиком народ нонеча не довольствуется. Ему подавай smtp|pop3|imap, а также skype, icq, torrent и прочие `cat /etc/services`. Так что (вдогонку к аксиоме "плох тот админ, который не написал свой биллинг"), могу добавить, что самое вменямое (и с разделением на посещенные сайты, и на куда послана/откуда получена почта и т.д.) это связка из pptpd|mpd/freeradius/postfix|sendmail|qmail/squid/net-acct|firewall/pop3proxy/netflow/provider-billing
Плох тот админ, что не свяжет сие поделие воедино:)
ЗЫ: задарите инвайт на хабр-отпишу как срастить все это