• Механизмы контейнеризации: cgroups

    • Tutorial
    механизмы контейнеризации

    Продолжаем цикл статей о механизмах контейнеризации. В прошлый раз мы говорили об изоляции процессов с помощью механизма «пространств имён» (namespaces). Но для контейнеризации одной лишь изоляции ресурсов недостаточно. Если мы запускаем какое-либо приложение в изолированном окружении, мы должны быть уверены в том, что этому приложению выделено достаточно ресурсов и что оно не будет потреблять лишние ресурсы, нарушая тем самым работу остальной системы. Для решения этой задачи в ядре Linux имеется специальный механизм — cgroups (сокращение от control groups, контрольные группы). О нём мы расскажем в сегодняшней статье.
    Читать дальше →
    • +22
    • 41.8k
    • 4
  • Как мы за неделю без денег, связей и софта запустили сервис по доставке еды и почти не облажались

      Меня зовут Дима, я студент Бауманки и программист с предпринимательским опытом. Вместе с ребятами, айтишниками и аналитиками, мы придумали Quicq – единый городской логистический сервис, к которому может подключиться любая компания и избавить себя от необходимости содержать свою службу доставки. Как факс, только для физических товаров. За неделю мы запустили MVP в Ярославле, потратили на старте 15 тысяч рублей, выполнили около 250 заказов и доставили еды на 175 тысяч рублей. Сейчас сервис работает в убыток, но мы знаем, как это починить. Мы пишем свой софт, готовимся к тестированию новых гипотез и проводим работу над ошибками.

      Расскажу, как мы прошли путь от идеи до запуска, – нащупывали нишу, разрабатывали бизнес-модель, искали подход к клиентам и выстраивали работу с курьерами. Возможно, наш опыт будет полезен тем, кто стоит перед похожей задачей, и тем, кому интересны эксперименты в области unit-экономики.
      Читать дальше →
    • The Matrix has you: обзор проектов, использующих MITRE ATT&CK



        Уже давно на разных площадках обсуждается матрица MITRE ATT&CK (Adversarial Tactics, Techniques and Common Knowledge), в том числе есть целая серия статей здесь, на самом Хабре. Можно сказать, что сообщество приняло эту модель, более того — многие начали ее использовать. Сегодня мы составили для вас небольшой обзор различных проектов, которые направлены на:

        • Улучшение восприятия и удобства работы с матрицей;
        • Сопоставление аналитики с методами ATT&CK;
        • Проведение проверок на различные атаки, описанные в матрице.
        Follow the White Rabbit
      • Карта средств защиты ядра Linux

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

          Читать дальше →
        • Знакомство с виртуальными интерфейсами Linux: туннели

          • Translation
          Linux поддерживает множество видов туннелей. Это запутывает новичков, которым бывает сложно разобраться в различиях технологий, и понять то, каким туннелем лучше воспользоваться в конкретной ситуации. В материале, перевод которого мы сегодня публикуем, будет дан краткий обзор часто используемых туннельных интерфейсов ядра Linux. Сильно углубляться в эту тему мы не будем, рассмотрев лишь общие особенности туннелей и варианты их использования в Linux.



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

          Здесь будут рассмотрены следующие часто используемые интерфейсы: IPIP, SIT, ip6tnl, VTI и VTI6, GRE и GRETAP, GRE6 и GRE6TAP, FOU, GUE, GENEVE, ERSPAN и IP6ERSPAN.

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


            При проведении тестирований на проникновение мы довольно часто выявляем ошибки в конфигурации домена. Хотя многим это не кажется критичным, в реальности же такие неточности могут стать причиной компрометации всего домена.

            К примеру, по итогам пентеста в одной компании мы пришли к выводу, что все доступные машины в домене были не ниже Windows10/Windows Server2016, и на них стояли все самые свежие патчи. Сеть регулярно сканировалась, машины хардились. Все пользователи сидели через токены и не знали свои «20-символьные пароли». Вроде все хорошо, но протокол IPv6 не был отключен. Схема захвата домена выглядела так:

            mitm6 -> ntlmrelay -> атака через делегирование -> получен хеш пароля локального администратора -> получен хеш пароля администратора домена.

            К сожалению, такие популярные сертификации, как OSCP, GPEN или CEH, не учат проведению тестирования на проникновение Active Directory.

            В этой статье мы рассмотрим несколько видов атак на Active Directory, которые мы проводили в рамках пентестов, а также используемые инструменты. Это ни в коем случае нельзя считать полным пособием по всем видам атак и инструментам, их действительно очень много, и это тяжело уместить в рамках одной статьи.

            Итак, для демонстрации используем ноутбук на Kali Linux 2019 и поднятые на нем виртуальные хосты на VMware. Представим, что главная цель пентеста — получить права администратора домена, а в качестве вводных данных у нас есть доступ в корпоративную сеть компании по ethernet. Чтобы начать тестировать домен, нам понадобится учетная запись.
            Читать дальше →
          • Эксплуатация Microsoft Edge от CVE до RCE на Windows 10

              Intro


              В рамках данной статьи мы достаточно подробно рассмотрим процесс написания эксплоита под уязвимость в Microsoft Edge, с последующим выходом из песочницы. Если вам интересно узнать, как выглядит этот процесс, то welcome под кат!

              Читать дальше →
              • +39
              • 8.1k
              • 9
            • Производительность сетевых приложений Linux. Введение

              • Translation
              Веб-приложения ныне используются повсеместно, а среди всех транспортных протоколов львиную долю занимает HTTP. Изучая нюансы разработки веб-приложений, большинство уделяет очень мало внимания операционной системе, где эти приложения реально запускаются. Разделение разработки (Dev) и эксплуатации (Ops) лишь ухудшало ситуацию. Но с распространением культуры DevOps разработчики начинают нести ответственность за запуск своих приложений в облаке, поэтому для них очень полезно досконально познакомиться с бэкендом операционной системы. Это особенно полезно, если вы пытаетесь развернуть систему для тысяч или десятков тысяч одновременных подключений.

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

              Я пишу эту серию статей в ответ на вопросы молодых разработчиков, которые хотят стать хорошо информированными системными архитекторами. Невозможно чётко понять методы оптимизации приложений Linux, не погрузившись в основы, как они работают на уровне операционной системы. Хотя есть много типов приложений, в этом цикле я хочу исследовать сетевые приложения, а не десктопные, такие как браузер или текстовый редактор. Этот материал рассчитан на разработчиков и архитекторов, которые хотят понять, как работают программы Linux или Unix и как их структурировать для высокой производительности.
              Читать дальше →
              • +24
              • 12.7k
              • 3
            • Высшее и дополнительное образование в ИТ: результаты исследования «Моего круга»



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

                Наблюдая за такими тенденциями, мы на «Моем круге» добавили возможность указывать в своем профиле пройденные курсы. И провели исследование: организовали опрос и собрали ответы 3700 пользователей «Моего круга» и «Хабра» про их опыт образования:

                • В первой части исследования мы разбираемся, как наличие высшего и доп.образования влияет на трудоустройство и карьеру, исходя из каких соображений ИТ специалисты получают доп.образование и в каких сферах, что в итоге получают от него на практике, по каким критериям выбирают курсы.
                • Во второй части исследования, которая выйдет чуть позже, мы разберёмся с существующими сегодня на рынке образовательными учреждениями доп.образования, узнаем, какие из них самые известные, а какие самые востребованные, и в итоге построим их рейтинг.
                Читать дальше →
                • +47
                • 13.4k
                • 8
              • Беспроводная сеть сегодня воспринимается как нечто само собой разумеющееся. Гостиницы, рестораны, кафе, спортивные клубы и фитнес-центры, розничная торговля, общественные зоны - везде посетители ожидают стабильной беспроводной связи. Развертывание сети - это непрофильные, но необходимые расходы для бизнеса. Можно ли получить от них что-то еще, помимо неизмеримого одобрения клиента? Разбираемся, что следует учесть при постройке общедоступной Wi-Fi-сети и какие преимущества она может дать.
                Подробности – под катом
              • Руководство по Docker Compose для начинающих

                • Translation
                • Tutorial
                Автор статьи, перевод которой мы сегодня публикуем, говорит, что она предназначена для тех разработчиков, которые хотят изучить Docker Compose и идут к тому, чтобы создать своё первое клиент-серверное приложение с использованием Docker. Предполагается, что читатель этого материала знаком с основами Docker. Если это не так — можете взглянуть на эту серию материалов, на эту публикацию, где основы Docker рассмотрены вместе с основами Kubernetes, и на эту статью для начинающих.

                image
                Читать дальше →
              • Не ешь аспирин

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

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

                  Но я не про книгу хочу поговорить, а про неожиданное открытие, которое сделал Стивен Кови, когда ее писал. Он это явление назвал «социальный аспирин».
                  Читать дальше →
                • Ломаем простую «крякми» при помощи Ghidra — Часть 1

                  О том, что это за зверь такой — Ghidra («Гидра») — и с чем его едят она ест программки, многие уже, наверняка, знают не понаслышке, хотя в открытый доступ сей инструмент попал совсем недавно — в марте этого года. Не буду докучать читателям описанием Гидры, ее функциональности и т.д. Те, кто в теме, уже, уверен, всё это сами изучили, а кто еще не в теме — могут это сделать в любое время, благо на просторах веба сейчас найти подробную информацию не составит труда. Кстати, один из аспектов Гидры (разработку плагинов к ней) уже освещался на Хабре (отличная статья!) Я же дам только основные ссылки:


                  Итак, Гидра — это бесплатный кроссплатформенный интерактивный дизассемблер и декомпилятор с модульной структурой, с поддержкой почти всех основных архитектур ЦПУ и гибким графическим интерфейсом для работы с дизассемблированным кодом, памятью, восстановленным (декомпилированным) кодом, отладочными символами и многое-многое другое.

                  Давайте попробуем уже что-нибудь сломать этой Гидрой!
                  Читать дальше →