Search
Write a publication
Pull to refresh
3
0.9

User

Send message

Настройки безопасности контейнеров и Kubernetes

Level of difficultyEasy
Reading time11 min
Views6K

В этой статье представлен список инструментов Linux и функционала Kubernetes, регулирующих безопасность контейнеров. Статья имеет описательный характер для базового понимания настроек безопасности, а также для систематизации полезных инструментов и полей спецификации k8s для этих целей. Статья основана на книгах, представленных в главе «Литература».

Безопасность контейнеров в Linux

Основной особенностью контейнеров является изоляция процессов средствами Linux. При этом, приложения в контейнере делят общее ядро операционной системы с другими приложениями. Какие же ограничения применяют контейнеры? 

Контейнеры должны контролировать права процесса, доступ к ресурсам хоста и доступ к другим файлам файловой системы. Разберемся со всем по порядку.

Ограничения прав процесса 

Можно настроить очень простое разграничение доступа для процесса: наличие или отсутствие прав root.

Также можно разрешить запускать некоторые процессы с привилегиями root обычному пользователю, повесив файлу флаг Setuid (если владелец файла -  пользователь root). Setuid позволяет вызвать процесс от имени владельца, а не от имени запускающего пользователя.

Обычно флаг setuid (+s) используют вспомогательные программы для назначения capabilities - возможностей, для которых требуются повышенные привилегии.

Это небезопасно, например, можно задать бит +s для bash-скрипта и через него под привилегиями root выполнить любое содержимое этого скрипта. Но это более правильный вариант, чем давать исполняемому файлу полные права админа. 

Читать далее

Запускаем Matlab внутри Docker-контейнера с поддержкой GUI в ОС GNU/Linux

Level of difficultyMedium
Reading time51 min
Views6.6K

Возникла задача запускать графические приложения в полностью изолированной среде: как от Интернета, так и от файловой системы «хозяйской» ОС. В моём случае это был Matlab. Пишут, что в последних версиях он стал шибко «умным»: сам без спроса постоянно лезет в сеть и чем-то там постоянно обменивается со своими серверами. Однако использовать для поставленной задачи виртуальную гостевую машину / аппаратную виртуализацию (наподобие VirtualBox) — это, ИМХО, «too much». Docker подошел бы гораздо лучше, т.к. он использует то же ядро ОС и не требует эмуляции / виртуализации ввода-вывода, что существенно экономит ресурсы. Однако Docker «из коробки» не предназначен для запуска GUI-приложений. Что ж, попробуем это исправить и запустить таки Matlab внутри Docker-контейнера с полной поддержкой «иксов» и GUI.

Читать далее

Сложный был год

Level of difficultyEasy
Reading time12 min
Views23K
image

С точки зрения законодателей вам пора бы уже ходить в Интернет по паспорту. И первые шаги для этого сделали.

Из-за этого мы сейчас переживаем крупнейший передел рынка хостинга в России.

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

Ещё в этом году в ЦОДы начало поступать полностью отечественное железо из отечественной компонентной базы и отечественных плат (на самом деле — нет), отвалилась страховка от киберрисков от AIG (вместе с AIG), и пришлось искать российский аналог. Были скандал и мир с Казахстаном при открытии двух новых площадок, мы взяли премию «Хостер года», запустили собственный бесплатный DNS (аналог Route53), перешли на OpenAPI в хостинге, открыли ещё две площадки: ЦОДы во Владивостоке и в Турции в Измире (это там, где было наводнение), запустили и сломали спутник (дважды), пережили крупную аварию и после неё ввели понятное SLA на доступность с денежной гарантией.

В общем, сложный был год. Налоги, катастрофы, проституция, бандитизм и недобор в армию. С последним мириться было нельзя… Простите, рассказываю по существу.
Читать дальше →

Деградация современного ПО

Level of difficultyMedium
Reading time3 min
Views30K

В погоне за коммерческой выгодой современные отделы тестирования и обеспечения качества IT‑компаний стали забывать о реальном положении вещей в индустрии.

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

В данной статье я буду приводить примеры кейсов, на которые стоит обратить внимание при реализации жизненного цикла ПО с учетом QA.

Начнем с простейшего вопроса — это ресурсы.

Каждый человек в современном мире, живущий в мегаполисе, обладает такими девайсами как ПК/Ноутбук и мобильный телефон.

Как правило (чаще всего, нужное подчеркнуть) ПК/Ноут в большинстве случаев на OS Windows, а мобильный телефон — это смартфон на OS Android.

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

More

Домофон, который знает, как вас зовут — своими руками

Level of difficultyMedium
Reading time12 min
Views13K
image

В мире современных технологий, где мы можем управлять многими устройствами через мобильный телефон или голосового ассистента, удивляет присутствие примитивных элементов, таких как неприятно пищащие зуммеры. Ведь они были изобретены еще в 1831 году! Я решил привнести некоторые современные функции в систему управления доступом (СКУД), которая является ключевой частью любого домофона. Мой проект направлен на создание более интуитивной и приятной для слуха системы управления доступом.
Читать дальше →

Операция Lahat: новая группа Hellhounds атакует российские организации через системы на базе Linux

Level of difficultyMedium
Reading time7 min
Views20K

В октябре 2023 года команда Positive Technologies по расследованию инцидентов PT CSIRT обнаружила компрометацию одной энергетической компании с использованием трояна Decoy Dog. Этот вредонос активно используется в атаках на российские компании и правительственные организации по меньшей мере с сентября 2022 года. Однако образец, обнаруженный нами на хосте жертвы, представлял собой новую модификацию троянского ПО, которую злоумышленники доработали, усложнив его обнаружение и анализ.

Анализ инструментов, тактик и техник не позволил связать данную активность ни c одной из ранее известных APT-групп. Новая группа, названная нами Hellhounds, прикладывает значительные усилия для сокрытия своей активности на хостах и в сети. В интересы группы входят компании и государственные организации исключительно на территории Российской Федерации. Злоумышленники могут преследовать разные цели, но достоверно известно об одном случае полного уничтожения инфраструктуры.

Узнать больше о расследовании

Программно-определяемые сети SD-WAN

Reading time6 min
Views4.3K

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

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

Читать далее

Что такое LUN-СХД, или как мы виртуализировали хранилище

Reading time5 min
Views22K

Источник: Huawei.

Вся жизнь — это выбор. Между Apple и Android, MySQL и PostgreSQL, здоровым питанием и тортом после 18:00. Но как быть, если его хочется, а отрабатывать калории в зале — не очень? Обычно весь торт есть не заставляют, поэтому его можно нарезать небольшими частями и использовать по необходимости.

С данными в СХД такая же ситуация: можно использовать все пространство, а можно ограничиться LUN и оптимизировать бюджет. О том, что такое LUN, когда и где лучше использовать технологию — читайте в материале.
Читать дальше →

Как обучить нейросеть рисовать в стиле любого художника

Level of difficultyMedium
Reading time4 min
Views23K

Прошло 3 года с момента когда я обучал StyleGAN на панельках и мне стало интересно что там сейчас с генерацией картинок. А там - ого - можно дообучить целый stable diffusion на любом стиле любого художника! Как? А вот щас расскажу

Читать далее

Как мы наводим порядок с данными в столичном транспортном институте

Level of difficultyEasy
Reading time8 min
Views3.6K

Привет, Хабр!  На связи команда разработки «МосТрансПроекта».

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

Необходимые данные (а их суммарный объем измеряется в петабайтах) собирают ЦОДД, Московский метрополитен, «Организатор перевозок», «Мосгортранс», «Администратор московского парковочного пространства» и другие структуры транспортного комплекса. В целом, ничего сложного: получаем доступ к базам, берем информацию, «причесываем», анализируем, действуем, решаем задачу. Но, как обычно это бывает с данными, все не так просто.

В поисках склада

Проблема в том, что для неподготовленного специалиста обособленные друг от друга базы напоминают склады с наваленными коробками — чтобы быть уверенным в результате, нужно заглянуть в каждую. Старожилы «МосТрансПроекта», конечно, знают, где взять ту или иную информацию, но без их помощи работать с данными было трудно. Иногда нужно было пройти увлекательный квест, чтобы забрать сведения, которые есть лишь у конкретного специалиста.

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

Читать далее

Удалённая переустановка Raspberry Pi OS по ssh

Level of difficultyMedium
Reading time4 min
Views8.7K

На habr'е уже была публикация про удаленную переустановку Linux по ssh. Воистину, так гланды ещё никто не удалял… Я подивился находчивости и целеустремлённости автора, и искренне пожелал себе, чтобы материал никогда не пригодился на практике.

Но внезапно мне понадобилось переустановить Raspberry Pi OS на microSD-карте, установленной в Raspberry Pi 4. При этом доставать microSD-карту очень не хотелось, дело в том, что плата Raspberry Pi установлена внутрь корпуса, который не позволяет достать microSD-карту без разборки.

Памятуя, что это не единственная моя плата Raspberry Pi и это не последний раз, когда придётся полностью переустанавливать Raspberry Pi OS, я решил, что лучше полчаса потерять, потом за пять минут обновить.

Читать далее

Обходим обязательную привязку телефонного номера к своей учетной записи на GitHub

Level of difficultyMedium
Reading time2 min
Views19K

Недавно столкнулся с лицемерием GitHub, который якобы под предлогом беспокойства о безопасности обычных пользователей начал вводить обязательную двухфакторную аутентификацию. Сперва выборочно только для самых активных, а в последствии и для всех остальных без исключения.


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


Enable 2FA now. You'll be able to continue on with your work right after.

Но как обычно, дьявол в деталях. Ведь чтобы добавить аппаратный ключ нужно, чтобы двухфакторная аутентификация была УЖЕ активирована.


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


И в данном случае фокус с отправкой SMS на левый номер какого нибудь сервиса для временных телефонных номер вряд ли будет хорошей идеей.


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

Читать дальше →

Вольтамперметр на базе ESP8266 с записью данных в лог и передачей их по сети Интернет

Level of difficultyEasy
Reading time2 min
Views24K

Сегодня мы с Вами соберём вольтамперметр на безе ESP8266, он оснащён модулями: INA226, модуль реального времени, цифровой датчик температуры, сенсорный экран, SD карта для сохранения логов, WI-FI модуль, контроллер для управления силовыми ключами.

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

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

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

Читать далее

Безопасность DevOps. Стратегическое планирование

Reading time3 min
Views4.1K

Интеграция инструментов оценки рисков в рабочий процесс DevOps. Источник: Gartner

Почти двадцать лет индустрия IT всё активнее переходит к внедрению практик DevOps. Автоматизация технологических процессов сборки, настройки и развёртывания ПО со взаимной интеграцией этих процессов — всё это помогает в разработке высококачественных приложений на высокой скорости и с большей эффективностью благодаря использованию конвейеров CI/CD (Continuous Integration/Continuous Delivery).

Хотя внедрение практик DevOps повышает эффективность и скорость выпуска приложений, оно не лишено недостатков. Сам конвейер работает на непрерывной основе, включая тестирование и исправление багов. Но когда речь заходит о безопасности, то проверка уязвимостей и мониторинг безопасности, как правило, стоят в конце цикла, перед развёртыванием продукта.

Это не самый лучший подход, считают специалисты по безопасноcти.
Читать дальше →

Как настроить gRPC на примере микросервисов на Ruby и Go

Level of difficultyEasy
Reading time8 min
Views5.1K

Поделимся личным опытом, как у нас получилось организовать взаимодействие микросервисов на Ruby и Go на основе gRPC. Мы расскажем:

- о преимуществах gRPC;
- об особенностях работы с протоколом;
- о трудностях, с которыми может столкнуться начинающий разработчик.

Читать далее

Практическая магия Istio при построении архитектуры крупных микросервисных систем. Часть 1 — функциональная

Level of difficultyMedium
Reading time25 min
Views21K

Под Новый Год мы с женой пересматриваем одну популярную магическую сагу — хочется знаете ли в жизни волшебства. В IT волшебства тоже хватает — от танцев с бубнами до самых современных технологий, принцип работы которых проще объяснить тёмной магией. Так, например, бытует мнение, что настройка service mesh — это магия, подвластная лишь волшебникам DevOps. Но у нас в Альфа-Банке разработчики исторически не маглы, а, как минимум, полукровки, поэтому имеют право приобщиться к волшебному миру.

В этой серии статей я хочу поделиться опытом изучения технологии service mesh, а именно Istio, на примере практической задачи, возникшей какое то время назад в одной из систем Альфа Банка, системным архитектором которой я являюсь.

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

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

Читать далее

Инструкция: как быстро настроить GitLab CI/CD на Flutter-проекте

Reading time12 min
Views11K

Привет! Я Александр Омельяненко, Flutter-разработчик в AGIMA. Недавно мне понадобилось быстро настроить CI/CD на Flutter-проекте. Те несколько руководств, что я нашел в интернете по этой теме, были либо с нерабочими примерами, либо запутанные и просто плохого качества. Но всё же какое-то представление я получил. Плюс задал вопросы коллегам. Набивая шишки по пути, я-таки настроил CI/CD на своем проекте. Но мне тогда очень пригодилась бы четкая инструкция. Поэтому я решил написать ее сам по горячим следам. Сегодня делюсь ею с вами и надеюсь, эта инструкция облегчит жизнь тем, кто настраивает CI/CD на Flutter-проекте прямо сейчас.

Читать далее

Видеокарта VGA для микроконтроллера. Часть 2. От идеи до мелкой серии

Level of difficultyEasy
Reading time9 min
Views16K
image

В первой части была описана идея видеокарты VGA для простого микроконтроллера (или ардуины), с помощью которой можно выводить информацию на стандартный монитор с интерфейсом VGA даже с самых слабых и медленных ядер. Карта, сердцем которой является высокоскоростная ПЛИС, берет на себя все скоростные и критичные к таймингам операции.

Идея была обкатана на макете и показала свою жизнеспособность. Однако для ее реализации «в железе», а тем более в серии, необходимо пересмотреть несколько моментов.
Читать дальше →

DongShan Pi Pico-W: крошечный одноплатник с современным чипсетом за 600 рублей

Level of difficultyMedium
Reading time8 min
Views26K
image

Китайские производители не перестают удивлять: многие видят явные перспективы рынка одноплатных компьютеров и стараются представить целую линейку девайсов на самых разных чипсетах, а разработчики стараются использовать уже привычное и поддерживаемое долгие годы железо. К ним относятся решения на чипсетах AllWinner, RockChip, Tegra. Другие же стараются взять малоизвестный, но дешевый чип для иного круга применений, развести на нем компактную плату и продавать по цене пачки сухарей, подобные решения появляются регулярно. Один из таких одноплатников я недавно купил на AliExpress — некий DongShan Pi Pico W, на базе экзотического чипсета SigmaStar SSD210, всего за 600 рублей. И тут действительно есть на что посмотреть: два ядра Cortex-A7, контроллер TTL матриц, 2D GPU, Wi-Fi, 64Мб ОЗУ и Embedded Linux на борту. Более того, девайс поставляется в виде System on Module с переходной Evaluation-платой, что позволяет использовать это устройство в составе других гаджетов! Что это за красавец и на что он способен? Читайте под катом!
Читать дальше →

Backup and Restore — виртуальные машины в облаках/хостингах

Level of difficultyMedium
Reading time6 min
Views11K

Постановка задачи — есть виртуальная машина в облаке — мы хотим решить две задачи:

1. Резервировать ее по расписанию на наш сервер(а), находящиеся под нашим полным контролем.

2. Иметь возможность в любой момент сконвертировать нужную версию из резервной копии в виртуальную машину (в любом формате) и запустить ее на нашем оборудовании (т. е. приземлить виртуальную машину из облака на грешную...).

И так, поехали!

Читать далее

Information

Rating
2,002-nd
Registered
Activity