Перейти к содержимому
Local
Alexey Osipov

Веб-авторизация для Stargazer

Рекомендованные сообщения

Всем привет!

 

Есть небольшая компания, которая хочет контролировать использование интернета своими сотрудниками (~30 пользователей). Авторизация пользователей по IP/MAC ненадежна. Поднятие PPPoE приведет к трудностям как для пользователей (надо "подключать" интернет), так и для админа (шлюз по умолчанию для пользователей после подключения PPPoE изменится и трафик пойдет через него => на сервере придется специальным образом обрабатывать доступ к внутренним ресурсам). squid-авторизация решает вопрос только для http-трафика и только если squid непрозрачный (а непрозрачный squid опять же геморрой для пользователей). Поэтому есть мысль использовать веб-авторизацию.

Значит идея следующая. Пишем для Stargazer новый модуль авторизации, который содержит в себе свой маленький https-сервер. Неавторизованный пользователь заходит на этот https-сервер и вводит там логин/пароль. Плагин аутентифицирует пользователя, и у последнего появляется интернет. Разлогинится можно на той же странице. Кроме того, после авторизации плагин помещает пользователя в специальный список и начинает следить за количетством потребляемого пользователем трафика. Если за последние N минут пользователь не потребил ни одного байта трафика, происходит автоматическое разлогинивание.

 

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

 

Я было собрался всё это запилить, но у меня странное ощущение, что задача-то вобщем не новая. Может быть есть какие-то типовые решения на этот счет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

аторизатор старгейзера не канает ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поднятие PPPoE приведет к трудностям как для пользователей (надо "подключать" интернет)

 

Пишем для Stargazer новый модуль авторизации

вы не логичны

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всем привет!

 

Есть небольшая компания, которая хочет контролировать использование интернета своими сотрудниками (~30 пользователей). Авторизация пользователей по IP/MAC ненадежна.

у вас там корпорация хакеров которая ради пары лишних байт полезет менять себе мак ?:) Или чем она ненадёжна ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пропишите каждому пользователю МАК на порту свича. Или используйте opt82.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Captive portal в общем вы хотите. Круто че.

Несмотря на странноватую мотивацию про 30 юзеров и офисную сеть - идея вполне хорошая и будет востребована, хотя немного в другом ключе. Не так давно, чисто из интереса пилил такое на pfsense + radius - но работает на практике, это мягко говоря странновато. Свое родное - было бы на порядок круче и не требовало бы двух раздельных тазов.

 

P.S. а почему именно свой вебсервер тащить? Можно же сделать обертку над урезанным консольным авторизатором - это должно на порядок упростить реализацию, не?

Изменено пользователем nightfly

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Плюсану по поводу внешнего веб-сервера. А авторизацией можно рулить через Always Online.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
. А авторизацией можно рулить через Always Online.

Какраз нехорошо, ибо насколько помню auth_ao не совместим с айпишками в виде *, или через запятую. Там по духу однозначно auth_ia в контексте хотспото-образности ближе.

Изменено пользователем nightfly

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так можно ж предварительно конфигуратором пнуть чтобы айпиху запилить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

Так можно ж предварительно конфигуратором пнуть чтобы айпиху запилить.

Ну да, это было бы вполне извращением в моем стиле :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сердечно благодарю за мнения!

 

Я таки почти одумался и вернулся к рассмотрению варианта с привязкой IP/MAC.

 

аторизатор старгейзера не канает ?

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

 

Пропишите каждому пользователю МАК на порту свича. Или используйте opt82.

+, но по условиям задачи у нас неизвестно какие свичи.

 

Captive portal в общем вы хотите. Круто че.

ВО! Я теперь знаю, по какому слову гуглить. Спасибо! :)

 

P.S. а почему именно свой вебсервер тащить? Можно же сделать обертку над урезанным консольным авторизатором - это должно на порядок упростить реализацию, не?

+, а ещё я внезапно вспомнил про CGI.

Но вообще изначально хотел заюзать вот это: https://www.gnu.org/software/libmicrohttpd/Вроде как раз для этих целей. Не C++ правда, но.

 

Плюсану по поводу внешнего веб-сервера. А авторизацией можно рулить через Always Online.

Always online как-раз не очень по причинам, озвученным нашим пытателем единорогов. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

не понимаю, почему так много критики

у меня уже несколько лет сделано так:

есть "небольшой веб-сервер" на перле, который сидит на 81 порту. для неавторизированных пользователей - редирект с 80 и 443 порта на 81

веб сервер отдает одну страничку: введите имя-пароль и "включен постоянно"

если "включен постоянно", то запоминаем ИП+МАК и в дальнейшем веб-сервер при появлении трафика от абона автоматом включает его

по крону периодически проверяю трафик абона, если долгий простой - то выключаем через sgconf

вначале пробовал динамические адреса: устанавливал ИП перед включением, потом остановился на статических

 

работает - проблем особых нет

сеть: 1,5к абонов

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
не понимаю, почему так много критики

Позырил в календарик, и О УЖАС - 2015-й год на дворе. Давно существуют более приемлемые и вменяемые способы ААА для абонентов.

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

 

 

 

по крону периодически проверяю трафик абона, если долгий простой - то выключаем через sgconf

Сами догадаетесь, почему это стремота-стремная, или намекнуть?

 

 

работает - проблем особых нет

сеть: 1,5к абонов

Я не знаю что можно сделать, при таком размере абонбазы, чтобы что-то не работало.

Изменено пользователем nightfly

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

...

работает - проблем особых нет

сеть: 1,5к абонов

Ad-hoc решения всегда для кого-то работают. А представьте что у вас 10 сетей в пяти городах и трех странах, физики/юрики, схемы тарификации разные...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

  • Похожие публикации

    • Автор: mac
      Добрый день всем!
      Прочитал в вики про Stargazer 2.409 о том, что "реализованы плавающие периоды тарификации".
      Это то, что я думаю??? (пример) :
       
      Где, кроме исходного кода, можно узнать более подробно, какие параметры использовать? В документации к Stargazer 2.408 не нашел или не увидел.
    • Автор: ppv
      Підкажіть будь ласка яким чином генерується Платіжний ID, а це в мене в деяких абонентів 10 цифр а в деяких 9?
       
       
    • Автор: ppv
      В 79 строці файлу https://github.com/nightflyza/Ubilling/blob/master/openpayz/frontend/ipayx/index.php
      79   $customerId = $transactionInfo->acc;
      Так не працює, але якщо acc замінити на order тоді все гуд.
    • Автор: pavlabor
      Почитал вопросы возникающие вокруг работы ubilling и понял что проблемы связаны с архитектурой  Stargazer
      Насколько я понял проблем очень много, некоторые из них.
      Stargazer работает с базой в памяти и при параллельной работе с базой возникают конфликты с работой, например с внесением оплаты другим приложением.
      При остановке Stargazerа или биллинга идет сбой работы Насов.
      Текущая архитектура может стать ограничением по количеству возможно обслуживаемых клиентов.
       
      Проблемы не все, но этих достаточно чтобы задуматься о альтернативе написания эмулятора  Stargazer-а.
      Мое понимание, эмулятор должен выглядеть как модуль, который можно включить или выключить, или выбор работы или через Stargazer, или через внутренний модуль.
       
      Приветствуется любая критика и предложения,
      помощь в консультации и программировании.
      Спонсирование заинтересованных сторон, приветствуется.
    • Автор: ppv
      Скидочные средства начисляются по каждому позитивному платежу за текущий месяц при помощи вызова discountprocessing из API удаленного вызова. Так все працює. питань нема.
      Все это выглядит с точки зрения движения средств следующим образом:
       
      Попри те що працює, в "Рух коштів", не відображається строки скидок.
      В кого відображається ?
×