Рубрика «контейнеризация»

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

В апреле этого года мы впервые провели бесплатную Школу информационной безопасности. Лекции в школе подготовили и прочитали сотрудники службы ИБ Яндекса — те специалисты, которые непосредственно отвечают за защиту наших продуктов. Мы получили более 700 заявок, 35 человек успешно закончили школу, 9 из них получили офферы в Яндекс (7 — на позицию стажёра, 2 — на штатную позицию).

Сегодня мы публикуем видеокурс со всеми лекциями Школы. Вы можете почерпнуть те же знания, что и студенты — разве что интерактива поменьше и не нужно делать домашнее задание. Для просмотра стоит знать хотя бы один язык программирования (JS, Python, C++, Java), на начальном уровне разбираться в принципах построения и работы веб-приложений, понимать принципы работы операционных систем и сетевой инфраструктуры, а также основные типы атак и виды уязвимостей.

Надеемся, этот курс прокачает вас в роли специалиста по ИБ, а также поможет защитить ваши сервисы от утечек данных и атак злоумышленников.
Читать полностью »

Контейнеры и безопасность: seccomp - 1

Для работы с потенциально опасными, непроверенными или просто «сырыми» программами часто используются так называемые песочницы (sandboxes) — специально выделенные среды с жёсткими ограничениями. Для запускаемых в песочницах программ обычно сильно лимитированы доступ к сети, возможность взаимодействия с операционной системой на хост-машине и считывать информацию с устройств ввода-вывода.

В последнее время для запуска непроверенных и небезопасных программ всё чаще используются контейнеры.
Читать полностью »

runc

Продолжаем цикл статей о контейнеризации. Сегодня мы поговорим о runC — инструменте для запуска контейнеров, разрабатываемом в рамках проекта Open Containers. Цель этого проекта заключается в разработке единого стандарта в области контейнерных технологий. Проект поддерживают такие компании, как Facebook, Google, Microsoft, Oracle, EMC, Docker. Летом 2015 года был опубликован черновой вариант спецификации под названием Open Container Initiative (OCI).
Читать полностью »

Docker in production: «Когда ты это кушаешь, тебе, как минимум, не противно, особенно если знаешь, как готовить» - 1

Идея контейнеризации появилась уже давно, однако Docker оказался первой технологией, которая смогла достичь массовой популярности. О том, почему это случилось, насколько Docker «повзрослел» за 3 года, а заодно о том, когда можно перестать волноваться и начать использовать Docker в своем production приложении, мы поговорили с нашими экспертами:

Docker in production: «Когда ты это кушаешь, тебе, как минимум, не противно, особенно если знаешь, как готовить» - 2Александр aatarasoff Тарасов — Software Architect в Альфа-Лаборатории. В настоящее время внедряет микросервисную архитектуру и двигает направление DevOps, а больше года назад рассказывал про свой опыт внедрения Docker в Альфа-Банке.

Docker in production: Нельзя использовать инструмент только потому, что он модный

– Почему вы стали использовать Docker?
Читать полностью »

LXD Containers

Продолжаем наш цикл статей о контейнеризации. Если первые две статьи (1 и 2) были посвящены теории, то сегодня мы поговорим о вполне конкретном инструменте и об особенностях его практического использования. Предметом нашего рассмотрения будет LXD (сокращение от Linux Container Daemon), созданный канадцем Стефаном Грабе из компании Canonical.
Читать полностью »

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

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

namespaces

Последние несколько лет отмечены ростом популярности «контейнерных» решений для ОС Linux. О том, как и для каких целей можно использовать контейнеры, сегодня много говорят и пишут. А вот механизмам, лежащим в основе контейнеризации, уделяется гораздо меньше внимания.

Все инструменты контейнеризации — будь то Docker, LXC или systemd-nspawn,— основываются на двух подсистемах ядра Linux: namespaces и cgroups. Механизм namespaces (пространств имён) мы хотели бы подробно рассмотреть в этой статье.

Начнём несколько издалека. Идеи, лежащие в основе механизма пространств имён, не новы. Ещё в 1979 году в UNIX был добавлен системный вызов chroot() — как раз с целью обеспечить изоляцию и предоставить разработчикам отдельную от основной системы площадку для тестирования. Нелишним будет вспомнить, как он работает. Затем мы рассмотрим особенности функционирования механизма пространств имён в современных Linux-системах.
Читать полностью »