Свой личный SMS-шлюз. Часть 1 – цели, задачи, сборка и тестирование
Представляю вам цикл статей по созданию собственного шлюза для отправки SMS-сообщений.
В первой части мы определим цели и некоторые аспекты использования своего шлюза, настроим программное обеспечение для отправки SMS с использованием USB-модемов, а также рассмотрим несколько интересных вариантов отправки
Начнем мы статью с вопроса – для чего отправлять SMS, ведь на дворе 2021 год? Да, мы уже привыкли к различным мессенджерам, уведомлениям в чат-боты, но SMS до сих пор обладает наиболее гарантированным уровнем доставки. Нет зависимости от наличия интернета и сообщение поступит даже в сети 2G и при слабом сигнале и на устройство без доступа к интернет. Таким образом, если планируется отправлять сообщения, которые гарантированно должны быть доставлены и критичны к времени доставки, то SMS – это возможно лучший выбор.
Под SMS-шлюзом мы понимаем программно-аппаратное устройство подключенное к сети сотового оператора и позволяющее производить автоматизированную отправку сообщений.
Где можно применять это решение?
Самое простое и очевидное применение – отправка уведомлений. Мы отслеживаем доступность различных сервисов и хотим знать о любых сбоях. Применение в системе умного дома позволит нам быть в курсе всех произошедших событиях. Да, многие IoT устройства умного дома оборудованы разъемом под сим-карту и могут сами отправлять SMS, но в этом случае на каждое устройство нужна отдельная сим-карта.
Мы можем проводить двухэтапную аутентификацию пользователей или производить валидацию введенного номера телефона. Регистрировать пользователей по номеру телефона, без необходимости создания логина и пароля. Отправлять сообщения о формировании заказа, отправке, получении, изменении баланса.
Но сообщения можно не только отправлять, их также можно получать и обрабатывать, что еще сильнее расширяет варианты применения. Все зависит только от вашей фантазии.
Стоит обратить особое внимание – так как мы рассматриваем в статье вариант создания шлюза, то это позволяет отправлять сообщения сразу со всех описанных сервисов используя всего одно устройство.
Плюсы и минусы собственного шлюза
Как и любое решение, собственный шлюз обладает рядом достоинств и недостатков.
Мы не будем рассматривать плюсы с точки зрения точного сравнения с платными сервисами ввиду разного уровня получаемой услуги. Я приведу наиболее явные и вы сможете решить на сколько каждый пункт критичен именно для вас.
Устанавливаем Gammu, подключаем модемы
В качестве аппаратного ядра системы я буду использовать Orange Pi PC с Armbian просто потому, что он у меня есть и ничем не занят. Свою версию вы можете сделать на основе RPi, компьютера/сервера на Linux и даже виртуальной машины с проброшенными внутрь USB-портами – это не имеет особого значения, главное мы будем использовать Linux.
Для общения с модемами я буду использовать Gammu – очень мощный продукт позволяет общаться не только с классическими модемами, но и использовать телефоны в качестве модемов. Также этот продукт избавит нас от необходимости самим формировать пакеты сообщений, считать их длины, составлять и отправлять АТ-команды и самое главное позволить отправлять сообщения в PDU-формате.
Итак, подключимся к серверу, обновим систему и установим gammu:
Теперь нужно подключить модемы к USB-портам. Я буду использовать два модема, чтобы нагляднее показать чем отличаются настройки. Подключаем и смотрим какие порты они заняли.
Следующей командой мы смотрим, какой модем сколькими портами обладаем. Среди этих портов будет только несколько (или один), через который можно отправлять сообщения. Остальные — это технические и нам не интересны.
На скрине выше видно, что установленный модем usb 5-1, Alcatel, имеет пять каналов. Теперь нам нужно определить какие из них используются для связи. Сделать это не сложно. Пишем в терминале:
В открывшемся окне вбиваем АТ и если в ответ получили ОК, то запоминаем этот порт – это то, что нужно. Выходим – CTRL+A затем D
Обратите внимание, что найдя один порт, все равно нужно проверить оставшиеся – ttyUSB2, ttyUSB3, и далее. Например, используемый мной Alcatel, имеет 2 независимых канала на ttyUSB4 и ttyUSB5, что позволяет одновременно отправлять два SMS-сообщения через один модем.
Настройка Gammu
Итак мы определились с портами и теперь нужно настроить Gammu. Есть утилита конфигурации gammu-config, но мы не будем ее использовать, а запишем сразу данные в конфигурационный файл.
дописываем в нижней части файла данные конфигураций. Каждый блок [gammu] – это канал модема. [gammu] – это канал по умолчанию, [gammu1] – первый канал и т.д. Далее мы еще коснемся этого, когда будем отправлять сообщение. Итого я добавляю 3 доступных канала от двух своих модемов:
Краткое описание настроек:
Проверка работы
Gammu настроена и теперь мы можем протестировать отправку сообщений.
Базовая команда для отправки сообщения на английском и всего с одного модема выглядит следующим образом:
Теперь рассмотрим варианты поинтереснее с использованием дополнительных аргументов
Если в системе несколько модемов, то добавляем нужный порт аргументом «-s «. Мы затрагивали этот момент, когда заполняли настройки. Нумерация начинается с 0 и в нашем случае это промежуток 0-2.
Отправка сообщений в PDU-формате (кириллица, прочие языки и спецсимволы) – «-unicode»
Отправка сообщений в PDU-формате с автоматической разбивкой на несколько сообщений и последующей склейкой на телефоне – «-autolen 5». Данный аргумент подразумевает использование числа, хотя объективно оно ни на что не влияет, по крайней мере у меня работает одинаково при любом числе, поэтому я решил, что сообщения длиной больше 5 у меня не будет и использую это число
Есть очень интересный аргумент, который полезен, если вы отправляете одноразовые коды – «-replacemessages 1». Суть его работы заключается в следующем – мы указываем телефону, что при получении сообщения он должен заменить сообщений с ID 1, если оно имеется в полученных на то, что поступило сейчас. Таким образом телефон автоматически затирает все ранее полученные сообщения и в переписке всегда отображается только последнее полученное. Единственное, решить стоит его использовать или нет, желательно в самом начале, чтобы всегда заменять ID 1
А теперь, самый интересный, на мой взгляд аргумент – «-flash».
Сообщение отправленное с этим параметром отображается телефоном сразу во всплывающем окне. Проигнорировать его невозможно, т.к требуется решение абонента о сохранении или отклонении данного сообщения. Но самое главное – абонент не видит номер телефона отправителя в этом окне (помните это был один из минусов собственного шлюза). Таким образом, если мы используем шлюз для авторизации пользователей и отправки им кодов, то это решение позволяет сразу показать код без захода в программу «Сообщения». По получении звукового сигнала о входящем сообщении человек берет телефон, снимает блокировку и сразу видит его на экране. Если абонент нажмет на «Отмена», то сообщение не будет сохранено в памяти телефона. Отправляем сообщение и смотрим как оно выглядит:

Всё!
В следующей статье
В этой части статьи мы настроили отправку сообщений, но оно происходит вручную. Во второй части статьи мы напишем небольшое API (на PHP) для получения запросов по http, сохранении их в базу данных и автоматической отправке через активный шлюз и не только …
Подозрительно: массовые смс с кодами активации от разных сервисов
С десятка номеров пришли однотипные смс, одно за другим — «Ваш код подтверждения…»:
Некоторые сообщения продублировались утром и вечером. Что это может быть?
Анна, кто-то мог отправить смс и вручную, вводя ваш номер на разных сайтах. Но более вероятно, что это работа автоматического скрипта — программного кода, который выполняет действия по заранее заданному алгоритму.
Попробую разобраться, чего хотел автор этого скрипта. Некоторые варианты выглядят безобидно, другие в будущем могут стоить вам денег. Вот что приходит на ум:
Обычная шутка
Начну с самого безобидного. Кто-то из знакомых, знающих ваш номер, решил ради шутки завалить ваш телефон сообщениями. Это делают с помощью программ, которые называются « смс-бомберы », или « смс-флудеры ». Не знаю, почему некоторые считают это смешным, но шутка достаточно популярная.
Как защититься. Если не планируете пользоваться сервисами, от которых пришли сообщения, просто заблокируйте имена отправителей.
Самозащита от мошенников
Создание баз номеров
Другая возможная цель такого скрипта — сбор информации. Скрипт пытается восстановить пароль на разных сервисах. Если процесс запустился, аккаунт с таким телефонным номером существует. Его вносят в базу номеров.
Использовать базу могут как угодно. Например, статистику о владельцах дисконтных карт одной торговой сети передадут в другую — и вы начнете получать от них уведомления об акциях и скидках. Или через некоторое время вам позвонит «сотрудник банка» и попытается выманить данные карты.
Как защититься. Существуют сервисы, которые подменяют телефонные номера, поэтому доля паранойи не помешает. Если вам звонят и просят срочно назвать три цифры с обратной стороны карты, чтобы заблокировать списание денег, не верьте — даже если это звонок с номера банка, указанного на карте. Положите трубку и перезвоните в банк.
Еще вариант защиты — завести отдельную симкарту для регистрации на сайтах и больше нигде ее не использовать. Если на этот номер позвонят или напишут из банка, вы будете точно знать, что это мошенник.
Попытка регистрации с подбором кода
Для рассылки спама с разводом и «мусорной» рекламой мошенники обычно создают аккаунты на чужое имя или используют взломанные. Смс с кодами активации могут говорить о том, что ваши аккаунты пытаются взломать — или зарегистрировать новые на ваш номер телефона.
При регистрации сервисы отправляют на указанный номер мобильного код проверки. Вводя этот код, вы подтверждаете, что номер принадлежит вам и вы соглашаетесь с регистрацией. У мошенника нет вашего телефона, но он может попытаться подобрать присланный вам код.
Чем длиннее код, тем сложнее это сделать. Например, если код состоит из четырех цифр, существует 10 тысяч разных вариантов, а если из шести — вариантов уже миллион.
Скрипт можно научить проверять все эти варианты и автоматически вводить коды проверки один за другим — от 000000 до 999999. Здесь все зависит от защиты сайта: ограничивает ли он количество попыток, если ограничивает, то сколько их. И можно ли повторить процедуру с тем же номером через какое-то время.
Чем больше попыток дает сайт, тем выше вероятность, что скрипт успеет подобрать код и подтвердить «вашу» учетную запись без доступа к телефону и тексту смс. Например, в 2017 году на «Хабре» писали про угон аккаунтов одного каршеринга.
Многие сайты защищены хуже, чем кажется. Специально для этой статьи я написал небольшой скрипт и попытался с его помощью подобрать шестизначный код подтверждения одной социальной сети. На удивление, сайт разрешил моему скрипту ввести больше ста разных кодов подтверждения — и только после этого сказал, что я слишком часто пытаюсь это сделать, и попросил подождать 10 минут.
Я не стал перезапускать скрипт. Но даже за одну попытку вероятность подбора — 100 к 1 000 000, то есть 0,01%. Если перебрать 10 тысяч номеров, один из них удастся подтвердить. А если длина кода всего четыре символа, то при тех же условиях хватит ста номеров, чтобы подобрать код к одному из них и получить доступ к подтвержденному аккаунту. После этого можно рассылать с него спам от чужого имени.
Анна, вы написали, что сообщения приходили с определенными интервалами, утром и вечером. Это увеличивает вероятность того, что речь идет о подборе кода. Мошенник подождал предложенное сайтом время и снова запустил свой скрипт. Возможно, пытались взломать ваши аккаунты или зарегистрировать новые на ваш номер телефона.
Как защититься. К сожалению, гарантированной защиты от такого взлома нет. Не исключено, что мошеннику удастся подобрать код и активировать аккаунт. Отдельная симкарта для интернета не поможет: мошенник все равно сможет зарегистрировать аккаунт на основную. Тут все зависит от безопасности конкретного сайта.
Если какие-то сайты вам важны или у вас уже есть там аккаунт, попробуйте сменить пароль или написать в техподдержку и описать ситуацию. Возможно, ваш аккаунт заблокируют и создадут новый или предложат какой-то другой вариант.
Утечка паролей
Время от времени в руки злоумышленников попадают базы данных с паролями пользователей различных сервисов — из-за взломов, утечек и социальной инженерии. Пароль также могут украсть с помощью троянских программ или вирусов. Более того, вы сами могли нечаянно передать пароль мошенникам, например на поддельном сайте.
Если у вас одинаковый пароль на многих сайтах, это дополнительный риск. Узнав ваш пароль к одному сайту, мошенники получают доступ и к остальным. Проверяют это тоже с помощью скрипта, который вводит украденный у вас пароль на всех сайтах подряд. Где-то пароль не подойдет, где-то аутентификация двухфакторная — сначала надо ввести пароль, потом код из смс. Если пароль подошел на нескольких таких сайтах, то и сообщений будет много.
Дальше код подтверждения попытаются подобрать по уже описанной схеме.
Как защититься. Используйте для каждого сайта уникальный пароль. Это не так сложно, как кажется: например, добавьте к вашему обычному паролю несколько первых или последних символов из названия сайта. Так вы хотя бы защититесь от автоматического перебора, если мошенники украдут один из паролей.
Маскировка важного смс
Последний вариант, который мне показался возможным, — попытка скрыть какое-то важное сообщение. Возможно, злоумышленник украл данные вашей карты и не хотел, чтобы вы увидели смс о снятии средств. Поток сообщений отодвинет нужное на второй экран, и есть шанс, что вы его пропустите и не заблокируете карту вовремя. Надеюсь, это не ваш случай.
Как защититься. Внимательно проверяйте все пришедшие сообщения и блокируйте смс от ненужных сервисов. Так проще убедиться, что сообщение от банка о снятии крупной суммы или от мобильного оператора о замене симкарты не затерялось в спаме.
Если увидели что-то подозрительное, пишите. Возможно, кто-то пытается украсть ваши деньги.
Как соскочить с обслуживания СВГК?
В общем история простая, года 4 назад купил коттедж, под ключ, оформил все лицевые счета и все такое, плачу за обслуживание в СГВК 500 с лишним в месяц, у меня котел виссман, плита и пара кранов, за все платишь отдельно, больше всего за котел, типа импортный, там что то 300 с чем то. За эти деньги они приезжают раз года в полтора, осматривают котел с важным видом, продувают его и уезжают. Можно как то законно от них отказаться?
Можно, заключи договор на обслуживание с любой другой конторой, где будет дешевле. Знакомый платит 3к в год, что уже в 2раза меньше
Договор с поставщиком газа читали? Есть пункт об обязательном обслуживании?
Что за чуш? Оо В краснодарском крае, что дает этот договор. Если ты идеш в магазин специализирующися продажой котлов и у них есть свой сервисант который обслуживает котлы, то ты заключаеш с ними договор на обслуживание (максимум 2 года после покупки котла и первого запуска), а почему? Это горантия на запчасти дабы не покупать их за свой счет. Там вам делают 3 экземпляра договора. 1 ваш. 2 в магазин. 3 в райгаз.
Дальнейшое заключение договора будет зависить от вас хочу либо не хочу.
То что вам делают такие манипуляции это проделки райгаза. В краснодарском крае уже тоже взялись по полной с вопросом где бы взять денег.
Если платите за каждый месяц, то пусть каждый месяц и приезжают.
Нужно найти менее жадную контору. Кстати, это может быть тот же межрайгаз.
Вы похожи на антипрививочника
В Чечне учения местных сил обороны, без флагов РФ
С днём рождения Юра!
Мигранты
Идеальное название
Прометей дарит огонь людям
Мать солдата
В Орле арестовали человека национальности, которую нельзя называть
В Орле арестовали человека неопределённой национальности, за то, что тот силой затащил в машину 14-летнюю русскую девочку и надругался над ней.
Девочка чудом смогла убежать и сообщить обо всем родителям.
О национальности насильника не известно, кроме того что его зовут Аслаханов Ислам и он уроженец Чечни.
Может русский, может украинец, или норвежец. Тут сложно понять, нужен антрополог.
Возбуждено уголовное дело по ч. 3 ст. 132 УК РФ. Лицо неустановленной национальности помещено в СИЗО.
Избивавший русского срочника в армии, боец ММА избежал наказания
Избивавший срочника в армии, боец ММА избежал наказания. Сейчас он с компанией гоняет по улицам со скоростью 200 км в час
Новое в блогах
Очень трудно встретить человека, который не пользуется мобильным телефоном. Сейчас, обойтись без гаджета трудно. Мы постоянно где-то регистрируемся, вводим свои персональные данные на каких-то ресурсах. Все эти сведения собираются в базы данных, которые продаются мошенникам. Да, такой теневой рынок существует и нет никакой гарантии, что сейчас мошенники не знают ваш номер телефона и данные паспорта.
Очередная схема заключается в использовании смс-бомберов. Мошенники через «слитую» базу данных пользователя получают данные паспорта человека и его номер телефона. Делают предварительные уточняющие звонки под различными предлогами, с целью подтверждения актуальности данных.
После такой «проверки» на телефон потенциальной жертвы приходит большое количество сообщений с проверочными кодами. Это регистрации на различных ресурсах, которые в целом, никого не интересуют. Это просто часть схемы. Количество сообщений разное, измеряется десятками.
Параллельно с регистрациями на «левых» сервисах, мошенники проходят регистрации на ресурсах микрофинансовых организаций, все так же на этого человека. Иными словами пытаются оформить займы и кредиты на «жертву».
Сервисы микрофинансовых организаций, поддерживают подтверждение аккаунта с помощью кода из смс. Посещение организации для получения займа не требуется, все можно сделать дистанционно. На карту можно получить займ.
Если человек вышел на контакт с мошенником, значит он напуган, он поверил мошенникам. Ему проще принять помощь от мошенников и делать, все что ему говорят.
После того как «жертва» отправит скриншоты, мошенникам ничего не остается, как завершить свою «миссию». Они получают займы, незаконно оформленные на этого человека.
Что такое CVV и CVC на банковской карте
Уровни защиты банковской карты
Держатели пластиковых карт, чтобы подтвердить доступ к денежным средствам, находящимся на карточном счете, пользуются различными степенями защиты:
Очень часто CVC (Card Verification Value) путают с PIN (Personal Identification Number) или уникальным номером платежной карты. Но:
Важно знать, что наличие CVC-кода не является обязательным условием для совершения онлайн-платежа. Продавец может потребовать код, а может и не потребовать.
Что такое CVC и CVV на банковской карте
При оплате в стационарных торговых точках и сервисах держатель карты может предъявить пластиковый носитель, а при дистанционных операциях, такой возможности нет. Именно для идентификации личности в интернет-пространстве нужны секретные цифровые проверочные коды, включенные в учетную запись:
Разница в терминологии и аббревиатурах не отражается на технических характеристиках кодов.
Чтобы правильно пользоваться пластиковой картой, обязательно нужно представлять, что такое CVC-код\CVV-код на банковской карте.
Где находится CVV и CVC на банковской карте
У неопытных пользователей, недавно открывших для себя возможности дистанционного шопинга, могут возникнуть резонные вопросы: “Где расположен на карте CVC-код?” или “Где на карте находится CVV-код?”.
Исключение составляют карты, выпускаемые и обслуживаемые платежной системой American Express. На картах американской финансовой компании код, выполненный мелким шрифтом, находится на фронтальной стороне.
Как выглядят коды CVV и CVC
Коды проверки подлинности карты выглядят как комбинация:
Обратите внимание, что на банковских картах МИР, в месте, где должен находится трехзначный код, можно обнаружить два блока, состоящих из семи цифр:
В чем разница между кодами?
Когда мы говорим о кодах, числовое значение которых нанесено способом индент-печати на пластиковой карте, мы имеем в виду коды CVC2 и CVV2. Совершая платежи или покупки в интернете, держатели карточных продуктов вводят коды, визуально видимые на карте.
Обратите внимание, что вводимые при онлайн-шопинге кодовые комбинации не сохраняются в базе данных онлайн-ритейлеров. После того, как платежная транзакция удачно проведена, сведения автоматически удаляются.
Существуют еще две группы кодовых комбинаций:
Применение кодов
CVC/CVV-коды нужны при:
Чтобы не стать объектом мошенников, не вводите персональные данные, в том числе коды безопасности, на непроверенных сайтах. После того, как денежные средства будут переведены непосредственно держателем карты, опротестовать транзакцию практически невозможно.
Обнаружили ошибку? Выделите ее и нажмите Ctrl + Enter.













.jpg)
