Обновить
256K+

Linux *

Пишем под *nix

432,31
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Suricata IPS NFQueue with nDPI. Часть VI

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

«Suricata IPS NFQueue with nDPI» — это значит, что программа suricata работает в режиме IPS с движком NFQueue и поддержкой nDPI.

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

Данная информация предназначена для тех, кто хотел бы получить опыт работы с suricata и попробовать ее возможности на практике. Приведенная конфигурация будет рассчитана на минимальное потребление ресурсов. Установка и настройка будут выполняться на ОС Debian 13 с nftables для текущей стабильной версии suricata 8.0.4.

Часть VI содержит: 13. Обзор бесплатных источников правил. 14. Использование правил. 15. Пример конфиг-файла suricata.yaml.

Читать далее

Claudex: как я подружил Claude Code с ChatGPT/Codex OAuth без OpenAI API key

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

Я хотел запускать Claude Code через подписку ChatGPT/Codex. Без OpenAI API key и без потери привычных вещей: инструментов, скриншотов, /compact, длинных сессий и нормальных ошибок.

На бумаге это выглядит как простой локальный прокси. На практике пришлось переводить не только JSON, но и поведение Anthropic API: потоковые события, вызовы инструментов, лимиты контекста, файлы, картинки и типы ошибок.

Так появился мой open source fork Claudex. Репозиторий: github.com/pilc80/claudex. Лицензия — MIT.

Читать далее

SSH как корпоративный L3-туннель: когда классические VPN-протоколы больше не работают

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

В последние годы для команд, которые работают с зарубежной инфраструктурой из России, обычный корпоративный VPN перестал быть чем-то, что можно один раз настроить и забыть. OpenVPN, WireGuard, IPsec, различные TLS- и QUIC-обёртки могут работать стабильно месяцами, а потом внезапно начать деградировать: где-то соединение не устанавливается, где-то режется UDP, где-то DPI начинает узнавать сигнатуры, где-то провайдер меняет правила фильтрации.

Для компании это превращается не в техническую мелочь, а в операционный риск. Инженеры не могут попасть на серверы. DevOps не может проверить прод. Администратор не может забрать бэкап. Пентестер не может подключиться к стенду заказчика. При этом инфраструктура может находиться в Европе, США, Азии или у любого другого зарубежного провайдера, а сотрудники — физически находиться в РФ.

В какой-то момент мы пришли к простой мысли: если из корпоративной сети ещё можно установить исходящее SSH-соединение, то можно попробовать использовать сам OpenSSH не только как инструмент администрирования, но и как транспорт для L3-туннеля. В OpenSSH для этого давно существует режим ssh -w, который поднимает туннель через tun-устройство.

Идея статьи не в том, чтобы объявить ssh -w «лучшим VPN на все времена». Это не замена WireGuard для нормальной постоянной инфраструктуры и не серебряная пуля против любых сетевых ограничений. Но это очень полезный аварийный и корпоративный вариант: работает поверх обычного SSH, не требует отдельного VPN-демона на сервере, может быть поднят на дешёвом VPS, использует привычную модель ключей OpenSSH и позволяет строить полноценную маршрутизацию на L3.

Читать далее

eBPF для начинающих: практическое введение

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

Современные инструменты мониторинга (Prometheus, Grafana, профилировщики) обеспечивают хорошую видимость состояния приложения, но имеют ограничения при анализе низкоуровневых проблем. Технология eBPF (Extended Berkeley Packet Filter) позволяет преодолеть этот барьер, предоставляя безопасный доступ к событиям ядра Linux. 

Статья — это практическое введение в eBPF: попробуем готовые команды для наблюдаемости, сети и безопасности, разберём, как программа попадает в ядро и взаимодействует с user-space через maps и helpers, почему верификатор отклоняет «опасный» код и чем отличаются BCC, libbpf и bpftrace. В конце — короткий обзор того, как eBPF используют Cilium, Falco и Pixie.

Материал будет полезен программистам, DevOps-инженерам, SRE-специалистам и всем, кто интересуется Linux.

Читать далее

BBR рулит, но… — есть нюанс, когда алгоритмы из 2000-х понимают Wi-Fi лучше

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

BBR принято считать современным стандартом TCP congestion control. Google разработал его в 2016 году, он работает в production крупнейших CDN, его хвалят в каждой второй статье о сетевой оптимизации. И всё это заслуженно — но с существенной оговоркой, о которой обычно не пишут.

Вперёд в прошлое…

Ваш docker‑compose.yml сломается: 5 настроек, которые все забывают

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

Локально docker-compose.yml обычно выглядит «рабочим» ровно до момента, пока сервис не уезжает на сервер. Потом внезапно заканчивается память, контейнеры не поднимаются после падения, логи разрастаются на десятки гигабайт, а Docker продолжает считать зависшее приложение живым.

В статье — пять настроек Compose, про которые почти всегда вспоминают уже после первого инцидента в проде: лимиты ресурсов, restart policy, healthcheck, ротация логов и работа с volumes.

Читать далее

Дорогая, давай займемся spoofing-ом

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

Email spoofing существует столько же, сколько сам SMTP — протокол, который изначально не предусматривал никакой проверки отправителя. В статье на живом примере разбираю, как отправить письмо от чужого имени через telnet, почему SPF и DKIM не всегда спасают и что нужно настроить, чтобы защитить свой домен.

Читать далее

Installer на стероидах. Модификация установочных образов Astra linux

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

У каждого своё чувство перфекционизма. В этой статье я покажу примеры модификации live installer Astra linux, чтобы вы могли создать автономный дистрибутив своей мечты.

Читать далее

Как программа попадает в память: от execve до main

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

Вы когда-нибудь задумывались, что происходит после того, как вы нажимаете Enter в терминале Linux? Вводите ./myprogram и...

Что именно происходит дальше? Как ядро находит файл? Как загружает его в память? Кто вызывает main? И как на всё это посмотреть вживую?

Разберемся на примере пустой программы empty_sleep. Она ничего не делает, просто запускается и завершается через 30 секунд. В ней нет лишнего кода и мы сможем сосредоточиться только на процессе загрузки. Всё, что мы увидим, относится к большинству динамически скомпилированных программ в Linux.

В этой статье покажу как с помощью strace в реальном времени проследить путь программы от execve до _start и main.

Читать далее

Double Shift вместо ручного удаления: как я делал локальный помощник раскладки для GNOME Wayland

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

Я сделал для себя локальную open source утилиту для GNOME Wayland: набрал слово не в той RU/EN раскладке, нажал Shift два раза — слово перепечаталось правильно. Делюсь проектом и тем, какие грабли нашлись на Wayland.

Читать далее

Suricata IPS NFQueue with nDPI. Часть V

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

«Suricata IPS NFQueue with nDPI» — это значит, что программа suricata работает в режиме IPS с движком NFQueue и поддержкой nDPI.

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

Данная информация предназначена для тех, кто хотел бы получить опыт работы с suricata и попробовать ее возможности на практике. Приведенная конфигурация будет рассчитана на минимальное потребление ресурсов. Установка и настройка будут выполняться на ОС Debian 13 с nftables для текущей стабильной версии suricata 8.0.4.

Часть V содержит: 12. Подготовка к использованию.

Читать далее

Нестандартное решение для стандартных задач: пробуем вычислительный модуль Luckfox

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

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

Глядя на то, как из-за кризиса производства оперативной памяти цены на одноплатные компьютеры улетают в космос, чувствуешь острую необходимость искать для своих проектов более бюджетные и порой нестандартные решения. Одним из таких решений, которое случайно попалось мне на глаза, стал вычислительный модуль Luckfox Core 1106. В данной статье мы посмотрим его характеристики, соберем операционную систему и запустим I2S-интерфейс для передачи цифрового аудио. Если стало интересно, то добро пожаловать под кат!

Читать далее

Re:HomeProxy для OpenWRT: оболочка для sing-box и hiddify-core, AmneziaWG, подписок и обхода DPI (ByeDPI, Zapret2)

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

Это гайд по настройке VPN на роутере с OpenWRT через веб-интерфейс Re:HomeProxy. Оно поддерживает два ядра на выбор — hiddify-core или sing-box-extended — и самый широкий набор протоколов на сегодняшний день: NaiveProxy, Mieru, ShadowTLS, AmneziaWG, Hysteria2, VLESS (в т.ч. XHTTP), Trojan, TUIC, Shadowsocks и другие, а также импорт узлов по подпискам (subscription). Также возможна установка компонентов в один клик прямо из интерфейса

Помимо обычного прокси, в приложение встроены два движка обхода DPI без VPNByeDPI и Zapret 2 с предустановленными стратегиями и механизмом их подбора. Плюс — готовые правила маршрутизации для России в один клик.

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

Читать далее

Ближайшие события

SELinux — Быстрый онбординг: типы, атрибуты, домены, политики и утилиты на практике

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

В статье пойдет речь о SELinux. Главная моя задача — провести быстрый онбординг о том, как работать с политиками доступов. Я хочу показать, что это вовсе не так сложно, как может показаться на первый взгляд. Буквально 15 минут ознакомления с базовыми понятиями дает 80% понимания как работать с SELinux более уверенно.

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

Читать далее

Гейминг под Linux становится быстрее, потому что Windows API превращаются в фичи ядра Linux

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

В марте 2026 года доля пользовательской базы под Linux в Steam впервые перевалила за 5% — рекорд для операционной системы, гейминг для которой был чем-то непривычным два десятка лет. В октябре компания Microsoft объявила дедлайн завершения срока поддержки Windows 10, что заставило многих пользователей искать альтернативы, а Steam Deck втихомолку превратил миллионы людей в Linux-геймеров, что привело к ещё более широкому использованию этой ОС на десктопных машинах.

Основной прогресс раньше происходил в ПО под названием Wine: слое трансляции, убеждающем игры для Windows в том, что они запущены под Windows. Steam Play и Steam Deck работают благодаря специализированной версии Wine под названием Proton, разрабатываемой Valve. Многие годы все существенные улучшения гейминга под Linux были связаны с изменениями в самих Wine и Proton. И это по-прежнему так, но всё больше важных изменений вносится и в слое уровнем ниже — внутри ядра Linux. Последним примером этого можно считать NTSYNC — драйвер уровня ядра, обеспечивающий огромный рост производительности по сравнению со старыми версиями Wine и загруженный по умолчанию во все современные Steam Deck.

Читать далее

Тайна подвальной PlayStation 5 за 7.000 рублей с Ozon

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

Порой на маркетплейсах можно найти довольно интересные и диковинные устройства от небольших производств в Китае. Ранее в блоге я часто рассказывал о такой диковинке, как игровые телефоны с аппаратными клонами Famicom, DIY‑консоли формата «собери и напиши себе игры сам», а также о мелкосерийных игровых устройствах, выпущенных эксклюзивно для локального рынка Китая. Но недавно я увидел просто невероятную диковинку: консоль в стиле PlayStation 5 всего за 7.000 рублей... и моя гиковская душа просто не смогла устоять! Мы с ребятами из FunPay решили изучить, что скрывает в себе это чудо китайской инженерной мысли...

Читать далее

Книга: «Linux для администраторов, 2-е изд.»

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

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

Читать далее

Lindows OS — фейковая ось с гениальным названием

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

Здравствуйте, уважаемые читатели!

Сегодня я предлагаю вам взглянуть на любопытный продукт — операционную систему, основанную на Linux Debian и имеющую громкое название «Lindows OS», далее — Lindows. Речь пойдёт об операционной системе, которая вынудила корпорацию Microsoft выкупить себе столь созвучное наименование.

Официальная цель создания программного продукта с названием Lindows — обеспечить запуск Windows- и Linux-приложений в среде Linux. А что, так можно было, что ли? Это не просто круто, а неимоверно свежо (речь идёт о 2001 годе). В данном проекте было организовано подобие онлайн-магазина приложений, а ещё бонусом предполагается стабильность работы Linux. В таком случае приобретение Windows — под вопросом.

В дальнейшем «Lindows OS» переименовалась в «Linspire OS», и проект просуществовал аж до 2008 года — это около 7 лет с момента создания.

Поставим-ка мы эту операционную систему, посмотрим, на чём она построена и как планировалось обеспечить обещанную работоспособность.

Посмотрим-поглядим

Как я сделал desktop‑версию мессенджера на vanilla Electron, не на React Native for Desktop. И не пожалел

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

Это четвёртая статья из серии про инженерные решения в ONEMIX — моём мессенджере на React Native. В предыдущих разбирал трёхуровневый кэш сообщений, Double Ratchet E2E и WebRTC звонки с trickle ICE. Последняя про звонки набрала больше всего просмотров, и в комментариях несколько раз спрашивали про десктоп: «а как у тебя там устроено?».

Сегодня — отдельная статья про desktop‑версию. Сразу скажу: я не использовал React Native for Desktop, не Tauri, не React, не TypeScript. Чистый Electron + vanilla HTML/JS. Это нестандартное решение, и я объясню почему пошёл этим путём, что от этого выиграл, и где это бьёт по голове.

Читать далее

Запуск Vivado 2019.1 на Orange Pi 3 LTS  через QEMU

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

Если вам интересно как выглядит работа Vivado на одноядерном ARM процессоре с частотой 1.8 ГГц, и 2 Гб ОЗУ, то я вам это покажу, и расскажу, как я запустил и успешно прошил плату (ДА! Собрал проект и прошил).

Читать далее