Pull to refresh
12
4
Эллада Нуралиева @ElladaNur

Пользователь

Send message

[HTTP API & REST] Работа с ошибками в HTTP API. Заключительные положения и общие рекомендации

Level of difficultyHard
Reading time12 min
Views9.3K

Это главы 39 и 40 раздела «HTTP API & REST» моей книги «API». Второе издание книги будет содержать три новых раздела: «Паттерны API», «HTTP API и REST», «SDK и UI‑библиотеки». Если эта работа была для вас полезна, пожалуйста, оцените книгу на GitHub, Amazon или GoodReads. English version on Substack.

Читать далее
Total votes 5: ↑4 and ↓1+3
Comments0

Через тернии к звёздам: строим SSDLC на OpenSource-компонентах

Reading time14 min
Views2.9K

Привет! Меня зовут Максим Коровенков, я DevSecOps Lead в СберМаркете. 

Хочу рассказать о том, как мы строим developer-центричный DevSecOps. Мы набили по ходу этого «строительства» уже достаточное количество шишек, поэтому, дабы поберечь вас, делюсь обретенным опытом.

Статья будет полезна тем, кто только начинает строить DevSecOps-процессы в компании, а также тем, кто уже начал, но столкнулся с проблемами роста (рост числа микросервисов, команд разработки, экспоненциальный рост нагрузки, нехватка кадров и т.д.). Поехали!

Читать далее
Total votes 14: ↑14 and ↓0+14
Comments15

Лучшие практики при написании безопасного Dockerfile

Reading time9 min
Views31K

В данной статье мы рассмотрим небезопасные варианты написания собственного Dockerfile, а также лучшие практики, включая работу с секретами и встраивание инструментов статического анализа. Тем не менее для написания безопасного Dockerfile наличия документа с лучшими практиками мало. В первую очередь требуется организовать культуру написания кода. К ней, например, относятся формализация и контроль процесса использования сторонних компонентов, организация собственных Software Bill-of-Materials (SBOM), выстраивание принципов при написании собственных базовых образов, согласованное использование безопасных функций, и так далее. В данном случае отправной точкой для организации процессов может служить модель оценки зрелости BSIMM. Однако в этой статьей пойдет речь именно о технических аспектах.

Читать далее
Total votes 64: ↑62 and ↓2+73
Comments20

8 вещей, о которых забывают разработчики при переносе приложения в Kubernetes

Reading time11 min
Views15K

Kubernetes становится стандартом разработки, при этом порог входа в него остается довольно высоким. Вместе с архитектором отдела администрирования сервисов Selectel Михаилом Вишняковым собрали список рекомендаций для разработчиков приложений, которые мигрируют их в оркестратор. Знание перечисленных пунктов позволит избежать потенциальных проблем и не создавать ограничений на месте преимуществ k8s.

Наш субъективный список — под катом. Пополните его своими рекомендациями в комментариях!
Читать дальше →
Total votes 59: ↑57 and ↓2+72
Comments2

Безопасная разработка: SAST, DAST, IAST и RASP

Reading time4 min
Views57K


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


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


  • SAST
  • DAST
  • IAST
  • RASP

SAST и DAST


SAST (Static Application Security Testing) — тестирование «белого ящика», существует уже более десяти лет. Позволяет разработчикам находить уязвимости безопасности в исходном коде приложения на ранних этапах жизненного цикла разработки ПО. SAST также обеспечивает соответствие руководствам и стандартам кодирования без фактического выполнения базового кода.


DAST (Dynamic Application Security Testing) — тестирование «черного ящика», может обнаруживать уязвимости и слабые места в работающем приложении, обычно веб-приложениях. Это достигается за счет использования методов внедрения ошибок в приложении, таких как передача вредоносных данных в программное обеспечение, для выявления распространенных уязвимостей безопасности, например, SQL-инъекций и межсайтовых сценариев.


DAST также может пролить свет на проблемы времени выполнения, такие как:


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

Обнаружить это с помощью статистического анализа нельзя.

Читать дальше →
Total votes 3: ↑1 and ↓2-1
Comments4

О безопасности Kubernetes. Часть 2. Ищем уязвимости и защищаемся

Reading time17 min
Views5.3K

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

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments0

О безопасности Kubernetes. Часть 1. Об угрозах

Reading time5 min
Views5.5K

Технологии контейнеризации в последние годы получили широкое распространение и наиболее известным решением по управлению контейнерами по праву считается Kubernetes, или, сокращенно, K8s. Kubernetes это система автоматизации развертывания и масштабирования контейнеризированных приложений и управления ими. Данная система построена на базе программного обеспечения с открытым исходным кодом. Изначально решение разрабатывалось специалистами Google, начиная с 2014 года и предназначалось для решения внутренних задач корпорации. Однако, впоследствии Kubernetes стал решением Open-Source и получили широкое распространение по всему миру.

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

В целом, K8s можно назвать стандартом для современных DevOps-сред в организациях различного уровня. Например, Kubernetes используется в таких облачных сервисах, как: AWS, Microsoft Azure или Google Cloud.

Читать далее
Total votes 13: ↑6 and ↓7-1
Comments0

Практический пример подключения хранилища на базе Ceph в кластер Kubernetes

Reading time8 min
Views16K

Container Storage Interface (CSI) — это унифицированный интерфейс взаимодействия Kubernetes и систем хранения данных. Вкратце о нём мы уже рассказывали, а сегодня подробнее рассмотрим связку CSI и Ceph: покажем, как подключить хранилище Ceph к кластеру Kubernetes.
В статье приведены реальные, хотя и немного упрощённые для удобства восприятия примеры. Установку и настройку кластеров Ceph и Kubernetes не рассматриваем.


Вам интересно, как это работает?


Читать дальше →
Total votes 13: ↑12 and ↓1+14
Comments0

Хранение данных в кластере Kubernetes

Reading time5 min
Views34K

Настроить хранение данных приложений, запущенных в кластере Kubernetes, можно несколькими способами. Одни из них уже устарели, другие появились совсем недавно. В этой статье рассмотрим концепцию трёх вариантов подключения СХД, в том числе самый последний — подключение через Container Storage Interface.


Читать дальше →
Total votes 19: ↑18 and ↓1+20
Comments5

Идеальный пайплайн в вакууме

Reading time6 min
Views19K

На собеседованиях на позицию, предполагающую понимание DevOps, я люблю задавать кандидатам такой вопрос (а иногда его еще задают и мне):

Каким, по вашему мнению, должен быть идеальный пайплайн от коммита до продашкена?/Опишите идеальный CI/CD / etc?

Сегодня я хочу рассказать про своё видение идеального пайплайна. Материал ориентирован на людей, имеющих опыт в построении CI/CD или стремящихся его получить.

Так-так-так что тут у вас...
Total votes 18: ↑17 and ↓1+23
Comments25

Опасность при настройке SSL VPN на FortiGate

Reading time3 min
Views6.8K


По информации SAM Seamless Network более 200 тысяч компаний, в которых используется SSL VPN с настройкой «из коробки», уязвимы к атакам типа MitM. Злоумышленники при подключении могут предоставить действующий SSL сертификат и обманным путем подключиться к корпоративной сети компании. Под катом представлен пример атаки, а также рекомендации по безопасной настройке SSL VPN.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments1

HelmWave v0.5.0 – GitOps для твоего Kubernetes

Reading time8 min
Views6.7K

preview


Helm, как и Docker стал де-факто стандартом в индустрии. Тоже самое и с Kubernetes (52% доля в нише). И новость, что Docker is deprecated вызвало волну обсуждений в сообществе. Настолько все привыкли к Docker.

Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments6

Как стать кукловодом или Puppet для начинающих

Reading time7 min
Views108K
Здравствуйте.
image
Этот топик открывает цикл статей по использованию системы управления конфигурацией Puppet.

Что такое система управления конфигурацией?


Предположим, что у вас есть парк серверов, выполняющих различные задачи. Пока серверов мало и вы не растёте, вы легко настраиваете каждый сервер вручную. Устанавливаете ОС (может быть, автоматизированно), добавляете пользователей, устанавливаете софт, вводя команды в консоль, настраиваете сервисы, правите конфиги ваших любимых текстовых редакторов (nanorc, vimrc), выставляете на них одинаковые настройки DNS-сервера, устанавливаете агент системы мониторинга, настраиваете syslog для централизованного сбора логов… Словом, работы довольно много и она не особенно интересна.
Как спастись от рутины?
Total votes 62: ↑55 and ↓7+48
Comments66

IPMI ― обзор технологии

Reading time11 min
Views181K

Чтобы удаленно управлять состоянием серверной платформы, системные администраторы и инженеры пользуются технологией IPMI, которая значительно упрощает им жизнь. Теперь не надо каждый раз бежать к серверу, чтобы нажать на кнопку перезагрузки ― своевременно реагировать на критические неполадки можно сидя дома в уютном кресле. В этой статье рассмотрим основные компоненты IPMI и детали работы технологии.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments20

Как Gitlab-CI наследует переменные окружения?

Reading time3 min
Views28K

Переменные в Gitlab можно задать в нескольких местах:


  1. В настройках групп
  2. В настройках проекта
  3. Внутри .gitlab-ci.yml

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



Начнем с простого наследования и будем постепенно усложняться.


С конечным списком уровней приоритетов можно ознакомиться в конце документа.

Читать дальше →
Total votes 6: ↑5 and ↓1+9
Comments2

Information

Rating
853-rd
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity