Подсчет и ограничение трафика в ISA
Модератор: Модераторы
Сообщений: 6
• Страница 1 из 1
- Admin
- Активный пользователь
- Сообщения: 185
- Зарегистрирован: 09 дек 2004, 17:12
- Откуда: Жуковский
Подскажите пожалуйста какими средствами можно вести подсчет и ограничение трафика пользователей. Можно ли это сделать стандартными средствами ISA.
- Admin
- Активный пользователь
- Сообщения: 185
- Зарегистрирован: 09 дек 2004, 17:12
- Откуда: Жуковский
Я имею ввиду подсчет входящего и исходящего трафика,и запрет доступа к интернет в случае его превышения.
- Stratofortress
- хм...
- Сообщения: 611
- Зарегистрирован: 07 апр 2004, 17:10
- Откуда: ссср
Admin
в ad храним лимит для каждого пользователя.
логи isa — в любую базу. access, ms sql, oracle…
в ad создаём группу, для которой будет ограничен трафик.
пишем скрипт (vbs), где в цикле по пользователям домена (дерева) будем анализировать поглощённый каждым трафик и, в случае его превышения, помещать в упомянутую группу.
в целом, это всё. работы на неделю.
в ad храним лимит для каждого пользователя.
логи isa — в любую базу. access, ms sql, oracle…
в ad создаём группу, для которой будет ограничен трафик.
пишем скрипт (vbs), где в цикле по пользователям домена (дерева) будем анализировать поглощённый каждым трафик и, в случае его превышения, помещать в упомянутую группу.
в целом, это всё. работы на неделю.
нет времени разбираться — наймите того, кто знает.
- Stratofortress
- хм...
- Сообщения: 611
- Зарегистрирован: 07 апр 2004, 17:10
- Откуда: ссср
Admin
учиться никогда не позно.
вот, что постил куда-то когда-то.
что есть.
0. не хочется постить неуниверсальный код
1. логи isa пишутся в… базу oracle. так уж исторически сложилось. так что есть нюансы.
запрос:
учиться никогда не позно.
вот, что постил куда-то когда-то.
что есть.
0. не хочется постить неуниверсальный код
1. логи isa пишутся в… базу oracle. так уж исторически сложилось. так что есть нюансы.
запрос:
Код | ||||
query="SELECT upper(CLIENT) USERNAME, sum(INB) INBOUND " & _
"FROM (SELECT substr(CLIENTUSERNAME, instr(CLIENTUSERNAME, '\')+1, 32) CLIENT," & _ "bytessent INB " & _ "FROM WEBPROXYLOG " & _ "WHERE " & _ "LOGDATE>=to_date('" & dFrom & "', 'dd.mm.yyyy') " & _ "and " & _ "LOGDATE<=to_date('" & dTo & "', 'dd.mm.yyyy') " & _ "and " & _ "CLIENTUSERNAME <> 'anonymous' " & _ "UNION ALL " & _ "SELECT CLIENTUSERNAME CLIENT, " & _ "bytesrecvd INB " & _ "FROM FIREWALLLOG " & _ "WHERE LOGDATE>=to_date('" & dFrom & "', 'dd.mm.yyyy') " & _ "and " & _ "LOGDATE<=to_date('" & dTo & "', 'dd.mm.yyyy') " & _ "and " & _ "CLIENTUSERNAME <> 'anonymous') " & _ "where " & _ "CLIENT like '%" & username & "%' " & _ "group by upper(CLIENT) " & _ "order by 2 desc" [/code] запрос в данном случае не оптимален. написан для получения трафика за любой период. 2. заводим глобальную группу. скажем, "Traffic leaders". этой группе в isa management ставим deny access (ну, или где этот эксесс эллоу, там эту группу исключам) для отключения пользователя достаточно поместить его в указанную групу. функция в скрипте:
|