Pull to refresh
8K+
5
Арсений Котиков@kotru21

SOC-аналитик

21
Rating
1
Subscribers
Send message

В nginx один алгоритм балансировки

Level of difficultyHard
Reading time17 min
Reach and readers9.6K

server a.internal weight=10 max_fails=2; — десять к одному. Ночью бэкенд на пару секунд отвалился, к утру давно жив и из ротации не выведен. А первые полсотни запросов рабочего дня распределяются не 10:1, и среди них есть места, где два запроса подряд уходят на сосед с весом единица.

Ни один лог об этом не скажет, в документации по upstream такого объяснения нет. Есть — в двух строках ngx_http_upstream_round_robin.c.

Разбираем по тегу release-1.31.3, со ссылками файл:строка: smooth weighted round-robin и его восемь копий в исходниках; effective_weight, которого нет в документации, и то, как max_fails втихую им управляет; почему least_conn сравнивает не число соединений; почему ip_hash не работает на unix-сокетах. Плюс sticky и least_time, приехавшие в open source несколько месяцев назад.

Читать далее

Ваш парсер .evtx молча прочитал 4% журнала — и не считает это ошибкой

Level of difficultyMedium
Reading time15 min
Reach and readers7.6K

Скрипт на python-evtx отработал без единой ошибки, с кодом возврата 0, и вернул 94 записи. В файле их было 2309, и вся атака — от создания админской учётки до запуска шифровальщика — оказалась в потерянных 96%. Разбираемся, почему два байта в заголовке .evtx нельзя принимать на веру и почему проверка непрерывности EventRecordID в этом случае отвечает «пропусков нет».

Читать далее

Information

Rating
391-st
Location
Беларусь
Registered
Activity

Specialization

Аналитик SOC, AppSec-инженер
Младший