Мы в Telegram
Добавить новость

Подмосковная полиция пресекла крупный канал сбыта наркотиков в регионе

По проекту «Социальная газификация» к газу подключили 1,5 тыс домов в Ступине

Воробьев подписал на ПМЭФ соглашение о пунктах сбора текстиля в Подмосковье

Суд поддержал решение УФАС по Подмосковью в отношении ООО «Нерудторг»



Новости сегодня

Новости от TheMoneytizer

Доработать RADIUS сервер Freeradius для captive portal

Это является моей дипломной работой. Данные проект почти закончен, но есть некоторые моменты, которые я не смог сделать или разобраться. Коротко, я не смог настроить работу google oauth(подключена, но работает не очень), а также настроить сессии в freeradius. Мне очень нужна помощь, просто доделать то, что я не доделал. Использую стек: freeradius, nodejs+expressjs, postgresql, html/css/js. Вот мой github https://github.com/Pavewleln/captive_portal
web - это ветка с сайтом и сервером. main - сборка для установки на чистую систему debian.
Также дам доступ к облачному серверу, где это уже настроено. Очень нужна помощь!! Буду безумно благодарен. Можно написать в тг для подробностей https://t.me/dedMefedroniy
По цене если что тоже договоримся.
Вот мое ТЗ

-------------------------------------------------------------------------------------------------------------------------------------------------

Требуется разработать комплекс Captive portal.

Комплекс состоит из WEB-интерфейса (для клиента, для
администрирования), БД для хранения данных и RADIUS-сервера для общения
с контроллером.
Комплекс работает на базе ОС Linux.
СУБД и RADIUS-сервер используем готовые, например freeradius и
mariadb.
Портал должен иметь WEB-интерфейс, с которым взаимодействует клиент
для своей идентификации.
Портал должен иметь WEB-интерфейс для администрирования.
Портал должен хранить данные идентификации клиентов в БД, схема БД и
выбор СУБД на собственное усмотрение.
Размещение WEB-портала, СУБД и RADIUS-сервера может быть как на
одной машине, так и на разных - на собственное усмотрение.

Клиентский интерфейс:

приветственное окно
выбор способа идентификации
идентификация клиента
возможность досрочно закрыть свою сессию

Способы авторизации:

заранее внесённые пары логин-пароль в БД - обязательно
OAuth-авторизация - по возможности (хотя бы через Google).

OAuth-авторизация через Госуслуги и авторизация через СМС не
обязательна. Сам процесс интеграции с Госуслугами непростой, требует
интеграции Крипто-Про (он платный). Авторизация по СМС подразумевает
взаимодействие с операторами сотовой связи, и вероятно, на платной
основе. В общем случае требуется только показать, что портал умеет
идентифицировать клиента, и что в будущем можно будет добавить и эти
способы идентификации. То есть архитектура сервиса должна быть сразу
заложена под расширение способов идентификации.
Интерфейс администрирования:

выбор доступных способов идентификации
управление парами логин-пароль
(просмотр/добавление/изменение/удаление)
просмотр активных сессий клиентов (тех, кто недавно авторизовался и
ещё имеет полный доступ в Интернет) с возможностью досрочно
деавторизовать клиента
просмотр всех сессий с фильтрами (выбор дат (от, до), выбор
идентификатора клиента) с указанием данных сессии, полученных от
контроллера
просмотр всех сохранённых сообщений о событиях портала или RADIUS -
по желанию. В этом случае требуется логирование событий в БД.
выгрузка данных в форме отчёта - по желанию (может быть в форме CSV,
XML, JSON или другой, но машиночитаемый)

Бекенд:

Бекенд портала авторизации должен обеспечивать все вышеуказанные функции
интерфейса, а также взаимодействовать с БД для обновления
идентификационных данных клиента и открытия/закрытия сессий. Бекенд
может хранить все данные настройки в той же БД. Также бекенд должен
вызвать HTTP-запрос на указанный обратный адрес контроллера.

Бекенд должен уметь обрабатывать следующие данные из HTTP-запроса
клиента:

client-ip - IP-адрес клиента
client-mac - MAC-адрес клиента
ap-ip - IP-адрес точки доступа
ap-mac - MAC-адрес точки доступа
ac-ip - IP-адрес контроллера
ac-mac - MAC-адрес контроллера
ssid - SSID сети, к которому подключен клиент
accept-callback - URL обратного вызова контроллера, на который
требуется отправить HTTP GET или POST-запрос в случае успешной
авторизации
redirect-url - исходный URL, на который шёл клиент (на него можно
сделать HTTP 302 Found в случае успешной авторизации)

RADIUS-сервер:

поддержка MAC-auth авторизации
чтение списка авторизованных клиентов и авторизация клиентов с
помощью SQL (БД)
поддержка атрибута Session-Timeout (на его основе контроллер
определяет время жизни сессии клиента)
аккаунтинг клиента - по желанию. В случае реализации - запись данных
accounting в ту же БД.
логирование запросов Access-Request - по желанию. В этом случае
логирование должно идти в ту же БД.

БД:

должна обеспечивать хранение всех данных для WEB и для RADIUS
выбор схемы базы данных на усмотрение

Установка

Полный комплекс Captive Portal должен содержать документацию по
установке. В ней должны быть описаны:

список зависимостей (например, Apache/nginx для WEB, freeradius для
RADIUS, sqlite/mysql/mariadb/postgresql/... для БД)
шаги по установке зависимостей
шаги по установке самого комплекса, в том числе регистрация в
системе в качестве сервиса (например, systemd).
разъяснение схемы БД
описание интерфейса администратора, инструкция по администрированию

В результате должно быть возможно установить комплекс на чистую
виртуальную машину (например, Debian) и подтверждение его
работоспособности. Если получится, то желательно оформить как deb-пакет,
готовый к установке.
Тестирование

Комплекс должен пройти хотя бы компонентное тестирование. Будет
тестироваться каждая часть комплекса.

RADIUS: проверка утилитой radtest, запросы Access-Request с
использованием MAC-auth. Ожидается, что RADIUS будет отвечать
Access-Accept, если запись есть в базе, и Access-Reject, если записи с
таким MAC-адресом нет.
БД: проверка вручную, что записи в БД своевременно обновляются и
хранят данные в соответствии со схемой БД.
Интерфейс администрирования: проверка вручную заявленных функций
Интерфейс клиента: HTTP-запросы от имени авторизованного клиента и
неавторизованного клиента. Для авторизованного клиента портал должен
сообщить, что сессия активна, предлагать её досрочно прервать. Для
неавторизованного клиента должен появляться интерфейс авторизации с
выбором способа. При успешной авторизации в БД должны появляться новые
записи, также должна быть попытка вызвать HTTP API контроллера
(accept-callback). Если реализовано логирование - то должны появиться
новые записи в отведённой для этого таблице.

Читайте на 123ru.net


Новости 24/7 DirectAdvert - доход для вашего сайта



Частные объявления в Вашем городе, в Вашем регионе и в России



Smi24.net — ежеминутные новости с ежедневным архивом. Только у нас — все главные новости дня без политической цензуры. "123 Новости" — абсолютно все точки зрения, трезвая аналитика, цивилизованные споры и обсуждения без взаимных обвинений и оскорблений. Помните, что не у всех точка зрения совпадает с Вашей. Уважайте мнение других, даже если Вы отстаиваете свой взгляд и свою позицию. Smi24.net — облегчённая версия старейшего обозревателя новостей 123ru.net. Мы не навязываем Вам своё видение, мы даём Вам срез событий дня без цензуры и без купюр. Новости, какие они есть —онлайн с поминутным архивом по всем городам и регионам России, Украины, Белоруссии и Абхазии. Smi24.net — живые новости в живом эфире! Быстрый поиск от Smi24.net — это не только возможность первым узнать, но и преимущество сообщить срочные новости мгновенно на любом языке мира и быть услышанным тут же. В любую минуту Вы можете добавить свою новость - здесь.




Новости от наших партнёров в Вашем городе

Ria.city

Санкции это благо. Владислав Овчинский — о развитии промышленности Москвы

Воробьев подписал на ПМЭФ соглашение о пунктах сбора текстиля в Подмосковье

Квитанции по ЖКХ пустые: от этих выплат полностью освободили пожилых людей

На машине в Казань — в гости к Барсу и Зиланту

Музыкальные новости

Приглашенные солистки выступят в опере «Руслан и Людмила»

В Подмосковье сотрудники Росгвардии спасли пожилого мужчину, который оказался один дома и плохо себя почувствовал

МегаФон и «Газпром межрегионгаз» обсудили цифровизацию контроля за поставками газа

Почта России выпустила марку в честь 225-летия со дня рождения А.С. Пушкина

Новости России

Визажист Кузьмина: консилер поможет приподнять опущенные уголки глаз

Shot: убийца скейтера в Москве Демин находится в коме из-за ранения в затылок

Более 6 тысяч жителей Московского региона приобрели технические средства реабилитации с помощью электронных сертификатов

Почти четыре гектара. Завершается благоустройство возле вокзала «Печатники»

Экология в России и мире

CЛД «Печора» филиала «Северный» ООО «ЛокоТех-Сервис» получило сертификацию для технического обслуживания локомотивов серии 2ТЭ25КМ в объёме ТО-2.

Турецкие отели в шоке после банкротства крупнейшего туроператора: все оказались в долгах, как работать летом — непонятно

Какие украшения будут в моде летом 2024 – подборка стилиста «585*ЗОЛОТОЙ»

История без фальсификации: Шемахи в первой половине XVIII века

Спорт в России и мире

Андреева рассказала о своих планах на предстоящий матч с Соболенко во Франции

Названо условие сенсации в матче Арины Соболенко с вундеркиндом из России

Соболенко, проигравшая Андреевой, потеряет 2-е место в рейтинге WTA по итогам «Ролан Гаррос», уступив его Гауфф

Янник Синнер высказался о первом месте в рейтинге ATP и травме Новака Джоковича

Moscow.media

На утре.

Такси в 7 раз чаще попадает в ДТП, чем обычные автомобилисты — изучаем аварийность на дорогах

Делу время – ремонту срок. Эксперты обсудили, как ускорить ремонт после ДТП

Одной Лунной ночью











Топ новостей на этот час

Rss.plus






Воробьев подписал на ПМЭФ соглашение о пунктах сбора текстиля в Подмосковье

Квитанции по ЖКХ пустые: от этих выплат полностью освободили пожилых людей

Подмосковная полиция пресекла крупный канал сбыта наркотиков в регионе

Более 33 тонн донорской крови заготовили в Подмосковье с начала года