• Двухфакторая аутентификация VPN/Mikrotik – просто и масштабируемо

    Здравствуйте!

    На написание данной статьи меня побудило прочтение аналогичного содержания статьи пользователя nkusnetsov. По количеству просмотров видно, что сообществу интересна данная тема.

    Поэтому я решил поделиться с вами собственным решением, которое было ранее реализовано мной и обладает:

    • Низким уровнем вхождения и простотой кода (для понимания/отладки другим сотрудником)
    • Простые скрипты ROS не создают никакой нагрузки и работают даже на hAP Lite
    • Масштабируемость – возможность подключения большого количества VPN-шлюзов с целью снижения нагрузки или географического распределения
    • Возможность использования Mikrotik CHR в качестве VPN-сервера
    • «1хN» – 1 SMS-шлюз на неограниченное количество роутеров с возможностью расширения при росте нагрузки
    • Возможность привязки отдельного роутера к «конкретному» модему (для чего? – об этом позже)
    • Использование всего одного php скрипта на удаленном сервере
    • Не важно какое устройство инициировало VPN-соединение, авторизация по ссылке из SMS
    • Новое: Ведение log'а всех авторизаций на сервере (можно вкл/выкл)
    • Новое: Увеличение отказоустойчивости и снижение нагрузки системы путем отправки SMS рандомно с нескольких модемов
    • Новое: Возможность отправки SMS через платные SMS-шлюзы (в коде на примере smsc.ru)
    • Новое: Функция Firewall – доступ только у роутеров занесенных в список (можно вкл/выкл)


    Если вас интересует данная тематика, сохраните статью в закладки, я буду периодически её обновлять, по мере расширения функционала скрипта.
    Читать дальше →
  • Snort или Suricata. Часть 1: выбираем бесплатную IDS/IPS для защиты корпоративной сети

      Когда-то для защиты локальной сети было достаточно обыкновенного межсетевого экрана и антивирусных программ, но против атак современных хакеров и расплодившейся в последнее время малвари такой набор уже недостаточно эффективен. Старый-добрый firewall анализирует только заголовки пакетов, пропуская или блокируя их в соответствии с набором формальных правил. О содержимом пакетов он ничего не знает, а потому не может распознать внешне легитимные действия злоумышленников. Антивирусные программы не всегда отлавливают вредоносное ПО, поэтому перед администратором встает задача отслеживания аномальной активности и своевременной изоляции зараженных хостов.



      Позволяющих защитить ИТ-инфраструктуру компании продвинутых средств существует множество. Сегодня мы поговорим о системах обнаружения и предупреждения вторжений с открытым исходным кодом, внедрить которые можно без покупки дорогостоящего оборудования и программных лицензий.
      Читать дальше →
    • Как криптомессенджер Signal успешно противостоит прослушке со стороны властей США



        На фоне событий в США резко выросла популярность защищённого мессенджера Signal — c 6000 до 26 000 скачиваний в день. В этой программе реализована стойкая криптография и сквозное шифрование, она распространяется с открытым исходным кодом и работает на известных криптографических протоколах (в отличие от проприетарного MProto).

        Но теперь разработчики Signal столкнулись с новой угрозой. Правительство США пытается скомпрометировать защиту мессенджера и опять получить доступ к переписке пользователей. В 2016 году им удалось получить судебную повестку на изъятие переписки одного пользователя, но из-за сквозного шифрования там нечего было изымать.
        Читать дальше →
      • 10 бесплатных курсов для продвинутых специалистов от Microsoft

          Привет, Хабр! Совсем недавно мы делились подборками наших бесплатных курсов для начинающих специалистов в IT. Ну и теперь, конечно же, пришла очередь продвинутых коллег. В этой статье мы подобрали курсы для уровней upper-intermediate и advanced. Среди тем — SQL Server на Linux, облачная разработка, безопасность, Microsoft 365, DevOps, бессерверные приложения и другое.

          Кстати!

          • Все курсы бесплатные (вы даже сможете попробовать платные продукты бесплатно);
          • 9/10 на русском языке;
          • Начать обучение можно мгновенно;
          • По окончании вы получите бейдж об успешном прохождении обучения.

          Присоединяйтесь, подробности под катом!

          Эта серия статей


          Предыдущая серия статей, начало 2020 года


          Более ранняя серия статей, 2019 год


          Читать дальше →
        • Я есть root. Повышение привилегий в ОС Linux через SUID/SGID

          • Tutorial
          В прошлом посте я провел «обзорную экскурсию» по методам повышения привилегий в ОС Linux. Сегодня разбираю вектор повышения привилегий через небезопасные разрешения SUID/SGID. Поэтому больше консоли и меньше слов.

          main
          Читать дальше →
          • +20
          • 8.7k
          • 9
        • Я есть root. Разбираемся в повышении привилегий ОS Linux

          • Tutorial

          Первый квартал 2020 года я провел за подготовкой к экзамену OSCP. Поиск информации в Google и множество «слепых» попыток отнимали у меня все свободное время. Особенно непросто оказалось разобраться в механизмах повышения привилегий. Курс PWK уделяет этой теме большое внимание, однако методических материалов всегда недостаточно. В Интернете есть куча мануалов с полезными командами, но я не сторонник слепого следования рекомендациям без понимания, к чему это приведет.


          Мне хочется поделиться с вами тем, что удалось узнать за время подготовки и успешной сдачи экзамена (включая периодические набеги на Hack The Box). Я испытывал сильнейшее ощущение благодарности к каждой крупице информации, которая помогала мне пройти путь Try Harder более осознанно, сейчас мое время отдать должное комьюнити.


          Я хочу дать вам мануал по повышению привилегий в OS Linux, включающий в себя разбор наиболее частых векторов и смежных фишек, которые вам обязательно пригодятся. Зачастую сами механизмы повышения привилегий достаточно несложные, трудности возникают при структурировании и анализе информации. Поэтому я решил начать с «обзорной экскурсии» и далее рассматривать каждый вектор в отдельной статье. Надеюсь, я сэкономлю вам время на изучение темы.


          Читать дальше →
        • Грядущий релиз Linux 5.8: миллион строк нового кода и 14 000 изменений


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

            Новая версия, несмотря на то, что она еще не вышла, считается релизом с максимальным количеством изменений за всю историю Linux. В коде релиза появилось свыше 1 млн новых строк. Скорее всего, оценить новинку можно будет в ближайшие пару недель — Линус Торвальдс выпустит RC1, если не произойдет ничего экстраординарного.
            Читать дальше →
          • Юнит-тесты в uVision Keil (и не только)

              КПДВ


              Не утихают споры о том, нужны ли юнит-тесты вообще, а если нужны — то как именно их писать. Сначала писать код или сначала писать тесты? Допустимо ли нарушать инкапсуляцию при тестировании или же можно трогать только публичное API? Сколько процентов кода должно быть покрыто тестами?


              Тестирование во встраиваемых системах тоже порождает немало споров. Точки зрения разнятся от "покрытие должно быть 100% + нужны испытательные стенды" до "какие еще тесты, я программу написал — значит все работает".


              Я не хочу начинать холивар и вооще стараюсь придерживаться некоего разумного баланса. Поэтому для начала предлагаю рассмотреть самые "низко висящие" плоды, которые позволяет сорвать юнит-тестирование применительно к embedded-разработке.

              Читать дальше →
            • Переключение контекста и простой вытесняющий планировщик для CortexM

                image

                С каждым годом курсовые для моих студентов становятся все объемнее. Например, в этом году одним из заданий была разработка метеостанции, ведь только ленивый не делает метеостанции, а студенты они по определению не ленивые, поэтому должны её сделать. Её можно быстро накидать в Cube или собрать на Ардуино, но задача курсового не в этом. Основная задача — самостоятельно, с нуля разобраться с модулями микроконтроллера, продумать архитектуру ПО и, собственно, закодировать все на С++, начиная от регистров и заканчивая задачами РТОС. Кому интересно, здесь пример отчета по такому курсовому


                Так вот, появилась небольшая проблема, а именно, бесплатный IAR позволяет делать ПО размером не более 30 кБайт. А это уже впритык к размеру курсового в неоптимизированном виде. Анализ кода студентов выявил, что примерно 1/4 часть их приложения занимает FreeRtos — около 6 кБайт, хотя для того, чтобы сделать вытесняющую переключалку и управлялку задачами хватило бы, наверное… да байт 500 причем вместе с 3 задачами (светодиодными моргунчиками).


                Эта статья будет посвящена тому, как можно реализовать Очень Простой Планировщик(он же SST), описанный в статье аж 2006 года и сейчас поддерживаемый Quantum Leaps в продукте Qp framework.


                С помощью этого ядра очень просто реализовать конечный автомат, и оно очень хорошо может использоваться в небольших проектах студентами (и не только), которые могут получить дополнительно 5 кБайт в свое распоряжение.


                Я попробую показать как можно реализовать такой планировщик самому. Чтобы не сильно перегружать статью, рассмотрю переключение контекста на CortexM0 у которого нет аппаратного модуля с плавающей точкой.


                Все кто заинтересовался и хочет понять как можно переключать контекст, добро пожаловать под кат.

                Читать дальше →
              • Знакомство с GOWIN. Отладочная плата DK-START-GW1N4/GW1N9

                • Tutorial
                Недавно ко мне в руки попала китайская ПЛИС, а именно отладочная плата GW1N DK-START-GW1N4, на которой по факту стоит чип GW1N-LV9LQ144C6/I5 (Flash-based FPGA, 8640 LUT4, User flash:608Kb,B-SRAM:468Kb, S-SRAM:17280bit). GOWIN предоставляет много разных вариантов комплектации своих FPGA со встроенным Cortex M3, BluetothFPGA, System-in-Package(SoC + RAM), SecureFPGA…

                GW1N-9 представитель базового варианта ПЛИС с наименьшим количеством наворотов и по этому привлекательна демократичной ценой в ~3.5$/1kQty.


                Читать дальше →
                • +15
                • 3.5k
                • 6
              • Zephyr в embedded: опыт использования на STM32F7-Discovery

                  image

                  История о моем опыте использования операционной системы реального времени (ОСРВ) Zephyr для устройства на базе микроконтроллера STM32F7-Discovery.


                  В статье:


                  • Что такое Zephyr и при чем тут Linux?
                  • Запуск проекта на STM32. Интересные моменты по работе с драйверами.
                  • Фишки этой ОС. Что понравилось, а что нет.
                  Читать дальше →
                  • +21
                  • 3.6k
                  • 5
                • Разработка простейшего логического анализатора на базе комплекса Redd

                    В прошлой статье цикла мы потренировались сохранять данные из потокового интерфейса в память средствами DMA. Пришла пора сделать какую-то полезную поделку, используя полученные навыки. Очень полезная при удалённой отладке вещь — анализатор. Вообще, при работе с комплексом скорее нужны специализированные шинные анализаторы, но начинать лучше с чего-то попроще. Поэтому сейчас мы сделаем простейший логический анализатор на 32 канала. Понятно, что он будет совсем-совсем примитивным, но зато мы сделаем его своими руками. У кого ещё нет комплекса Redd, могут повторить опыт, используя любую макетную плату с ПЛИС фирмы Altera (Intel) и микросхемой ОЗУ. Итак, приступаем.


                    Читать дальше →
                  • Пасхалка в ionCube — попытка разработчиков замести мусор под ковер?


                      Веб-разработчик знает, что скрипты, созданные в коммерческих целях, могут пойти гулять по сети с затёртыми копирайтами; не исключено, что скрипт начнут перепродавать от чужого имени. Чтобы скрыть исходный код скрипта и препятствовать его изменению, применяются обфускаторы, минификаторы и т.д. Один из самых давних и известных инструментов для шифрования скриптов на PHP — это ionCube. Появившийся в 2002, он продолжает следить за развитием PHP и заявляет о поддержке последних версий платформы. Как я покажу в этой статье, с поддержкой PHP 7 у ionCube далеко не всё в порядке…
                      Читать дальше →
                      • +49
                      • 10.4k
                      • 8
                    • От Литвы до Нью-Йорка: разведывательному делу КГБ посвящается

                        Совсем недавно о применявшейся КГБ шпионской технике можно было разве что прочесть в книгах или подсмотреть в фильмах о Джеймс Бонде. Устаревшее оборудование строго уничтожалось по всем правилам с подписанием чреды специальных актов, хотя часть технологий и передавалась для использования в военную промышленность, для обычного гражданина СССР была недоступна.



                        Каунас, Литва 2014 год. Ядерный бункер стал убежищем для уникального шпионского музея. На глубине 6 метров под землей находится частная коллекция необычных экспонатов. Интерес представляет экспозиция «Шпионский Музей КГБ». Это коллекция устройств и приборов для тайной слежки, которые использовали НКВД, КГБ и другие спецслужбы. «Бункер КГБ» заполнен техникой для тайного взлома и обыска: телефоны, переносные секретные средства радиосвязи, радиопередатчики и приемники, блокаторы связи, пеленгаторы, «жучки» и всевозможные шпионские штуки. Кураторы музея — семья Урбайтис: отец и дочь. Глава семейства посвятил делу более 30 лет своей жизни, благодаря его необычному хобби появилась возможность увидеть, пощупать секретное спецоборудование КГБ.
                        Читать дальше →
                      • Bhunter — взламываем узлы бот-сетей

                          Вирусные аналитики и исследователи компьютерной безопасности стремятся собрать как можно больше образцов новых ботнетов. В своих целях они используют honeypot'ы.… Но что если хочется понаблюдать за зловредом в реальных условиях? Подставить под удар свой сервер, маршрутизатор? А что если подходящего устройства нет? Именно эти вопросы натолкнули меня на создание bhunter — инструмента для получения доступа к узлам бот-сетей.

                          image
                          Читать дальше →
                        • Как сделать заказной веб- или mobile-проект с нуля: процессы, правила и немного крови

                          В интернете и книгах полным-полно best practices, которые освещают те или иные моменты в работе над ИТ-проектом. Однако best practices не позволяют увидеть всю картинку, на которой был бы виден весь путь реализации проекта с нуля.

                          Мне не удалось найти такой «мануал», который бы разложил четко и по полочкам весь объем и порядок работ в заказном проекте. Поэтому идея поделиться своим опытом в разработке «внешних проектов» показалась мне неплохой — быть может, вы узнаете здесь себя.
                          Читать дальше →
                        • Авиабилеты: рыночная цена или ….?

                            Практически каждая коммерческая компания стремится к увеличению своей прибыли, один из способов ее увеличения – увеличение доходов при неизменности расходов или меньшем их росте в абсолютном значении. Для увеличения доходов авиакомпания может создавать новые направления, новые продукты (к примеру, сувенирная продукция или магазин беспошлинной торговли на борту самолета), дополнительные услуги (страховки, платный багаж и так далее), а также управлять ценой авиабилета для увеличения доходов.


                            Читать дальше →
                          • Защищённые прокси — практичная альтернатива VPN


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

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

                              В этой статье расказано о преимуществах защищённого прокси перед VPN и предложены различные реализации, готовые к использованию.
                              Читать дальше →
                            • Установка и настройка RTKRCV (RTKLIB) на Windows 10 с использованием WSL

                              Здравствуйте, в данной статье разбирается процесс установки и запуска приложения RTKRCV из открытой библиотеки RTKLIB, разрабатываемой командой Томоджи Такасу (Япония).

                              RTKLIB — это программный пакет с открытым исходным кодом для стандартного и точного позиционирования с использование ГНСС-технологий (глобальной навигационной спутниковой системой).

                              Для кого эта статья?


                              Данный материал имеет практическую значимость для всех тех, кто хочет интегрировать точное позиционирование в свои устройства, а также может служить справкой по оптимизации работы с программными продуктами, предоставляемыми библиотекой RTKLIB. Информация в данном материале призвана оптимизировать взаимодействие специалиста с CUI на системе Windows 10.
                              Читать дальше →