Обновить
2
2.2

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

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

Реализация гео-блокировки на основе eBPF/XDP

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели8.2K

В 2022 году финансовый сектор, в частности банки, столкнулся с волной продолжительных и достаточно мощных DDoS-атак разных векторов. Среди них были и банальные L7 HTTP-флуды, не представлявшие собой ничего сложного в техническом плане, но для организаций с несколькими сотнями пользовательских сервисов и защитой от L7-атак только критичных из них, это стало серьезным вызовом.

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

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

Технология XDP (eXpress Data Path) идеально подходит для таких сценариев — она позволяет обрабатывать пакеты на самом раннем этапе, еще до того, как они попадут в сетевой стек ядра, что обеспечивает беспрецедентную производительность.

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

Читать далее

Long Polling и Webhooks. Обработка событий в Telegram-ботах

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели9.5K

Есть два способа, которые позволяют вашему боту получать обновления от серверов Telegram. Это long polling и вебхуки. Давайте разберемся, что это такое и когда какой вариант лучше использовать.

Сравнить подходы

В проблемах обнаружения принтеров вините драйверы Wi-Fi (и mDNS)

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели23K

Слышали ли вы жалобы на то, что принтеры, подключённые к сети по Wi-Fi, работают очень ненадёжно?
Принтер может без проблем печатать большую часть времени, но когда он вам срочно понадобился, ОС не может его найти и он оказывается недоступен?..

Или, может быть, смартфон, который бесперебойно вещал видео на Chromecast в телевизоре ещё 10 минут назад, теперь не может найти его в домашней сети?

В прошлом году я потратил немало времени на диагностику и устранение загадочных проблем с протоколами автообнаружения по Wi-Fi.
Разные настройки, разные Wi-Fi-роутеры, разные ОС и устройства, но основная проблема едина: всё, что использует автообнаружение, работает недостаточно стабильно и в самый нужный момент попросту ломается.

Читать далее

Харденинг веб-серверов Nginx и Apache: разбираемся с механизмами защиты и исправляем мисконфигурации

Уровень сложностиСредний
Время на прочтение21 мин
Охват и читатели5.2K

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

В этой статье мы перечислили основные механизмы защиты двух наиболее широко используемых в Linux-средах веб-серверов — Nginx и Apache HTTP Server. Рассмотрели риски, связанные с использованием этих веб-серверов, и описали практики их харденинга — от минимизации поверхности атаки и настройки TLS до организации журналирования и интеграции с системами безопасности. 

Читать

Безопасный доступ к внутренним сервисам: Keycloak, OAuth2 и немного Nginx‑магии

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели11K

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

Изначально решение виделось простым — настроить Nginx и прописать правила маршрутизации. Ключевые трудности скрывались в деталях: тонкой настройке редиректов, работе с access token и интеграции с бэкенд-сервисами, потребовавших значительного внимания.

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

Читать далее

«Автопилот» для HeadHunter — как я потратил 100 часов на бота- чтобы сэкономить тысячи часов айтишникам на поиске работы

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

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

Поиск работы – это... боль. Нет- не так. Это – ад.

Это бесконечный скроллинг- десятки открытых вкладок.

Читать далее

«Первые плоды неправильного использования ИИ» или «Что же случилось с поиском работы на должность разработчика?»

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели32K

Всем привет, я Кирилл, и я оказался на рынке труда осенью 2025 года. Давайте разберем, почему же нам, разработчикам с большим стажем перестали приходить отклики, количество собеседований уменьшилось до нуля, а со всех сторон все HR-специалисты трубят о нехватке кадров в IT. А также рассмотрим новую боль всех HR-ов. Статья носит статистический характер, пару советов и философские высказывания автора, и немного юмора.

Читать далее

IT-сектор после перегрева: миф о «схлопнувшейся отрасли» и реальное состояние рынка

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели70K

Айти — как легендарный вечно ликвидирующийся магазин SUNLIGHT. Уже пару десятилетий наша любимая и родная сфера «умирает», «схлопывается» и «обрушивается» — при этом умудряясь постоянно расти. В 2010-м «поздно вкатываться, все уже написано». В 2015-м «поздно вкатываться, джуны никому не нужны». В 2020-х «поздно вкатываться, всех заменит нейросеть». Найти работу в IT «невозможно», «дефицит кадров» тотален — при этом в 2025 году индустрия в России (да-да) поставила рекорд по численности сотрудников, а вакансий открыты десятки тысяч. В этой статье мы делаем смелую попытку разобраться в том, что происходит с отечественным IT на самом деле.

Читать далее

Почему РЭБ заставляет нервничать пилотов

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели22K

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

Читать далее

Очумелые ручки: терабайт на флешке

Время на прочтение4 мин
Охват и читатели16K

Пятница. Вспомнился эпизод из сериала, где ФБР врывается в офис, чтобы изьять у Главного героя флешку с секретными файлами, а он судорожно пытается всё стереть на ней.

А что, если решить задачу иначе?

(дисклеймер: всё ниженаписанное - сляпано тяп-ляп, в рамках теоретического решения задачи, и непригодно к продакшену)

Читать далее

Решение для автоматизированной установки сетевых принтеров в гетерогенной среде

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели9.4K

Готового решения найти не удалось, так что, поехали что-то делать кривыми ручками.

Но для начала, что имеем?

Офис на 300 человек и очень разношёрстный парк техники, MacOS, GNU/Linux и конечно Windows 10 и 11. Для первых двух развернут Cups а вот для вторых он не подходит, не буду распинаться почему :-)...

6 принтеров:
- 3шт. Kyocera ECOSYS M3145dn
- 1шт. Kyocera ECOSYS M4132idn
- 1шт. HP PageWide 377dw MFP
- 1шт. HP LaserJet MFP M426fdn
- 1шт. Kyocera ECOSYS MA4000cix

Для начала накидал кратко то, что собираюсь реализовать (aka ТЗ):

- Желание подключать пользователям Win принтера в один клик, а лучше чтобы этот клик и вовсе они сами делали;
- Ставится принтер должен с понятным именем для конечного пользователя
- Подключение по TCP/IP;
- И самое главное - Использование оригинальных драйверов производителя, во избежание каких либо конфликтов с форматом и для доступа к более широкому спектру настроек.

Придумалось следующее решение...

Читать далее

Как защитить Kubernetes на уровне ядра Linux

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели9.6K

Как защитить Kubernetes, если злоумышленник попытается выбраться из контейнера на хост? Рафаэль Натали предлагает многоуровневый подход: настройка Security Context, отказ от лишних прав, запуск контейнеров без root-доступа, а также усиление защиты с помощью AppArmor и seccomp.

Читать далее

Как я собирал себе NAS сервер или обретаем независимость своих данных от корпораций

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели39K

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

Подробный разбор сборки и настройки домашнего NAS: выбор SAS-дисков и контроллера, настройка ZFS-пула, установка TrueNAS SCALE, организация резервного копирования в S3 и запуск Docker-сервисов (Immich, Affine, Keycloak, Actual Budget). Небольшой гайд для тех, кто хочет построить своё хранилище и цифровую инфраструктуру под полным контролем.

Читать далее

Сколько зарабатывают Product и Project Manager? Реальные зарплаты в Яндекс, Авито, Т-Банк и других компаниях

Уровень сложностиПростой
Время на прочтение1 мин
Охват и читатели29K

Подготовил сборник зарплат Product и Project Manager разных грейдов. Внутри можно найти реальные данные по рынку и понять, сколько денег просить на собеседованиях или на ревью.

В сборнике уже есть информация по 45+ компаниям, включая Яндекс, Авито, Т-Банк, VK, Сбер, Ozon, Газпром, ВТБ, Самокат, Альфа Банк и др.

Читать далее

Учебный кластер ClickHouse на Docker Compose: от нуля к работающему стенду

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели11K

Запускаем на ноутбуке учебный кластер ClickHouse — шардированный (sharding) и реплицируемый (replication) — на Docker Compose.
Это не один сервер в контейнере, а стенд из 2 шардов × 2 реплики, с координацией через ZooKeeper и балансировкой HAProxy — поднимается за несколько минут.
Зачем: на практике разобрать репликацию и распределение по шардам, увидеть базовую отказоустойчивость и спокойно экспериментировать — всё в контейнерах, всегда можно снести и развернуть заново.
Кому: новичкам, кто хочет «пощупать» кластер; тем, кто знает базовый синтаксис ClickHouse, но не пробовал шардирование/репликацию; тем, кто готовится к собеседованию или приценивается к архитектуре перед продом.
В комплекте — готовые конфиги и docker-compose.yml в репозитории; всё, что нужно, — Docker и несколько команд.

Читать далее

Порт один, а сервисов — много. Учимся дружить Mikrotik с Nginx

Время на прочтение6 мин
Охват и читатели20K

Привет! Я Ваня, системный администратор в Selectel. Представим ситуацию: вам нужно организовать доступ к удаленному офису через Cisco AnyConnect, который по какой-либо причине должен работать на стандартном 443 порте. При этом на том же порте развернут веб-сервер, а позже понадобится там же развернуть FTPS, SSTP и еще 100 500 сервисов, которые используют TLS. Под катом рассмотрим, как решить проблему безопасно и относительно быстро.

Под кат!

Культура ИТ экспериментов. Очередные первые 100 дней в новой компании

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели5.9K

Каждая компания двигается по шкале от незрелой к зрелой и обратно. Это всегда динамика. Сегодня вы образец, завтра вы устаревшая помойка. Если 10 лет назад для наведения порядка внедрялся какой-нибудь "каскадо-водопадный PMI", 5 лет назад гибко-адаптивный Agile-OKR, то сейчас есть динамика к культуре проведения экспериментов*.

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

*Статья состоит из двух блоков - критика и предложение. Контекст: продуктовая ИТ компания среднего уровня, не стартап и не из ТОП 50.

Читать далее

Эмуляция сетевых проблем в Linux через tc netem

Время на прочтение4 мин
Охват и читатели8.1K

tc netem — инструмент Linux для эмуляции сетевых проблем. Кратко расскажу зачем он нужен, а также примеры использования.

Читать далее

Пишем с нуля ядро операционной системы

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели16K

Недавно я реализовал минимальный proof of concept ядра операционной системы с разделением времени для RISC-V. В этом посте я расскажу о том, как работает прототип. Целевая аудитория поста — все, кому интересно понимание низкоуровневого системного ПО, драйверов, системных вызовов и так далее. Надеюсь, он окажется особенно полезным для студентов, изучающих архитектуру ПО и компьютеров.

Это новый подход к упражнению, которое я выполнил на моём студенческом курсе по операционным системам; функционально он должен напоминать типичный проект по ОС. Однако в этом эксперименте сделан упор на современный инструментарий, а также на современную архитектуру RISC-V. RISC-V — это потрясающая технология, в которой проще разобраться быстрее, чем в других архитектурах CPU; в то же время она остаётся популярным выбором для многих новых систем, а не только архитектурой для обучения.

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

Читать далее

Создаём личную систему VoIP

Уровень сложностиПростой
Время на прочтение22 мин
Охват и читатели18K

Я всегда был активным сторонником самохостинга, но ни разу не пробовал ничего, связанного с VoIP. Недавно я приобрёл несколько IP-телефонов и создал личную домашнюю телефонную сеть на основе Asterisk. Это руководство поможет вам настроить собственную телефонную систему при помощи опенсорсных инструментов.

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

Читать далее
1
23 ...

Информация

В рейтинге
1 325-й
Зарегистрирован
Активность