Linux авторизация по смс

Настройка wifi авторизации через sms проблема

Здравствуйте форумчане. Решил поднять сервер, который будет посредством СМС авторизовывать клиентов на сервере и выпускать в интернет. Нашел интересную статью на habrе по этому поводу. Собственно вот она: https://habr.com/post/307338/ Но что то не взлетает у меня ничего. Squid обрабатывает соединения но не перенаправляет запрос на страничку авторизации. Сами демоны не выдают никаких ошибок и стабильно работают. Так же в статье реализовано это все через 2 сетевых интерфейса. Можно ли сделать это через один интерфейс? Если есть возможность помогите завести. Заранее спасибо.

Там squid не должен ничего перенаправлять, там всё рулится iptables, в котором ipset’ы правятся скриптом php (если я правильно понял).

Через 1 интерфейс можно, но нужно будет настраивать маршрутизацию, чтобы весь трафик в инет шёл через squid, допустим два ip-адреса на сетевой интерфейс и шлюз в интернет в другой подсети, чем остальная локалка.

Все верно говорите, у меня выступает шлюзом mikrotik, на нем поднято DHCP, в него воткнут данный сервер с двумя сетевушками: eth0 (смотрит в сторону mikrotik) 192.168.0.15 шлюз 192.168.0.254 и eth1 192.168.3.100 со шлюзом 192.168.0.254 (так же смотрит в mikrotik) только в другую подсеть. Я так понимаю, чтобы у меня все правильно заработало мне нужно на самом mikrotik завернуть трафик правильно. Так как у меня куча филиалов, которые подняты по vlan и там стоят точки доступа. При этом еще и правильно iptabes настроить. С этим у меня возникла проблема. Все точки доступа у меня в подсети 192.168.3.0/24

Использовал связку MikroTik Hotspot + RADIUS сервер.

На микротике подымался хотспот и там настраивались параметры RADIUS сервера.

Сам RADIUS крутился на Ubuntu, и держал все учетки в MySQL. а туда уже попадали данные из самописного скрипта.

Мне важно, чтобы авторизация работала через смс.

Ну как вы будете класть данные в бд Radius — дело ваше. Хоть по смс авторизация, хоть как.

У меня генерировались логин/пасс и посылались на емейл со ссылкой. По нажатию на ссылку клиентом эти логин/пасс включались в радиусе на 24 часа.

Изменить эту часть системы не проблема.

Нужно, чтобы логином выступал номер телефона, и чтобы клиенту приходила смс с паролем.

уже же подсказали куда копать.
хотите готовое — в job, или воспользуйтесь услугами wifly.net, например.

Много раз настраивал MikroTik Hotspot + RADIUS. Делали и по отправке и по приему SMS, звонку (по части определившегося номера), по звонку клиента на наш номер. Пишите прямо в теме, если возникнут вопросы.

Интересно.

а вот интересен вариант на микротике по звонку, как реализовали?

Есть два варианта. По звонку абонента на наш номер и колбек к поставщику пула телефонных номеров. Т.е. либо наш(ваш) сервер дергается со стороны АТС регистрируя звонок, либо мы дергаем поставщика и он звонит с рандомного номера. Дальше стандартно: конец номера служит пинкодом либо номер с которого позвонили совпал с введённым, создаём запись в базе, пропускаем клиента средствами hotspot Микротика.

Недавно обратился провайдер SIP связи, у них свой пул телефонов, мы сделали колбек к их серверу вместо нашего поставщика.

Спрашивайте если что-то не понятно.

Интересно.

Это мне понятно, мы заключаем договора с смс_ру там есть авторизация по звонку, а как реализовать на микротике такую штуку непонятно мне, скрипт для смс есть, а вот для звонка бы еще

Читайте также:  Средства универсальной платформы windows для c

Скрипт покупали или в свободном доступе нашли?

В любом случае можете отправить его мне на почту rtlx73(a)yandex.ru и я гляну. Если правки минимальные, сделаю бесплатно.

Ecли речь о http://sms.ru/api/callcheck, то у вас должен быть http сервер принимающий callback. Если решите дорабатывать скрипт для использования без сервера, можем свести Вас с владельцами упомянутых пулов телефонных номеров и обеспечим интеграцию.Мы всегда использовали сервер, так что я не уверен в том как вы обращаетесь к sms.ru за получением кода, но со звонком с рандомного номера будет точно так же. Т.е callback принимать не нужно. Последние цифры будут получены сразу и дальше будет та же проверка что и в случае с sms.

Да, именно про это речь и идет, сервера нет принимать callback Интересно, микротик может что то себе принять и далее обработать и выдать, вернее разрешить. было бы интересно реализовать. А в двух словах, какая стоит задача — открытая WiFi — авторизация хотспот — на микротике в логе появилась информация на запрос, скрипт отработал, сгенерировал пароль, отправили смс через смс.ру абоненту — он зашел в нашу гостевую сеть. У нас дополнительно остались логи, которые и в радиус севере и на почту с дублировались с данными по сотовому номера абонента.

Нужна помощь.

Здравствуйте. Знаю что тема старая,но нашел скрипт в интернете для логина через смс с использованием только Mikrotik + RADIUS (встроенный) + Hotspot. Вроде скрипт ставится, но смс не отправляется. Если через терминал проверяю команду, то смс доходит. Если есть кто мог бы помочь решить данную проблему, был бы признателен.

Я использовал Radius на виртуалке (100-200 рублей в месяц) но модем туда не воткнёшь. Зато можно сделать плюшки в виде продвижения в соцсетях, авторизации по звонку (будет дешевле чем по SMS, если клиентов много) и еще пара способов авторизации через телефон, довольно интересных.

Скидывай скрипт и команду которой отправляешь SMS. На работе есть Mikrotik и GSM свисток. Могу покопаться ради интереса в понедельник.

Последнее время ни кто не обращается по WiFi авторизации. Походу рынок поделен и я за бортом 🙂

добрый день, как с вами связаться мне интересно, с оплатой ваших услуг моя почта administrator@pyatnoff.ru

В кратце можешь описать задачу здесь. Пусть тема на форуме будет актуальна. Я на предыдущий пост ответил, думая что ты будешь отправлять через модем. Это так или используешь сторонний сервис, типа sms.ru?

Я делал и так и так.

я не использую еще ни какой сервис, задача поднять и настроить сервис авторизации для региона (различные клиенты), только вникаю в суть вопроса, тема актуальна и хотелось бы продвигать ее своими силами, на базе соглашения с интенет провайдером. моя почта skvertel@mail.ru

Суть такова. Мы использовали два типа устройств MikroTik и те, на которые можно поставить DD-WRT. Иногда Chillispot не влезает в DD-WRT. Так что если уже есть Dlink и т.д., то Captive Portal может работать не на всех.

Некоторые поднимают веб- сервер прямо на MikroTik, но тогда все равно нужен сервер, т.к. по закону нужно хранить логи. Дешевого vps хватает чтобы развернуть freeradius и прикрутить к нему несколько скриптов на php. Вот и вся задача.

Мы еще делали комерциализацию. После входа по телефону, предлагается вход по учетке в соцсетях, чтобы проконтролировать размещение поста, если за него полагается скидка.

Я пожалуй, сейчас не возьмусь за крупные проекты. Разве что в качестве консультанта.

Источник

Приём и обработка SMS-сообщений на Linux-машине

В одном из наших свежих проектов команде разработчиков была поставлена задача собрать максимально реальные контактные данные о пользователях нашего сайта. Жаркое обсуждение правильных и неправильных форм регистрации, одно- и двушаговые, дополнение информации по мере пользования сайтом… Казалось поток идей не остановится. Однако ни одна из них не гарантировала, что в результате мы не получим кучу никчемных данных. Валидировать? Можно, но разве все предусмотришь? Активация учетной записи через почтовый ящик для его валидации? Но куча сервисов типа 10 Minute Mail сводят на нет эффект. К тому же, специфика проекта не позволяла слишком растягивать процесс регистрации. Решено было, что пользователь должен зайти, сделать своё дело, а потом уже активировать или нет свою учетную запись. В конце концов прозвучала фраза «А давайте активировать по SMS!». Поиск провайдеров, изучение прайс-листов и отказ от идеи взвалить обработку SMS на стороннюю контору… Стало понятно, что принимать и обрабатывать их придется самим.

Читайте также:  Windows forms button border

Скромный опыт работы с VOIP/Asterisk и подбора оборудования для VOIP-шлюза имелся. Полез по старым ссылкам к китайским братьям искать SMS-gateway. Но во-первых время поджимало, во-вторых по опыту работы с ними с первого раза редко что-то выходит, поэтому стало интересно, сможет ли обычный USB GSM-модем справиться. И, забегая вперед, скажу что это решение было правильным. По крайней мере на данном этапе.

Настройка сервера

Итак, ко мне в руки попал модемчик Huawei E1750 (HSPA USB Stick) с контрактом. Первое с чем столкнется человек взявшийся за подобную задачу, это то, что все свежие модели GSM-модемов, в угоду пользователям Windows, опознаются в системе сначала как устройство хранения данных (SCSI CD-ROM). С него запускается autorun, который установит драйвера и переключит модем в режим модема (о как!). Сразу как я узнал это, я решил «приехали». Однако еще полчаса, и была найдена утилита usb_modeswitch, которая выполняет переключение режимов модема. Только после этого модем заработает по его прямому назначению. Запускается и настраивается она просто, тут писать особо нечего.

Ну, с богом! Информации к этому моменту уже было нарыто не сказать чтоб много, но достаточно, чтобы копать в нужном направлении. Существующие решения были отфильтрованы по признаку «работает как демон», в итоге остался один кандидат — SMS Server Tools. Нужно отметить, что оригинальный пакет уже не развивается, но его продолжение SMS Server Tools 3 не только развивается, но и отлично поддерживается своим создателем Mr. Keijo «Keke» Kasvi.

К сожалению, в моей любимой Gentoo не нашлось ebuild-а для свежей версии, последняя имеющаяся версия 2.2.20. Но, недолго погуглив, я нашел уже готовый ebuild для 3-й версии, который и скомпилировал после небольшой его правки. На данный момент у меня установлена и стабильно работает версия 3.1.14.

Как оказалось, настройка smstools является настолько простой, что практически с начальным конфигом можно уже начинать принимать сообщения. Нет, ну конечно, если у вас симка закрыта пин-кодом, Вам его придется добавить в конфигурацию, но это делается очень просто.

Структура файла конфигурации тоже понятна до безобразия (viva unix-way!). В начале файла прописываем глобальные настройки демона, а затем в секциях описываем настройки наших устройств:
# Глобальные настройки демона
.
.

# Наш модем и его настройки
[Huawei E1750 ]
.

# И еще одно устройство, если оно у нас есть, со своими настройками
[AnotherModem]
.

Глобальные настройки

Самый важный параметр, это какие устройства демон будет опрашивать на предмет наличия новых сообщений. Если у вас всего одно устройство, как у меня, просто пропишите devices = HuaweiE1750 , если их у Вас несколько, перечислите их тут через запятую.

Читайте также:  Windows start menu folder windows 10

Еще два важных параметра — это user = smsd и group = sms . Людям, знакомым с линукс, объяснять их значение не надо, я же ограничусь лишь напоминанием о правильных правах на все ресурсы, к которым демон должен иметь доступ. Ну и упомяну про такие инструкции, как pidfile = /var/run/smsd/smsd.pid , logfile = /var/log/smsd/smsd.log , значение которых тоже должно быть понятно. Кстати, на момент отладки рекомендую вставить в конфигурацию также инструкцию loglevel = 7 , это позволит Вам отслеживать, что же происходит внутри демона. В дальнейшем я выставил loglevel = 5 .

Настройки модема

В принципе, тут тоже, как было обещано, все просто. Однако я столкнулся с некоторыми проблемами, из-за которых я собственно и решился поделиться с Вами информацией.

Одной проблемой стало жгучее желание модема все время соскочить на новое устройство. Один раз он определялся как /dev/ttyUSB0 , в другой раз под другим номером. Такое положение дел не устраивало меня. Поэтому, я стал искать как писать udev правила для устройств. Однако, когда я уже был готов внести свои изменения, обнаружилось, что ebuild usb_modeswitch уже сделал это за меня добавив в систему файл /lib64/udev/rules.d/40-usb_modeswitch.rules , согласно которому в системе появлялся симлинк на девайс по адресу /dev/gsmmodem . Его мы и пропишем в конфигурации.

Второй проблемой стало зависание модема время от времени. К сожалению, вычитывать матчасть времени уже не было, да и гугл выдал такое количество вариантов, что пробовать их все не имело смысла. Поэтому, не особо рассчитывая на помощь, я пополз на форум smstools3. Каковы же были мои удивление и радость, когда keke ответил на мой пост через жалких 2-3 часа. Нет, точного решения он не давал, однако две строки которые он рекомендовал добавить в конфиг раз и навсегда избавили меня от зависаний. Для меня до сих пор остаётся загадкой, где брать значения для них, я не нашел технической документации по модему:
check_memory_method = 1
memory_start = 0

Ну, и третьей проблемой, из-за которой затевался весь сыр-бор, стало написание обработчика SMS. Для этого в конфиг была добавлена инструкция eventhandler = /usr/local/scripts/activate , внутри которого происходила отправка на сервер проекта запроса на активацию учетной записи. Скрипт, получает два параметра — тип события и файл сообщения. Выдергивает из него нужные нам данные, и отсылает на сервер.

Итого, получили вот такой короткий конфиг:
devices = Huawei
loglevel = 5

user = smsd
group = sms
logfile = /var/log/smsd/smsd.log
infofile = /var/run/smsd/smsd.running
pidfile = /var/run/smsd/smsd.pid

alarmlevel = 7
alarmhandler = /usr/local/scripts/activate/smsd-alarm

[Huawei]
device = /dev/gsmmodem
baudrate = 115200
pin = 1111
incoming = high
cmgl_value = 0
check_memory_method = 1
memory_start = 0
eventhandler = /usr/local/scripts/activate

Неожиданный profit

Изначально форма регистрации содержала поле Мобильный телефон — это было в требованиях проекта. Пришедшее SMS должно было быть отправлено с указанного телефона, и учетная запись с этим телефоном активировалась. Однако, как оказалось, пользователи становятся в тупик, когда им в сообщении ничего не надо писать. Сначала после регистрации появилась инструкция «Отправьте на номер 12345678 сообщение с текстом «F»». Потом родилась другая, гениальная как сейчас кажется, идея: из формы было убрано поле Мобильный телефон, после короткой регистрации (Имя, Фамилия, E-mail/login, Пароль), пользователю выдается код, который он должен отправить на указанный номер. По этому коду находится учетная запись, а телефон, с которого пришла СМС-ка заносится в профиль пользователя. Вуаля, у нас есть пользователь, есть его реальный телефон, есть возможность добавить кучу телефонов в свой профиль, и сменить номер телефона в профиле в случае утери старого, отправив еще одну СМС и удалив старый номер.

Источник

Оцените статью