BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 04 июл 2025, 17:12

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
СообщениеДобавлено: 24 июн 2009, 18:29 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
Доброго времени суток!

Есть у меня серьезная проблема c безопасностью управления биллингом.... помогите, плз, если кто знает решение!
Протестировал я значит все нужные функции, поднял биллинг на серваке и начал сажать за биллинг саппорт, бухгалтерию и т.д..... я завел для упрощения работы шаблоны, соответствующие тарифным планам, в каждом плане для модуля коммутируемых соединений настроил предзаводку логина с количеством сессий = 1. Все OK. Сделал группу с ограниченным доступом для тех, кто будет заводить пользователей. Разумеется клиенты не будут работать с логинами 1,2,3... и т.д кроме того у меня уже есть абонентская база, которую нужно перенести - значит нужно прописывать алиасы.

И тут обнаружилось, что для того чтобы дать доступ на прописывание логину алиаса - нужно разрешить "module=dialup;action=UpdateLoginInfo", что само по себе разрешает полную модификацию всех параметров логина:
количество одновременных сессий, набор радиус атрибутов (а оттуда можно посадить скорость большую чем у тарифа)....

Мало того - появляется доступ с созданию новых (дополнительных) логинов с ЛЮБЫМИ настройками!!!

Вообщем, можно по тихому завести два-три (двадцать-тридцать) левых аккаунта, с большими скоростями и мультисессией, распродать их налево и для неограниченных тарифов это будет совсем не заметно для владельца договора, если конечно он не заходит в веб-кабинет.... а что ему там делать если у него unlimited? ;)

Что же делать?!

Спасибо заранее!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 24 июн 2009, 19:04 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
я немного уточню:

все изменения алиаса и других параметров pppoe подключения, а также создание новых логинов делаются с "module=dialup;action=UpdateLoginInfo" - отследить и запретить установку самих значений я конечно могу (например установку radius аттрибута содержащего в названии "скорость"), но я НИКАК не могу отличить изменение значения от нового значения! Вот в чем проблема - update логина и новый логин в HTTP запросе выглядят одинаково....


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 25 июн 2009, 10:09 
Не в сети
Клиент

Зарегистрирован: 12 фев 2007, 18:49
Сообщения: 335
Карма: 15
Любые левые действия станут рано или поздно известны... Или у вас каждый второй сотрудник вор и подлец?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 25 июн 2009, 11:39 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
survivor писал(а):
все изменения алиаса и других параметров pppoe подключения, а также создание новых логинов делаются с "module=dialup;action=UpdateLoginInfo" - отследить и запретить установку самих значений я конечно могу (например установку radius аттрибута содержащего в названии "скорость"), но я НИКАК не могу отличить изменение значения от нового значения! Вот в чем проблема - update логина и новый логин в HTTP запросе выглядят одинаково....


Посмотрите:
http://www.bgbilling.ru/v4.6/doc/ch01s24.html
http://wiki.bgbilling.ru/index.php/Разграничение_прав_действий

Действия можно добавлять самостоятельно, просто поправьте dialup.xml в каталоге actions сервера. Не забудьте сделать .orig файл сначала.

http://www.bgbilling.ru/v4.6/doc/ch01s12.html


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 25 июн 2009, 11:40 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Они не совсем одинаковые, там в одном случае в id передается не то 0 не то new, при обновлении - число. Сделайте акшен создания перед акшеном обновления.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 25 июн 2009, 13:20 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
Спасибо за Ваши ответы!

по поводу доверия сотрудникам.... доверие - это хорошо, но зачем же подвергать людей искушению :)

Теперь касаемо самой проблемы: с разграничением прав доступа знаком, добавлял в файлы actions свои ограничения с регулярными выражениями, но тут дело в другом:

Вот два лога:

ECB622346B654806A4144BC2B37D3BF3 [25/Jun/2009:12:01:26 +0500] 0.023 200 65 "POST /bgbilling/executer HTTP/1.1" UID=1 module=dialup&alias=first_alias&object_id=0&access=0&cid=24&lid=29&session=1&action=UpdateLoginInfo&date2=&mid=1&comment=&date1=25.06.2009&

ECB622346B654806A4144BC2B37D3BF3 [25/Jun/2009:12:02:52 +0500] 0.006 200 65 "POST /bgbilling/executer HTTP/1.1" UID=1 module=dialup&alias=second_alias&object_id=0&login_pswd=1234567&access=0&cid=24&lid=0&session=1&action=UpdateLoginInfo&date2=&mid=1&comment=&date1=&

В первом - я выставляю алиас для логина, который был создан автоматически при создании договора - это действие надо разрешить

Во втором - я создаю второй ЛЕВЫЙ логин :) и это надо запретить...

Никаких отличий в логах для создания соответствующих масок в actions нету!

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

Спасибо заранее!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 25 июн 2009, 18:31 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
у вас в одлном случае идет lid=0 , в другом lid=XXX


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 25 июн 2009, 18:46 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
:) Cпасибо!


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.036s | 33 Queries | GZIP : On ]