Pull to refresh
9
0
Send message

Kubeshark — мониторинг и анализ Kubernetes

Reading time4 min
Views4.9K

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

Читать далее
Total votes 17: ↑17.5 and ↓-0.5+18
Comments1

Препарируем Wazuh. Часть 1: Базовая установка

Level of difficultyEasy
Reading time7 min
Views5.1K

Тема SIEM решений с открытым исходным кодом постоянно проявляется на просторах сети. Одних интересуют SIEM системы как таковые, и хочется разобраться в решениях данного класса, но при этом не хочется связываться с тяжелыми и запредельно дорогими коммерческими SIEM. Другие не уверены, что им вообще нужен SIEM. Третьи хотят уйти с иностранных, не поддерживаемых официально в России решений. И наконец, множество организаций не располагают достаточным бюджетом для того, чтобы закупить коммерческий SIEM (не забываем, что помимо лицензий на SIEM нам потребуется еще потратиться на лицензии на поддержку и существенно вложиться в железо).   

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

Этой статьей мы начинаем цикл посвященный работе с Wazuh. Сегодня мы рассмотрим различные варианты развертывания Wazuh, а в последующих статьях поговорим о подключении источников под управлением Linux и Windows, о работе с правилами корреляции и другими основными моментами, связанными с использованием данного решения в качестве SIEM.

Читать далее
Total votes 12: ↑10 and ↓2+8
Comments0

Представляем планировщик Go: Вы никогда не смотрели на горутины с этой стороны

Level of difficultyMedium
Reading time7 min
Views10K

Вероятно, вы слышали о планировщике Go раньше, но насколько хорошо мы знает о том как он работает? Как он связывает горутины с потоками?

Разберем по очереди операции, которые выполняет планировщик.

Читать далее
Total votes 36: ↑33 and ↓3+30
Comments1

Эксплуатируем переполнение буфера в простом TCP-сервере

Level of difficultyHard
Reading time6 min
Views2.6K

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

Специально для этого примера я скомпилировал уязвимый TCP‑сервер, который принимает подключения через порт 3301 (Цикада?).

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

Открываем Adobe Flash в Docker в 2024-м

Level of difficultyEasy
Reading time3 min
Views4.3K

Шарился я тут в по Интернету в поисках видео событий 15-летний давности и нашел что-то вроде искомого, но никак не смог посмотреть - требовался Adobe Flash. Погуглил я как мне открыть это видео, но рабочих вариантов не нашел. "Ладно" - подумал я: "Challenge accepted". А нам с читателем лишняя возможность потренироваться в создании Docker-контейнеров.

Дисклеймер: использование устаревших версий браузера и самого Flash-плагина несёт потенциальную угрозу безопасности. Используйте этот метод на свой страх и риск.

Итак, начнём с того, что поддержка Flash-плагина была выпилена в Chromium начиная с версии 89. То есть нам нужно что-то где есть более ранняя версия. Это что-то - это Ubuntu 18.04 - там 65я версия, если без апдейтов,а с апдейтами 112-я. В какой-то момент должна была быть и 88-ая, но не нашел где её добыть - если читатель подскажет, буду безмерно благодарен. И так, поехали - создаём Dockerfile

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

Как в git работает HEAD

Level of difficultyEasy
Reading time5 min
Views11K

Недавно я провела в Mastodon опрос о том, насколько мои читатели уверены в том, что они хорошо понимают работу HEAD в Git. Результаты (на основании примерно 1700 голосов) меня немного удивили:

10% — 100%

36% — достаточно сильно уверен

39% — уверен в некоторой степени

15% — представления не имею

Меня удивило, что люди не уверены в своём понимании: я-то считала, что HEAD — это довольно простая тема.

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

Читать далее
Total votes 26: ↑23 and ↓3+20
Comments21

Pgpool-II

Level of difficultyEasy
Reading time6 min
Views4.5K

Привет, Хабр!

Pgpool-II позволяет юзерам PostgreSQL управлять пулами соединений БД, реализовывать репликацию данных между серверами БД. Pgpool-II работает как прокси-сервер между клиентскими приложениями и серверами PostgreSQL, перехватывая запросы от клиентов и направляя их к соответствующим серверам БД согласно настроенным правилам и политикам.

Pgpool-II также поддерживает множественные режимы репликации, включая репликацию на уровне строки и репликацию на уровне транзакций. Репликация на уровне строки позволяет синхронизировать изменения данных между серверами в реальном времени, в то время как репликация на уровне транзакций сосредотачивается на синхронизации транзакций целиком.

Читать далее
Total votes 14: ↑11 and ↓3+8
Comments3

Инструкция по SCA: генерация SBOM, инструменты, отличия

Reading time11 min
Views1.4K

Анализ сторонних компонентов ПО становится всё более актуальным в свете увеличения числа уязвимостей в открытом исходном коде. Популярные репозитории содержат более 20 тысяч потенциально опасных пакетов. Сегодня мы поговорим о спецификации SBOM (Software Bill of Material), обсудим, в каких сферах она используется, какими форматами представлена и какое применение находит в информационной безопасности, в частности, в рамках SCA-анализа.

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

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

Основные возможности кластеризации Patroni в PostgresSQL

Level of difficultyEasy
Reading time5 min
Views4.4K

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

Patroni может интегрироваться с различными системами распределенной конфигурации, включая etcd, ZooKeeper, Consul и Kubernetes.

Читать далее
Total votes 11: ↑10 and ↓1+9
Comments2

Управление загрузкой с помощью PostgreSQL и pg_headerkit

Level of difficultyEasy
Reading time4 min
Views3K

Привет, Хабр!

Supabase – это крутой open-source аналог Firebase, с его помощью можно организовать крутые штуки вроде ограничения скорости запросов.

Supabase – это инструмент, который дает возможность создавать масштабируемые серверные решения, используя PostgreSQL. С его помощью можно легко управлять базами данных, аутентификацией, хранением данных и реальным временем, но без всяких vendor lock-ins.

Rate Limiting контролирует поток запросов, чтобы ваш сервер не ушел в нокаут от перегрузки. Это спасает сервера от DDOS-атакти помогает обеспечить более равномерное распределение ресурсов среди пользователей.

Читать далее
Total votes 12: ↑9 and ↓3+6
Comments0

Personal (jesus) стенд — решаем проблему тестовых контуров в компании

Level of difficultyMedium
Reading time9 min
Views2.3K

Всем привет, меня зовут Захаров Антон, и я DevOps-инженер в компании Bimeister! Весь свой опыт  я получил в этой компании, за 5 лет прошел путь от эникея до того, кем я работаю сейчас (большое спасибо коллегам!). Я расскажу, как на базе своих серверов и внутренних ресурсов мы создаем персональные стенды для разработки и тестирования нашего приложения.

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

Оптимизация DevOps: Как персональные стенды и Grafana улучшают разработку и мониторинг

Level of difficultyMedium
Reading time8 min
Views8.8K

Всем привет, меня зовут Зуев Алексей, и я работаю DevOps-инженером в компании Bimeister! Сегодня я расскажу вам о том, как мы облегчаем жизнь нашим разработчикам и как разработчик может отследить состояние своего микросервиса в namespace Kubernetes. Основная цель этой статьи - описать, как мы пришли к дашборду для персональных стендов разработчиков.

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

Разработка простого DNS сервера на Go, согласно RFC

Level of difficultyMedium
Reading time7 min
Views11K

Привет, Хабр!

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

Читать далее
Total votes 42: ↑39 and ↓3+36
Comments10

Как департамент утилизации CPU превратился в департамент экономии железа, выдерживающий нагрузку в 1 млн RPS

Level of difficultyEasy
Reading time26 min
Views33K

Привет, меня зовут Мария, когда-то я работала на шахте, потом на заводе, а 3.5 года назад пришла в Ozon Tech. Сейчас я старший Golang-разработчик в команде product-facade. Это самый высоконагруженный сервис маркетплейса, но так было не всегда.

Хотите узнать, что скрывается под витриной маркетплейса? Что держит нагрузку в 1 миллион запросов в секунду? Толстые кэши или нечто большее? Про то, как устроено наше кэширование и как мы к этому пришли, — рассказываю в статье.

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

Настройка PostgreSQL под Linux

Level of difficultyEasy
Reading time10 min
Views105K

Время от времени приходится слышать мнение от некоторых системных администраторов, а также некоторых 1С-разработчиков, что установка, настройка и поддержка PostgreSQL под Linux очень сложна. Что гораздо дешевле покупать лицензии Windows и Microsoft SQL Server, чем нанимать высококвалифицированных администраторов, которые будут администрировать все эти open-source системы.

На наших бизнес-приложениях, использующих в качестве СУБД PostgreSQL, работают 70% крупнейших розничных сетей в Беларуси. Во всех из них одновременно работают от 500 до 1500 пользователей. В приложениях реализованы практически все основные процессы розничных сетей (демо, чтобы оценить сложность). Размер баз данных на данный момент составляет от 2 до 4ТБ. И все они работают практически со стандартными настройками PostgreSQL на одиночных серверах без какой-либо кластеризации. При этом даже в самых загруженных серверах есть еще значительный резерв по ресурсам для дальнейшего увеличения нагрузки без потребности в кластеризации.

Да, конечно же, многое зависит от запросов к СУБД, и несколькими кривыми запросами можно положить весь сервер. Однако, точно также можно положить и Oracle, и MSSQL. Да, платформа lsFusion, на которой написаны наши приложения, делает много различных оптимизаций запросов конкретно под PostgreSQL. Но вручную SQL-запросы можно оптимизировать еще лучше.

В этой статье я полностью опишу все настройки PostgreSQL (и немножко ОС), которые мы делаем на наших системах. Кроме того, мы специально стараемся не изменять те настройки, которые не дают видимого изменения в производительности, чтобы потом не гадать, почему в одном окружении есть проблема, а в другом - нет.

Читать далее
Total votes 44: ↑41 and ↓3+38
Comments16

Поднимаем кластер PostgreSQL в Docker и Testcontainers

Level of difficultyMedium
Reading time8 min
Views20K

Ранее я рассказывал о том, как запустить PostgreSQL в Docker. Тогда речь шла об использовании «ванильных» образов Postgres и поднятии одного хоста. В большинстве случаев этого достаточно как для тестов, так и для экспериментов, но нужно понимать, что в промышленной эксплуатации чаще всего используются высокодоступные (отказоустойчивые, кластеризованные) конфигурации PostgreSQL.

Сегодня я покажу, как запустить уже целый кластер PostgreSQL в Docker, а также в тестах через Testcontainers, и как вручную инициировать смену мастер-хоста.

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

Высокодоступные кластеры PostgreSQL с Patroni: Ваша очередь протестировать сценарии отказов

Level of difficultyEasy
Reading time15 min
Views11K

Пару недель назад (перевод статьи от 2021 г.) мы с Джобином (Jobin) сделали небольшую презентацию в рамках Percona Live Online с названием, подобным теме этой статьи: "PostgreSQL HA с Patroni: Сценарии отказов и способы восстановления кластера после них". Мы развернули 3-узловую среду PostgreSQL на имеющемся у нас оборудовании и решили "ломать" ее различными способами: отключали от интернета и электропитания кабели, “убивали” основные процессы, пытаясь насытить процессоры. Всё это происходило при постоянной записи и чтении данных из PostgreSQL. Идея заключалась в том, чтобы посмотреть, как Patroni справится с отказами и будет управлять кластером, продолжая обеспечивать работу. Это была интересная демонстрация!

Читать далее
Total votes 16: ↑15 and ↓1+14
Comments7

Keycloak — больно не будет

Level of difficultyHard
Reading time17 min
Views31K

Привет! Меня зовут Алексей, я DevOps-инженер компании Nixys. «Как правильно и своевременно предоставлять и отнимать доступ у различных сотрудников?» — этот вопрос беспокоит всех. Особую важность эта задача приобретает, когда продукт начинает быстро расти — если ваш штат регулярно меняется, вопросы безопасности данных и работоспособности системы должны стоять на особом контроле.

В статье я хочу рассказать, как мы совершенствовали систему контроля доступа в рамках одного проекта, и показать, как реализовали единую точку авторизации через Keycloak.

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

Представляем nxs-data-anonymizer — удобный инструмент для анонимизации баз данных

Level of difficultyEasy
Reading time8 min
Views3K

Привет, Хабр! 

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

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

И вот как раз о данных (а точнее о базах данных) в таких средах и хотелось бы поговорить. А именно — где и как их взять, как сделать их максимально приближенными к боевым и как защититься от их утечки. Для решения этих задач мы в Nixys используем собственный инструмент — nxs-data-anonymizer. Хотим поделиться им с вами.

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

Модуль Terraform для Proxmox LXC

Level of difficultyMedium
Reading time9 min
Views12K

Всем привет, я не блогер и не люблю писать посты и блоги, пока.

Решил найти решение для Terraform и Proxmox. После не долгих поисков нашёл провайдер под названием terraform-provider-proxmox. Так как на русском документации не было ни где, решил перевести документацию о ресурсах на русский язык как мог. Думаю что кому ни будь будет полезно и избавит от дополнительного труда.

Дальше
Total votes 15: ↑14 and ↓1+13
Comments5
1
23 ...

Information

Rating
4,272-nd
Location
Зеленоград, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, DevOps
Middle