MikroTik RouterOS: SSH auth bypass, эксплуатируется массово

11 сентября MikroTik закрыл эксплуатируемую уязвимость в RouterOS (MikroTrick, найдена CERT.pl) — обход SSH-аутентификации по публичному ключу. RouterOS не полностью сверял RSA-модуль ключа: зная имя пользователя и публичный модуль его ключа, атакующий подбирал другой ключ, который роутер принимал без приватной части. CVE-2026-67276 (CVSS 9.2) — обход SSH-аутентификации CVE-2026-67277 (CVSS 8.8) — утечка памяти ядра и DoS через bandwidth-test На 05.09 под атакой — 122 500 роутеров со SSH в интернет. Признак компрометации — SSH-пользователь с логином -2. ...

September 15, 2026 · llexa

Patroni: switchover vs failover — в чём разница

Patroni управляет ролью лидера кластера через DCS (etcd/consul). Разница между switchover и failover — не терминология, а кто принимает решение. Switchover — плановая смена лидера: patronictl switchover --leader node1 --candidate node2 Старый лидер останавливается, реплика догоняет WAL, простой минимален. Failover — реакция на исчезновение лидера. Patroni сам выбирает нового из реплик по отставанию WAL и приоритету, без гарантии нулевого лага. patronictl failover — та же логика вручную, без ожидания реального отказа. ...

September 15, 2026 · llexa

HAProxy: балансировка, ACL и health checks

HAProxy разделяет конфиг на frontend (что слушаем) и backend (куда шлём), в отличие от nginx, где всё описывается блоками server/location вперемешку. Такое разделение упрощает ACL — правила маршрутизации по пути, хосту или заголовку живут отдельно от списка бэкендов. frontend web bind *:80 acl is_api path_beg /api use_backend api_servers if is_api default_backend web_servers backend web_servers option httpchk GET /health server web1 10.0.0.1:8080 check server web2 10.0.0.2:8080 check option httpchk шлёт GET на /health, упавший чек убирает узел из ротации без перезапуска HAProxy. check в строке server включает мониторинг — без него трафик слепо идёт и на мёртвый бэкенд. ...

September 14, 2026 · llexa

postfix: свой почтовый релей за 10 минут

Держать полноценный почтовый сервер ради алертов от cron/Zabbix избыточно — обычно хватает postfix в режиме релея через внешний SMTP (например, для отправки на личный ящик). Вся конфигурация — один файл /etc/postfix/main.cf. Минимум для релея через внешний SMTP: relayhost = [smtp.example.com]:587 smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_use_tls = yes mynetworks = 127.0.0.0/8 После правки — postmap /etc/postfix/sasl_passwd и systemctl reload postfix. Диагностика зависших писем — postqueue -p покажет очередь, postcat -q <id> — содержимое конкретного письма, postsuper -d ALL очистит очередь целиком (осторожно, необратимо). ...

September 14, 2026 · llexa

Proxmox #10: cgroups и лимиты ресурсов для LXC

LXC-контейнер в Proxmox — это не VM с гипервизором, а обычные процессы хоста, изолированные namespaces и ограниченные cgroups. Без явных лимитов один контейнер может выесть всю память или CPU ноды, и соседи это почувствуют мгновенно — общее ядро, общие ресурсы. Лимиты через pct set: pct set 101 --cpulimit 2 --cpuunits 512 --memory 2048 --swap 512 cpulimit — жёсткий потолок в ядрах, cpuunits — относительный вес при конкуренции за CPU (по умолчанию 100 под cgroup v2; в legacy cgroup v1 было 1024). Проверить фактическое применение можно в /sys/fs/cgroup/lxc/101/ — Proxmox VE 7+ использует unified cgroup v2 по умолчанию. ...

September 14, 2026 · llexa

Claude Code как AI-агент: что реально не даёт ему сломать прод

Claude Code — агент с доступом к shell, файлам и git, а не чат с подсказками. Он сам открывает терминал, сам гоняет команды, сам правит файлы — тебе остаётся подтвердить или отклонить. Что реально держит его в рамках: settings.json → permissions.ask/permissions.deny — конкретные тулы (Bash, WebFetch) требуют подтверждения или блокируются жёстко, независимо от того что решил сам агент hooks PreToolUse/PostToolUse — валидация до и после любого действия на уровне харнесса, не промпта; PreToolUse может вернуть deny на опасную команду ещё до её запуска bypassPermissions — режим без подтверждений вообще, но с 2026 уважает org-политику disableBypassPermissionsMode: админ запрещает обход даже если сам агент попробует его включить sandbox-блок — network.allowedDomains, excludedCommands — сеть и список команд закрываются ещё до слоя пермишенов Агент безопасен не потому что “хорошо себя ведёт”, а потому что харнесс проверяет каждое действие снаружи промпта. Без этого слоя — не агент, а root-доступ с уверенным тоном. ...

September 13, 2026 · llexa

IT-мем: Coloblack — рэп-шарж на «Колобок»

Coloblack — рэп/хип-хоп шарж на фильм «Колобок», разошедшийся по сети как отдельный мем. #юмор

September 13, 2026 · llexa

Афоризмы Мёрфи #10: Восьмое следствие

Продолжаем разбирать классику Артура Блоха. После седьмого следствия (“невозможно сделать что-либо защищённым от дурака, потому что дураки чрезвычайно изобретательны”) — восьмое: «Если вы предусмотрели четыре способа, которыми процедура может пойти не так, и устранили их — тут же проявится пятый» После инцидента закрываешь найденные сценарии отказа один за другим: runbook, алерт, ретрай, лимит. Пятый сценарий, которого никто не предполагал, ждёт своего часа не потому что защита плохая, а потому что пространство возможных отказов конечно только на бумаге постмортема. ...

September 12, 2026 · llexa

FUSE с нуля #3: пишем свою мини-ФС на Python

В прошлых выпусках мы монтировали готовые FUSE-реализации (sshfs, rclone) — теперь свою, минимальную. fusepy оборачивает /dev/fuse питоновским классом: переопределяешь VFS-методы, остальное берёт libfuse. class HelloFS(Operations): def getattr(self, path, fh=None): return dict(st_mode=0o40755) if path == '/' else dict(st_mode=0o100644, st_size=13) def readdir(self, path, fh): return ['.', '..', 'hello.txt'] def read(self, path, size, offset, fh): return b'Hello, FUSE!\n'[offset:offset+size] FUSE(HelloFS(), '/mnt/hello', foreground=True) getattr отвечает на stat(), readdir — список файлов, read — байты по смещению. #fuse

September 11, 2026 · llexa

Bento: software is a file — программа как один HTML-файл

Bento — презентационный инструмент, который целиком умещается в один HTML-файл: разметка, стили, движок рендера и сам документ — внутри, без сервера, установки и аккаунта. Тезис проекта — «software is a file»: файл и есть программа, открыл в браузере — и всё работает, без «please update to open this». Содержимое хранится как читаемый JSON прямо внутри HTML, вместе со всеми зависимостями — шрифтами, изображениями, диаграммами. Офлайн-режим блокирует сетевые запросы, совместная работа идёт через E2EE-relay на CRDT, который видит только шифротекст. ...

September 10, 2026 · llexa