Хардкорное расследование причин потерь TCP сегментов в eBPF. В посте используют инструменты для анализа системных вызовов, eBFP трейсинг, отличие traffic flow для ядра и eBPF программ, примеры работы с ss
https://arthurchiao.art/blog/tcp-requests-stuck-after-connection-established/
#troubleshooting #ebpf #network
https://arthurchiao.art/blog/tcp-requests-stuck-after-connection-established/
#troubleshooting #ebpf #network
ArthurChiao's Blog
TCP Requests Stuck After Connection Established(2024)
This post describes a kernel & BPF networking problem and the trouble shooting steps, which is an interesting case for delving into Linux kernel networking intricacies.
🔥3
Forwarded from Кубертино
Чуваки толкают платные курсы, но в бесплатных материалах много полезной информации, к прочтению рекомендовано
https://learnkube.com/archive
https://learnkube.com/archive
LearnKube
Archive
In-depth, technical Kubernetes articles with a focus on mastering the fundamentals and visual explanations.
❤3
У MS есть классный раздел в их обучающем сайте:
Azure Architecture Center
Там есть:
- application architecture fundamentals
- Best practices in cloud applications
- Cloud design patterns
- и многое другое
Очень рекомендую всем, кто интересуется архитектурой и систем дизайном. Не только Azure или другие облака. Всё описанное прменимо и для on-prem инфры
#architecture #system #design
Azure Architecture Center
Там есть:
- application architecture fundamentals
- Best practices in cloud applications
- Cloud design patterns
- и многое другое
Очень рекомендую всем, кто интересуется архитектурой и систем дизайном. Не только Azure или другие облака. Всё описанное прменимо и для on-prem инфры
#architecture #system #design
Docs
Azure Architecture Center
The Azure Architecture Center provides guidance for designing and building solutions on Azure by using established patterns and practices.
👍7🤡2👏1
👍2🔥2❤🔥1
Forwarded from Мир Linux
Ubuntu 26.04 (LTS) выходит завтра… и компания Canonical опубликовала обновление по своему плану замены GNU Coreutils на реализации, переписанные на Rust.
Основные моменты:
- После того как разработчики выразили "серьёзные опасения", Canonical привлекла стороннюю компанию по security-исследованиям для аудита Rust-реализаций (известных как
- Эта security-компания быстро обнаружила 113 существенных проблем, причём значительная часть из них оказалась серьёзными уязвимостями безопасности, тянущими на присвоение CVE.
- Лишь часть этих проблем в Rust-реализациях была исправлена к релизу Ubuntu 26.04.
- Повторим: Ubuntu 26.04 выходит с заметным количеством известных серьёзных багов в новых Rust-версиях coreutils.
- В некоторых из наиболее критичных утилит, переписанных на Rust (cp, mv, rm), обнаружено большое количество серьёзных проблем класса TOCTOU (Time-of-Check to Time-of-Use) — это тип уязвимостей, приводящих к race condition. Именно такие баги часто эксплуатируются злоумышленниками.
- В итоге cp, mv и rm не будут включены в Ubuntu 26.04. Даже с их довольно либеральным подходом "ок, если в Rust-реализациях для 26.04 есть серьёзные баги" – проблемы в этих утилитах оказались слишком критичными.
- Несмотря на этот, без преувеличения, провальный rollout Rust-версий Coreutils, команда Ubuntu планирует в следующем релизе (через 6 месяцев, 26.10) полностью (на 100%) заменить GNU Coreutils на текущие (и пока откровенно сырые) реализации на Rust.
https://discourse.ubuntu.com/t/an-update-on-rust-coreutils/80773
@linuxos_tg
Основные моменты:
- После того как разработчики выразили "серьёзные опасения", Canonical привлекла стороннюю компанию по security-исследованиям для аудита Rust-реализаций (известных как
uutils).- Эта security-компания быстро обнаружила 113 существенных проблем, причём значительная часть из них оказалась серьёзными уязвимостями безопасности, тянущими на присвоение CVE.
- Лишь часть этих проблем в Rust-реализациях была исправлена к релизу Ubuntu 26.04.
- Повторим: Ubuntu 26.04 выходит с заметным количеством известных серьёзных багов в новых Rust-версиях coreutils.
- В некоторых из наиболее критичных утилит, переписанных на Rust (cp, mv, rm), обнаружено большое количество серьёзных проблем класса TOCTOU (Time-of-Check to Time-of-Use) — это тип уязвимостей, приводящих к race condition. Именно такие баги часто эксплуатируются злоумышленниками.
- В итоге cp, mv и rm не будут включены в Ubuntu 26.04. Даже с их довольно либеральным подходом "ок, если в Rust-реализациях для 26.04 есть серьёзные баги" – проблемы в этих утилитах оказались слишком критичными.
- Несмотря на этот, без преувеличения, провальный rollout Rust-версий Coreutils, команда Ubuntu планирует в следующем релизе (через 6 месяцев, 26.10) полностью (на 100%) заменить GNU Coreutils на текущие (и пока откровенно сырые) реализации на Rust.
https://discourse.ubuntu.com/t/an-update-on-rust-coreutils/80773
@linuxos_tg
😱9🤡5❤1🔥1👏1💩1🤝1🫡1
Как минимум с осени 2025 в RouterOS появилась фича Applications.
Это докер контейнер с настройками сетевой части роутера. Выглядит удобно - например, я давно хотел поставить дома HomeAssistant, но было негде, а теперь можно прямо на роутер задеплоить.
Сейчас список официально поддерживаемых приложений такой (с разбиением по категориям):
🧠 Productivity (15)
adventurelog, babybuddy, calibre-web, convertx, docmost, excalidraw, fossil, hedgedoc, kimai, memos, partdb, wallabag, warracker, webtop, wordpress
🎬 Media (9)
immich, jellyfin, lidarr, nzbget, plex, prowlarr, radarr, sonarr, transmission
🗂 Media Management (2)
jackett, mediamanager
💻 Development (7)
code-server, forgejo, gitea, gitlab, jupyter-notebook, livebook, sonatype-nexus
🌐 Networking (10)
caddy, chr, cloudflared, firefox, goaway, myip, pihole, pmacct-netflow, technitium, upsnap
📊 Monitoring (14)
grafana, influxdb, librenms, librespeed, netbox, ntfy, rabbitmq, smokeping, snipeit, speedketchup, uptime-kuma, victoria-logs, victoria-metrics, zabbix
💬 Communication (5)
cinny, conduit, element, redlib, roundcube
📁 File & Storage (9)
copyparty, filegator, nextcloud, syncthing, backrest, minio, restic-server, urbackup-client, urbackup-server
🗄 Database & Search (4)
elasticsearch, nocodb, searxng, solr
⚙️ Automation (2)
n8n, nodered
🏠 Home Automation (2)
home-assistant, HA-otbr-matter
📡 Messaging (1)
mosquitto
📹 Video & AI (2)
frigate, viseron
📻 Radio (1)
openwebrx
🤖 AI (1)
openwebui
🔐 Security (1)
vaultwarden
Это докер контейнер с настройками сетевой части роутера. Выглядит удобно - например, я давно хотел поставить дома HomeAssistant, но было негде, а теперь можно прямо на роутер задеплоить.
Сейчас список официально поддерживаемых приложений такой (с разбиением по категориям):
🧠 Productivity (15)
adventurelog, babybuddy, calibre-web, convertx, docmost, excalidraw, fossil, hedgedoc, kimai, memos, partdb, wallabag, warracker, webtop, wordpress
🎬 Media (9)
immich, jellyfin, lidarr, nzbget, plex, prowlarr, radarr, sonarr, transmission
🗂 Media Management (2)
jackett, mediamanager
💻 Development (7)
code-server, forgejo, gitea, gitlab, jupyter-notebook, livebook, sonatype-nexus
🌐 Networking (10)
caddy, chr, cloudflared, firefox, goaway, myip, pihole, pmacct-netflow, technitium, upsnap
📊 Monitoring (14)
grafana, influxdb, librenms, librespeed, netbox, ntfy, rabbitmq, smokeping, snipeit, speedketchup, uptime-kuma, victoria-logs, victoria-metrics, zabbix
💬 Communication (5)
cinny, conduit, element, redlib, roundcube
📁 File & Storage (9)
copyparty, filegator, nextcloud, syncthing, backrest, minio, restic-server, urbackup-client, urbackup-server
🗄 Database & Search (4)
elasticsearch, nocodb, searxng, solr
⚙️ Automation (2)
n8n, nodered
🏠 Home Automation (2)
home-assistant, HA-otbr-matter
📡 Messaging (1)
mosquitto
📹 Video & AI (2)
frigate, viseron
📻 Radio (1)
openwebrx
🤖 AI (1)
openwebui
🔐 Security (1)
vaultwarden
👍11🔥9
Последний рабочий день перед длинными выходными.
Почему бы не пропатчить ядро?
https://copy.fail/
TLDR: критическая уязвимость приводящая к Local Privilege Escalation во всех ядрах с 2017 года. Так что если не патчил девять лет - продолжай спокойно лежать на диване
Почему бы не пропатчить ядро?
https://copy.fail/
TLDR: критическая уязвимость приводящая к Local Privilege Escalation во всех ядрах с 2017 года. Так что если не патчил девять лет - продолжай спокойно лежать на диване
Xint
Copy Fail — 732 Bytes to Root
CVE-2026-31431. 100% Reliable Linux LPE — no race, no per-distro offsets, page-cache write that bypasses on-disk file-integrity tools and crosses containers. Found by Xint Code.
😁2
Codecrafters — это платформа, где ты пишешь с нуля свои Git, Redis, Docker и др. инструменты, шаг за шагом, проходя авто‑тесты и используя обычный Git‑флоу. Чтобы понять, как всё это устроено.
codecrafters.io
CodeCrafters | Rebuild Redis, Git & SQLite From Scratch
Advanced programming challenges for experienced engineers. Rebuild real production tools like Redis, Git, and SQLite from scratch in your IDE. Used by engineers at Google, OpenAI, and Vercel.
🔥7
Forwarded from Уютный IT адочек
Да ничего они заблокировать не смогут! Это технологически невозможно!
Да не решатся они DNS записи выпиливать
Вот LinkedIn заблокируют, тогда и поговорим
Вот примут закон о суверенном рунете и поставят ТСПУ провайдерам, тогда и поговорим
Вот объявят популярные соцсети экстремистскими, тогда и поговорим
Вот начнут коврово резать протоколы OpenVPN и WireGuard, тогда и поговорим
Вот YouTube замедлят до состояния неработающего кирпича, тогда и поговорим
Вот заставят авторов каналов нести паспорта в реестр РКН, тогда и поговорим
Вот ограничат работу VPN, тогда и поговорим
Вот заблокируют телеграм, тогда и поговорим
Вот ограничат зарубежный трафик, тогда и поговорим < вы находитесь здесь
Вот запретят иностранные игры, тогда и поговорим
Вот начнут отваливаться Cloudflare и забугорные SSL-сертификаты, тогда и поговорим
Вот заблокируют GitHub, Docker Hub и NPM-пакеты, тогда и поговорим
Вот введут доступ в сеть строго по авторизации через Госуслуги, тогда и поговорим
Вот переведут весь интернет на «белые списки» (работает только то, что разрешено), тогда и поговорим
Вот запретят железо, собранное вне РФ, тогда и поговорим
Вот внедрят шпионское ПО на каждый компьютер на уровне ОС, тогда и поговорим
Вот введут административную ответственность за неправильные файлы, тогда и поговорим
Вот введут уголовку за сам факт использования средств обхода блокировок, тогда и поговорим
Да не решатся они DNS записи выпиливать
Вот LinkedIn заблокируют, тогда и поговорим
Вот примут закон о суверенном рунете и поставят ТСПУ провайдерам, тогда и поговорим
Вот объявят популярные соцсети экстремистскими, тогда и поговорим
Вот начнут коврово резать протоколы OpenVPN и WireGuard, тогда и поговорим
Вот YouTube замедлят до состояния неработающего кирпича, тогда и поговорим
Вот заставят авторов каналов нести паспорта в реестр РКН, тогда и поговорим
Вот ограничат работу VPN, тогда и поговорим
Вот заблокируют телеграм, тогда и поговорим
Вот ограничат зарубежный трафик, тогда и поговорим < вы находитесь здесь
Вот запретят иностранные игры, тогда и поговорим
Вот начнут отваливаться Cloudflare и забугорные SSL-сертификаты, тогда и поговорим
Вот заблокируют GitHub, Docker Hub и NPM-пакеты, тогда и поговорим
Вот введут доступ в сеть строго по авторизации через Госуслуги, тогда и поговорим
Вот переведут весь интернет на «белые списки» (работает только то, что разрешено), тогда и поговорим
Вот запретят железо, собранное вне РФ, тогда и поговорим
Вот внедрят шпионское ПО на каждый компьютер на уровне ОС, тогда и поговорим
Вот введут административную ответственность за неправильные файлы, тогда и поговорим
Вот введут уголовку за сам факт использования средств обхода блокировок, тогда и поговорим
🤬12👍7😱4😁2🤣2😢1
Forwarded from Технологический Болт Генона
Пока вы спите там Linux опять жопу взломали
https://github.com/V4bel/dirtyfrag
Mitigation
Вот это вообще балдёж
> Because the embargo has currently been broken, no patch or CVE exists.
Dirty Frag is a case that extends the bug class to which Dirty Pipe and Copy Fail belong. Because it is a deterministic logic bug that does not depend on a timing window, no race condition is required, the kernel does not panic when the exploit fails, and the success rate is very high.
. . .
The xfrm-ESP Page-Cache Write vulnerability is in scope from cac2661c53f3 (2017-01-17) up to upstream, and the RxRPC Page-Cache Write vulnerability is in scope from 2dc334f1a63a (2023-06) up to upstream.
In other words, the effective lifetime of the vulnerabilities is about 9 years.
This Dirty Frag has been tested on the following distribution versions.
Ubuntu 24.04.4: 6.17.0-23-generic
RHEL 10.1: 6.12.0-124.49.1.el10_1.x86_64
openSUSE Tumbleweed: 7.0.2-1-default
CentOS Stream 10: 6.12.0-224.el10.x86_64
AlmaLinux 10: 6.12.0-124.52.3.el10_1.x86_64
Fedora 44: 6.19.14-300.fc44.x86_64
https://github.com/V4bel/dirtyfrag
Mitigation
sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 rxrpc 2>/dev/null; true"
Вот это вообще балдёж
> Because the embargo has currently been broken, no patch or CVE exists.
😱11
Mikrotik Ninja
https://system-design.space/
Прочитал примерно половину. Сначала идет легко и непринужденно. И темы кажутся вполне актуальными и нужными.
Но читать ИИ текст просто невозможно. Мозг отказывается воспринимать такую подачу информации. Автору спасибо за труды, но хотелось бы увидеть эту книгу, переписанную человеком
Но читать ИИ текст просто невозможно. Мозг отказывается воспринимать такую подачу информации. Автору спасибо за труды, но хотелось бы увидеть эту книгу, переписанную человеком
🔥2👍1
https://blog.cloudflare.com/building-for-the-future/
We are writing to let you know directly that we’ve made the decision to reduce Cloudflare’s workforce by more than 1,100 employees globally.
Cloudflare Blog
Building For The Future
This afternoon, we sent the following email to our global team. One of our core values at Cloudflare is transparency, and we believe it's important that you hear this directly from us because it’s a major moment at Cloudflare.
🤡3🫡3👍1
Первые компьютеры были простыми: единственный юзер, запускающий единственный процесс с единственным потоком (даже термина такого ещё не было), которому доступен весь единственный процессор с единственным ядром и вся оперативная память системы. Данные существуют в одном экземпляре и обрабатываются одним процессом, ничего больше не может изменить данные или поменять их порядок. Каждая операция проходит в то время, когда это нужно и порядок операций ровно такой, как описано в коде.
Потом появляются многозадачные операционные системы, когда “одновременно” могут выполняться несколько процессов так, что каждый из них считает себя единственным в однозадачной системе. К слову “одновременно” тут может быть много претензий, потому что по факту в момент времени процессор выполняет одну задачу, принадлежащую одному процессу. Но пусть в нашем случае “одновременно” будет означать “на протяжении одной секунды” или даже “минуты”, потому что минутами проще оперировать человеку. Теперь процессор должен выполнять несколько программ “на протяжении одной секунды” и понимать когда переключаться между ними и сколкьо времени потратить на каждую. А ещё у нас есть память. Её тоже нужно поделить между программами, при этом не давать возможности читать/писать чужие данные, предоставить иллюзию, что вся память системы принадлежит процессу. А ещё диск, сеть и так далее. Многозадачность - первый вызов.
Второй вызов - многопоточность. Тут появляется второй процессор или новое ядро. Когда одна программа работает в несколько потоков и эти потоки обмениваются данными или могут читать/писать в общую для них область памяти. Тут мы встречаем таких зверей как race condition (состояние гонки), deadlock (взаимная блокировка), starvasion (один поток съедает все ресурсы) и других всадников апокалипсиса, приходящих в самое неподходящее время и часто вызывающие трудновоспроизводимые ошибки.
Одну из таких ошибок мне пришлось дебажить совсем недавно и в этом посте я хочу показать ход процесса
https://bubnovd.net/post/deadlocks/
Потом появляются многозадачные операционные системы, когда “одновременно” могут выполняться несколько процессов так, что каждый из них считает себя единственным в однозадачной системе. К слову “одновременно” тут может быть много претензий, потому что по факту в момент времени процессор выполняет одну задачу, принадлежащую одному процессу. Но пусть в нашем случае “одновременно” будет означать “на протяжении одной секунды” или даже “минуты”, потому что минутами проще оперировать человеку. Теперь процессор должен выполнять несколько программ “на протяжении одной секунды” и понимать когда переключаться между ними и сколкьо времени потратить на каждую. А ещё у нас есть память. Её тоже нужно поделить между программами, при этом не давать возможности читать/писать чужие данные, предоставить иллюзию, что вся память системы принадлежит процессу. А ещё диск, сеть и так далее. Многозадачность - первый вызов.
Второй вызов - многопоточность. Тут появляется второй процессор или новое ядро. Когда одна программа работает в несколько потоков и эти потоки обмениваются данными или могут читать/писать в общую для них область памяти. Тут мы встречаем таких зверей как race condition (состояние гонки), deadlock (взаимная блокировка), starvasion (один поток съедает все ресурсы) и других всадников апокалипсиса, приходящих в самое неподходящее время и часто вызывающие трудновоспроизводимые ошибки.
Одну из таких ошибок мне пришлось дебажить совсем недавно и в этом посте я хочу показать ход процесса
https://bubnovd.net/post/deadlocks/
Админская фамилия
Как один git push положил GitLab на час: история про deadlock, который мы не должны были поймать
Расследование тормозов в многопоточном приложении
🔥5👍2