• SSO на FreeIPA+Apache+Flask-Login+JWT

      Всем привет.

      В статье описывается разработка и развёртывание системы SSO-аутентификации, использующей Kerberos и JWT. Модуль аутентификации разработан с применением Flask, Flask-Login и PyJWT. Развёртывание выполнено с использованием веб-сервера Apache, сервера идентификации FreeIPA и модуля mod_lookup_identity на CentOS 6/7. В статье много текста, средне кода и мало картинок. В общем, будет интересно.

      image
      Читать дальше →
    • Принципы анимации для веба

      • Перевод
      Примечание переводчика: Представленный ниже материал содержит значительное количество технических терминов, при переводе которых могут возникнуть неточности. Если вы заметили опечатку, ошибку или неточность перевода — напишите нам, и мы оперативно всё исправим.

      Кроме того, в продолжение темы сегодняшней публикации на одну неделю будет открыт продвинутый курс академии по CSS-анимациям, который обычно доступен по подписке. Его описание размещено в конце топика.




      Фронтенд-дизайнеры и разработчики используют CSS для создания стилей, позиционирования элементов — в общем, для того, чтобы сайты выглядели красиво. Часто CSS применяют и для добавления движений на веб-страницы, хотя дело обычно не идёт дальше плавных переходов или анимации.

      На самом деле анимация может быть мощным инструментом, который позволяет посетителям сайта и клиентам легче взаимодействовать с интерфейсом продукта и быстрее добиваться своих целей. Этого можно достичь, если следовать в своей работе некоторым основополагающим принципам.
      Читать дальше →
    • RTOS должна упростить разработу IoT устройств

      • Перевод
      Имея в виду, что Интернет вещей (IOT) привлечет много людей, не являющихся квалифицированными разработчиками, Texas Instruments модифицировала свой TI-RTOS, добавив функции, упрощающие автоматизированное управление питанием и создание конечной точки IoT. TI-RTOS v2.12 (последняя ревизия), поможет разработчикам максимально увеличить срок службы батареи в TI SimpleLink и других беспроводных микроконтроллерах, не будучи специалистами в программировании «железа».
      Дальнейшие обещания да Богу бы в уши
      • +12
      • 7,3k
      • 3
    • OSSIM — разворачиваем комплексную open source систему управления безопасностью



        OSSIM (Open Source Security Information Management) — система управления, контроля и обеспечения информационной безопасности.
        OSSIM «из коробки» включает в себя такой функционал как:
        • Сбор, анализ и корреляция событий — SIEM
        • Хостовая система обнаружения вторжений (HIDS) — OSSEC
        • Сетевая система обнаружения вторжений (NIDS) — Suricata
        • Беспроводная система обнаружения вторжений (WIDS) — Kismet
        • Мониторинг узлов сети- Nagios
        • Анализ сетевых аномалий – P0f, PADS, FProbe, Arpwatch и др.
        • Сканер уязвимостей – OpenVAS
        • Мощнейшая система обмена информацией об угрозах между пользователями OSSIM — OTX
        • Более 200 плагинов для парсинга и корреляции логов со всевозможных внешних устройств и служб

        Читать дальше →
      • Многофункциональный датчик температуры/влажности на ESP8266 или еще один шаг к «интернету вещей»

        Дисклеймер: данная статья может содержать ошибки, поскольку я не так давно работаю с модулем ESP8266 и еще не до конца понимаю многие архитектурных аспекты данного устройства.

        Сегодня практически в любом доме есть Wi-Fi роутер и было бы недальновидно не воспользоваться этим устройством для домашней автоматизации, тем более что сегодня на рынке есть все доступное оборудование для реализации любых идей. Ниже будет представлен вариант создания небольшого электронного устройства, являющегося платформой для построения различных датчиков/исполнительных механизмов на основе Wi-Fi модуля — ESP8266.

        image
        Читать дальше →
      • Как мы отбивали xss/sql атаку с Nginx и Naxsi

          image
          Совсем недавно в разгар рабочего дня от клиента к нам поступила тревожная информация о том, что их сайт подвергается XSS/SQL атакам, часть из которых была успешной. Необходимо было срочно принять меры и настроить базовую защиту в течение нескольких часов, т.к. возможности быстро найти и устранить несовершенства кода у разработчиков не было.

          После недолгих раздумий выбор пал на firewall веб-приложений для nginx под названием naxsi, который технически является модулем nginx.
          Читать дальше →
        • Гомоморфное шифрование

            Что это такое?


            Полностью гомоморфное шифрование (Fully Homomorphic Encryption) очень долго было самым ярким открытием в молодой и бурно развивающейся области Computer Science — криптографии. Вкратце, такой тип шифрования позволяет делать произвольные вычисления на зашифрованных данных без их расшифровки. Например, гугл может осуществлять поиск по запросу не зная, что это за запрос, можно фильтровать спам, не читая писем, подсчитывать голоса, не вскрывая конверты с голосами, делать DNA тесты, не читая DNA и многое, многое другое.
            image
            То есть, человек/машина/сервер, производящий вычисления, делает механические операции с шифрами, исполняя свой алгоритм (поиск в базе данных, анализ на спам, и т.д.), но при этом не имеет никакого понятия о зашифрованной внутри информации. Только пользователь зашифровавший свои данные может расшифровать результат вычисления.

            Здорово, правда? И это не из области фантастики — это то, что уже можно «теоретически» воплотить в жизнь.

            Читать дальше →
          • ТОП-10 гик сериалов и тв-шоу по мнению команды организаторов фестиваля Make It Show

              image

              Организаторы фестиваля Make It Show решили собрать подборку самых классных сериалов и тв-шоу, которые должны оценить все, кто с трепетом и восторгом относятся к науке, технике и современным технологиям, и может отличить качественное тв-шоу от Дома-2.

              Рейтинг исключительно субъективен и является коллективным мнением команды организаторов фестиваля Make It Show. Будем рады, если вы подскажете нам, какой сериал или тв-шоу, по-вашему, мы пропустили и он обязан быть в этом списке.
              Читать дальше →
            • 14 советов, как сделать вкладки на сайте удобнее

              image

              Вкладки издавна используются, чтобы дать пользователю некую информационную альтернативу на одном уровне программной структуры. Это «модульные вкладки», которые все еще можно встретить на различных сайтах. Так, например, на порталах авиакомпаний Ryanair, EasyJet, AirMalta модульные вкладки используются для переключения между бронированиями полетов и отелей, а также прокатом автомобилей.

              С ростом количества сайтов вкладки стали применять для навигации. Такой подход впервые использовал Amazon в 1998 году. И хотя он в итоге отказался от навигации с помощью вкладок в 2007, все еще существуют отличные оригинальные примеры их использования как для модульных переключателей, так и для навигации. В этой заметке я (автор статьи – прим. переводчика) приведу список из 14 советов, которые вы можете применять как перечень необходимых условий, чтобы вкладки были наиболее удобными для пользователей.
              Прочитать советы
              • +10
              • 27,3k
              • 5
            • Frame object в Python. Что с ним можно, а что нельзя (в production и другом приличном месте) делать

              О Python на Хабре было много хороших статей. Как об особенностях реализации, так и о прикладных фичах, отсутствующих в других мейнстримных языках. Однако я с удивлением обнаружил (поправьте, если не прав), что есть одна важная тема, не раскрытая ни на Хабре, ни в русскоязычном интернете вообще. Эта статья будет посвящена такой штуке, как stack frame. Скорее всего она не скажет ничего, ну или может с учетом последнего пункта почти ничего нового опытным python-разработчикам, однако будет полезна новичкам (а может и вредна, но все примеры ниже).

              Я постарался написать статью так, чтобы её было удобно читать, открыв параллельно repl и бездумно копировать туда код эксперементируя. Поэтому по возможности большая часть примеров имеет вид «однострочники в интерпретаторе».

              Начнем мы немного издалека, с того что заметим, что Traceback это тоже объект, а потом найдем где там стековый кадр и уже перейдем к делу.
              Читать дальше →
              • +18
              • 14,7k
              • 4
            • Собираем свой собственный смартфон

              • Перевод


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

              Необходимые навыки:
              — базовые навыки пайки;
              — знакомство с Raspberry Pi.
              Или:
              — много свободного времени и терпения.
              Читать дальше →
            • Централизованные логи для приложений с помощью связки heka+elasticsearch+kibana

              В статье описана настройка центрального логирования для разных типов приложений (Python, Java (java.util.logging), Go, bash) с помощью довольно нового проекта Heka.

              Heka разрабатывается в Mozilla и написана на Go. Именно поэтому я использую его вместо logstash, который имеет сходные возможности.
              Читать дальше →
              • +16
              • 14,1k
              • 7
            • Вы неправильно пишете животных

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


                Уязвимость рекурсивных алгоритмов навигации муравья: спираль смерти

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

                Но пойдём далее. Я не знаю, кто разрабатывал архитектуру ящериц, но они бегают в одном процессе, а дышат в другом. При этом платформа не поддерживает многозадачность, поэтому костыль с максимальной длиной бега в 4-6 секунд просто эпичен.
                Читать дальше →
              • JSONB запросы в PostgreSQL

                • Перевод
                Ранее я писал, как включить поддержку jsonb в postgres/psycopg2. Сегодня экспериментировал с тем, как запрашивать данные в колонках типа JSON.
                На эту тему есть документация, но мне было не совсем понятно, как работают различные операции:

                CREATE TABLE json_test (
                  id serial primary key,
                  data jsonb
                );
                
                INSERT INTO json_test (data) VALUES 
                  ('{}'),
                  ('{"a": 1}'),
                  ('{"a": 2, "b": ["c", "d"]}'),
                  ('{"a": 1, "b": {"c": "d", "e": true}}'),
                  ('{"b": 2}');
                

                Читать дальше →
              • Tarantool 1.6 — давай начнем

                Не так давно на Хабре была опубликована статья о NoSQL базе — «Tarantool 1.6 от первого лица». Уверен, в своих кругах эта база данных отлично известна и уже завоёвывает популярность. Уверен так же и в том, что есть те начинающие, руки не дошли, кто хотел бы попробовать Tarantool в действии. Именно для таких желающих я приведу несколько простых примеров, помогающих начать знакомиться с этим интересным продуктом. Как понятно из названия статьи — речь идет о версии Tarantool 1.6.
                Читать дальше →
                • +25
                • 35,7k
                • 5
              • Как интернет вещей меняет подход к безопасности в корпорациях

                • Перевод


                Интернет вещей — одно из направлений, в котором будут развиваться инновации в области беспроводных, мобильных и облачных технологий. Однако, для корпораций «объединенная вселенная» несет в себе не только бесспорные плюсы, но и различные сложности, в том числе связанные с безопасностью.
                Читать дальше →
              • Регулирование интернета в Китае

                  Коммунистическое правление, как всем известно, подразумевает тотальный контроль И если почту, телевидение и телефон контролировать легко, то как контролировать интернет? У Китая это вполне себе получилось. На сегодня уровень контроля в китайском сегменте Интернета приближается к 100% и никаких подвижек к послаблению не предвидится. Под катом я вкратце опишу, как мы тут до этого дошли и что собой являет этот самый контроль.


                  Читать дальше →
                • Уроки жизни от 80 успешных людей в одном подкасте

                  • Перевод


                  «Вы слишком часто перебиваете», – пишут мне разные люди. – «Дайте вашим гостям договорить». Но мне любопытно. Я ничего не могу не с этим поделать. Я хочу знать! Прямо сейчас!

                  За последний год я взял интервью у 80 человек, приглашенных для записи моего подкаста. Моим единственным критерием отбора было наличие у каждого из моих гостей некоторой особенности, которой я восхищался.
                  Читать дальше →
                  • +10
                  • 18,9k
                  • 2
                • Компания Festo показала робота-муравья и робота-бабочку



                    Каждый год компания Festo представляет очередного робота. В прошлом году это был робот-кенгуру. Сейчас разработчики компании решили создать роботизированных насекомых, если точнее — муравьев. При этом BionicANT спроектированы таким образом, чтобы не только выглядеть, как реальное насекомое, но и вести себя соответственно. Каждый муравей оснащен шестью лапками и пьезоэлектрическими жвалами.

                    На одном заряде аккумулятора муравей может продержаться около 40 минут. Роботизированное насекомое «общается» с собратьями по беспроводной связи, у каждого муравья есть 3D стереокамера для обнаружения объектов, находящихся вокруг и навигации. Корпус робота создан путем селективного спекания полимера. Электронная часть — это ряд модулей, соединенных между собой.
                    Читать дальше →
                  • Python: вещи, которых вы могли не знать

                    Python — красивый и местами загадочный язык. И даже зная его весьма неплохо, рано или поздно находишь для себя нечто такое, что раньше не использовал. Этот пост отражает некоторые детали языка, на которые многие не обращают внимание. Сразу скажу: многие примеры являются непрактичными, но, оттого, не менее интересными. Так же, многие примеры демонстрируют unpythonic стиль, но я и не претендую на новые стандарты — я просто хочу показать, что можно делать вот так.
                    Читать далее