pure-authd и большая нагрузка

pure-authd очень удобный механизм для внешней аутентификации. Но при большой нагрузке это может стать реальной проблемой: он однопоточный. Да, он все запросы складывает в свой backlog, но легче от этого не становится. И вы можете ждать своей очереди на аутентификацию и минуту и две и больше. Но у большинства ftp-клиентов таймаут на аутентификацию стоит в 20 секунд, поэтому это не вариант на высоких нагрузках.

Читать далее

Nginx: listen socket

Ниже будут выдержки цитат из рассылки nginx, которые объясняют простые вещи при открытии/переоткрытии сокета не только в случае nginx’a, а и некоторых общих случаях.

Читать далее

eBPF: трассируем приложения

The Berkeley Packet Filter (BPF) started (article 1992) as a special-purpose virtual machine (register based filter evaluator) for filtering network packets, best known for its use in tcpdump. It is documented in the kernel tree, in the first part of: Documentation/networking/filter.txt

The extended BPF (eBPF) variant has become a universal in-kernel virtual machine, that has hooks all over the kernel. The eBPF instruction set is quite different, see description in section “BPF kernel internals” of Documentation/networking/filter.txt or look at this presentation by Alexei.

eBPF enables programmers to write code which gets executed in kernel space in a more secure and restricted environment. Yet this environment enables them to create tools which otherwise would require writing a new kernel module.

Ссылки на материалы:

https://eax.me/bcc-ebpf/
https://habr.com/ru/post/435142/
https://habr.com/ru/company/otus/blog/436528/

[exim] DKIM/SPF: white list

Определяем переменные:

domainlist spf_white_list = domain1.com : domain2.com
domainlist dkim_white_list = other1.com : other2.com

Описываем сам white list для SPF (ОБЯЗАТЕЛЬНО ПЕРЕД ПРОВЕРКОЙ SPF):

acl_check_data:
...
# SPF whitelist
accept sender_domains = +spf_white_list
logwrite = SPF: domain <$sender_address_domain> is whitelisted

Описываем сам white list для DKIM (ОБЯЗАТЕЛЬНО ПЕРЕД ПРОВЕРКОЙ DKIM):

acl_check_dkim:
...
accept sender_domains = +dkim_white_list
logwrite = DKIM: domain <$sender_address_domain> is whitelisted

Ищем утечки памяти

Будем искать через mdb. Что бы иметь возможность это сделать, нужно что бы приложение было запущено в режиме debug. Если в самом приложении отсутствует такая возможность, тогда нужно включить его в окружении и потом запустить приложение:

$ export LD_PRELOAD=libumem.so
$ export UMEM_DEBUG=default
$ export UMEM_LOGGING=transaction
Читать далее

cron, run-parts не выполняют скрипты с расширением

Причём не только с расширением «.sh», а вообще с любым. Это поведение по умолчанию и при этом задокументировано! Вот выдержка из man’a:

If neither the —lsbsysinit option nor the —regex option is given then the names must consist entirely of upper and lower case letters, digits, underscores, and hyphens.

[Solaris] Драйвер есть, а NIC не видна

Взяли новый сервер Dell R840 и с ней шла карточка Broadcom 57416 2 Port 10Gb Base-T. Как видно из статьи, сетевая автоматически не опозналась, а значит гуглим на предмет необходимого драйвера. Им оказался bnxt (согласно FreeBSD). Учитывая, что имена драйверов почти в 99% совпадают с FreeBSD было решено довериться им и проверить.

Читать далее

Solaris alias src L2/L3

В Solaris большое значение имеет то, на каком уровне модели OSI используется объект: если бы создан отдельный интерфейс (L2) и на него назначены IP алиасы или просто назначены IP алиасы на существующие интерфейсы.

Читать далее

Parrot Security OS

Parrot Security OS (или ParrotSec) — дистрибутив Linux, основан на Debian с упором на компьютерную безопасность. Предназначен для тестирования системы на проникновение, оценки уязвимостей и ликвидации их последствий, компьютерной криминалистики и анонимного просмотра веб-страниц. Разработан командой Frozenbox.

Официальный сайт — https://www.parrotsec.org