Как стать автором
Обновить
2
0

System Administrator

Отправить сообщение

Как мы оптимизировали сетевой шейпер Linux в облаке с помощью eBPF

Время на прочтение18 мин
Количество просмотров15K

Меня зовут Леонид Талалаев, я занимаюсь разработкой внутреннего облака Одноклассников one-cloud, про которое уже рассказывали на Хабре. 

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

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

Для управления сетевым трафиком до недавнего времени мы использовали решение на основе дисциплины Hierarchical Fair Service Queue из Linux Traffic Control. Сегодня пойдет речь про проблему масштабирования в Linux Traffic Control, известную как root qdisc locking. И про то, как нам удалось ее решить, переделав управление сетевым трафиком с использованием eBPF.

Читать далее
Всего голосов 50: ↑50 и ↓0+50
Комментарии18

Глубокое погружение в Linux namespaces, часть 3

Время на прочтение9 мин
Количество просмотров15K

Часть 1
Часть 2
Часть 3
Часть 4


Mount namespaces изолируют ресурсы файловых систем. Это по большей части включает всё, что имеет отношение к файлам в системе. Среди охватываемых ресурсов есть файл, содержащий список точек монтирования, которые видны процессу, и, как мы намекали во вступительном посте, изолирование может обеспечить такое поведение, что изменение списка (или любого другого файла) в пределах некоторого mount namespace инстанса M не будет влиять на этот список в другом инстансе (так что только процессы в M увидят изменения)

Читать дальше →
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Глубокое погружение в Linux namespaces, часть 2

Время на прочтение9 мин
Количество просмотров30K

Часть 1
Часть 2
Часть 3
Часть 4


В предыдущей части мы только окунули пальцы ног в воды namespace и при этом увидели, как это было просто — запустить процесс в изолированном UTS namespace. В этом посте мы осветим User namespace.


Среди прочих ресурсов, связанных с безопасностью, User namespaces изолирует идентификаторы пользователей и групп в системе. В этом посте мы сосредоточимся исключительно на ресурсах user и group ID (UID и GID соответственно), поскольку они играют фундаментальную роль в проведении проверок разрешений и других действий во всей системе, связанных с безопасностью.


В Linux эти ID — просто целые числа, которые идентифицируют пользователей и группы в системе. И каждому процессу назначаются какие-то из них, чтобы задать к каким операциями/ресурсам этот процесс может и не может получить доступ. Способность процесса нанести ущерб зависит от разрешений, связанных с назначенными ID.

Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии0

Глубокое погружение в Linux namespaces, часть 4

Время на прочтение10 мин
Количество просмотров30K

Часть 1
Часть 2
Часть 3
Часть 4


В завершающем посте этой серии мы рассмотрим Network namespaces. Как мы упоминали в вводном посте, network namespace изолирует ресурсы, связанные с сетью: процесс, работающий в отдельном network namespace, имеет собственные сетевые устройства, таблицы маршрутизации, правила фаервола и т.д. Мы можем непосредственно увидеть это на практике, рассмотрев наше текущее сетевое окружение.

Читать дальше →
Всего голосов 2: ↑2 и ↓0+2
Комментарии3

Как я читал показания датчиков через SNMP (Python+AgentX+systemd+Raspberry Pi) и соорудил ещё одну мониторилку

Время на прочтение11 мин
Количество просмотров20K
Всем привет.

image

Лирическое отступление
Статья лежит в черновиках уже пару недель, потому как не было времени таки допилить описываемый объект. Но под натиском товарищей, которые своими статьями уже покрыли половину того, что я сказать хотел, решил последовать принципу «release fast, release early, release crap» и опубликовать то, что есть. Тем более, что разработка на 80% закончена.

С момента публикации статьи про «В меру Универсальное Устройство Управления» прошло немало времени (а если быть точным, больше года). Немало, но недостаточно много, чтобы я таки написал нормальную программную начинку для этого устройства. Ведь не для красоты ж оно есть — оно должно собирать данные с датчиков и делать так, чтобы эти данные оказывались в системе мониторинга (в моём случае Zabbix)
Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии10

DNSSec: Что такое и зачем

Время на прочтение6 мин
Количество просмотров105K

Предисловие


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

Читать дальше →
Всего голосов 50: ↑48 и ↓2+46
Комментарии13

Настраиваем automount в Linux

Время на прочтение4 мин
Количество просмотров17K

Сегодня мы поговорим про такую практику в Linux, как automount

Мы настроим сервер NFS для предоставления некоторых общих ресурсов и настроим автоматическое монтирование для автоматического доступа к этим общим ресурсам при необходимости.

Читать далее
Всего голосов 9: ↑6 и ↓3+4
Комментарии5

Изучаем PostgreSQL. Часть 1. Знакомимся с архитектурой

Время на прочтение8 мин
Количество просмотров120K

 На сегодняшний день существует большое количество различных систем управления базами данных - СУБД, от коммерческих до открытых, от реляционных до новомодных NoSQL и аналогичных.

Одним из лидеров направления СУБД является PostgreSQL и ее различные ответвления, о некоторых из которых мы рассмотрим подробнее.

В этой статье мы начнем говорить о СУБД PostgreSQL, рассмотрим отличия редакций и некоторые особенности архитектуры, а также процесс установки. Но начнем мы с небольшого ликбеза для того, чтобы читатели плохо знакомые с терминологией баз данных могли быстро войти в курс дела.

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

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

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

Читать далее
Всего голосов 20: ↑13 и ↓7+8
Комментарии8

IP MTU: как перестать жить и начать ботать заголовки

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров6.7K

Старина IPv4… В сетевом мире он распространён так же, как и воздух на Земле. Однако несмотря на то, что миллионы людей используют этот протокол в повседневной жизни, у IPv4 всё ещё есть пара сюрпризов в рукаве. Сегодня мы рассмотрим один из них.

Читать далее
Всего голосов 10: ↑9 и ↓1+10
Комментарии1

Национальная система доменных имён: первый взгляд

Время на прочтение12 мин
Количество просмотров33K

С начала этого года в России стала эксплуатироваться Национальная Система Доменных Имён - НСДИ, о чём уже можно почитать на Хабр, а провайдерам и владельцем автономных систем РКН рассылает письма с требованиями к ней подключиться. По своей сути это набор из публичных DNS серверов, доступный всем желающим и предлагаемый к использованию как провайдерам так и конечным пользователям Интернет. К своему сожалению, я слабо представляю как конкретно организована и функционирует глобальная система доменных имён, или как организована работа серверов обслуживающих, например, зону RU., и надеюсь это статьёй, в том числе, привлечь внимание к этому вопросу людей которые в этом разбираются или участвуют в этом процессе - это должно быть очень интересно и познавательно, для того чтобы об этом рассказать всем. Поэтому мой первый взгляд будет про адресацию, маршрутизацию, задержки, для чего будет использованы, в том числе, средства RIPE Atlas, и, конечно, про DNS, но ровно настолько насколько я в этом понимаю. Отличительно особенностью именно этой национальной системы является её доступность для исследований, поэтому надеюсь мой первый взгляд, будет продолжен и подхвачен, чтобы рассмотреть этот вопрос со всех сторон.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии2

Диагностика и перепрошивка оптических трансиверов

Время на прочтение8 мин
Количество просмотров20K

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

Сегодня мы расскажем о диагностике оптических трансиверов в случае фиксирования каких-либо проблем или перед сдачей в эксплуатацию mission-critical сервисов.
Читать дальше →
Всего голосов 48: ↑48 и ↓0+48
Комментарии8

Juniper SRX100, знакомство

Время на прочтение5 мин
Количество просмотров71K
На днях мне привезли долгожданный Juniper SRX100.
До этого времени в основном общался с Cisco и серией роутеров, типа 2800, 800.
На сколько я понял, могу ошибаться, данное оборудование ближе к классу аппаратных файрволлов.
Под катом первичная настройка данной железяки и выход в интернет.
Читать дальше →
Всего голосов 10: ↑7 и ↓3+4
Комментарии41

IEC60027-2: Давайте использовать стандарты, или 1024 B == 1 KiB && 1024 B != 1 KB && 1000 B == 1 kB

Время на прочтение5 мин
Количество просмотров131K
Доброго времени суток, уважаемые!

В последнее время, читая различные статьи в хабре, всё больше стал замечать, что многие авторы до сих пор ничего не знают о ISO/IEC стандартах бинарных префиксов (KiB=кибибайт, MiB=мебибайт и т.д.) и постоянно путают их с SI префиксами (kB=килобайт, MB=мегабайт). Поэтому я решил ещё раз заговорить об этом в надежде, что, прочитав статью, ещё пара человек начнёт пользоваться стандартами!

Читать дальше →
Всего голосов 293: ↑232 и ↓61+171
Комментарии380

Провайдеры и MTU/MSS/PMTU

Время на прочтение2 мин
Количество просмотров27K

Значит нужен мне второй канал связи, да этак мегабит 300 в секунду. В моём городе немного провайдеров, по этому выбрать не дали и пришлось подключаться к WiFire (он же NetByNet, MegaFon и так далее). Подключился, потестил, 300 мегабит, балдеж. Решил я значит почитать что нового на своем любимом Хабре и опа: он не открывается, но охотно пингуется.

Читать далее
Всего голосов 17: ↑13 и ↓4+10
Комментарии5

Настройка WireGuard на Mikrotik

Время на прочтение5 мин
Количество просмотров168K

Если не касаться wiki и официального сайта, и объяснять как можно проще, то это VPN туннелирование через UDP.

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

Хотите узнать как?
Всего голосов 21: ↑21 и ↓0+21
Комментарии27

Управление Mikrotik с помощью Telegram бота

Время на прочтение3 мин
Количество просмотров21K

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

Бот для блокировки интернета

Вариант подойдет для  блокировки и разблокировки интернета на домашних устройствах (ПК, ТВ приставки и прочие гаджеты) например чтобы дети сделали перерыв или пошли делать уроки. Можно конечно скачать приложение Mikrotik на смартфон, но каждый раз возится в настройках Kid Control и правилах Firewall не очень удобно, а с ботом почувствовать себя властелином интернета сможет даже жена

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии4

Приручение черного дракона. Этичный хакинг с Kali Linux. Часть 1. Подготовка рабочего стенда

Время на прочтение5 мин
Количество просмотров84K

Приветствую тебя, дорогой читатель в самой первой вводной части серии статей «Приручение черного дракона. Этичный хакинг с Kali Linux».

Идеей, побудившей меня к написанию данной серии статей является мое желание поделиться собственным опытом в области тестирования на проникновение в рамках проводимых мной аудитов информационной безопасности финансовых организаций, и попытаться осветить важные, на мой взгляд, ключевые моменты касаемо подхода, инструментов, приемов и методов. Конечно же в сети очень много статей и книг посвященных данной теме (например, замечательная книга Дениела Г. Грэма «Этичный хакинг. Практическое руководство по взлому» или «Kali Linux. Тестирование на проникновение и безопасность» - труд целого коллектива высококлассных специалистов), программы курсов от Offensive Security, EC-Council, но далеко не у всех есть материальные возможности оплачивать дорогостоящие курсы, а в дополнение к учебникам хотелось бы больше практических примеров основанных на чьем-то опыте.

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

Мы будем использовать подход максимально приближенный к сценариям атак проводимых злоумышленниками, а также вдоволь попрактикуемся на отдельных примерах и разберем такие темы как разведка и сбор информации (footprinting), сканирование ресурсов с целью обнаружения известных уязвимостей, применение эксплоитов из базы Metasploit framework для получения доступа к системе, повышение привилегий до уровня root-пользователя за счет уязвимого ПО (privilege escalation), рассмотрим методы социальной инженерии, сетевые атаки канального уровня (MAC-spoofing, ARP-spoofing, DHCP starvation), способы атак на веб-сервера, перехват и анализ трафика с помощью сетевых снифферов и многое другое.

Читать далее
Всего голосов 24: ↑20 и ↓4+16
Комментарии31

Мониторинг Apache с помощью Zabbix

Время на прочтение10 мин
Количество просмотров8.2K

На сегодня Apache представляет собой одно из самых популярных ПО для создания Web-сервера. Очень часто Apache работает в паре с NGINX, об установке и мониторинге которого мы рассказывали в предыдущей статье. В этой статье мы расскажем о том, как установить Apache и настроить его мониторинг помощи Zabbix. Также приведем рекомендации по оптимизации памяти и повышения производительности.

Читать далее
Всего голосов 10: ↑6 и ↓4+3
Комментарии0

Приручение черного дракона. Этичный хакинг с Kali Linux. Часть 2. Фазы атаки

Время на прочтение4 мин
Количество просмотров24K

Приветствую тебя, дорогой читатель во второй части серии статей «Приручение черного дракона. Этичный хакинг с Kali Linux.» Данная статья не будет содержать никаких практических примеров, и ее прочтение не займет у тебя много времени. Однако, без нее двигаться дальше будет так же бессмысленно, как и смотреть фильм в котором пропущен очень важный эпизод, несущий в себе смысл понимания происходящего во всей картине.

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

Типы кибератак.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии6

Приручение черного дракона. Этичный хакинг с Kali Linux. Часть 3. Footprinting. Разведка и сбор информации

Время на прочтение5 мин
Количество просмотров30K

Приветствую тебя, мой дорогой читатель, в третьей части серии статей «Приручение черного дракона. Этичный хакинг с Kali Linux”.

Сегодня мы поговорим о первой фазе абсолютно любой атаки называемой футпринтинг (разведка и сбор информации о цели).

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

Если в целом разделять тестирование на проникновение по типам, то можно выделить условно три типа тестов: тип белый ящик (whitebox), тип серый ящик (greybox), и тип черный ящик (blackbox). Поговорим немного о каждом из вышеупомянутых методов.

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

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

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

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии11
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность