Ниже будут выдержки цитат из рассылки nginx, которые объясняют простые вещи при открытии/переоткрытии сокета не только в случае nginx’a, а и некоторых общих случаях.
Update Intel Microcode on FreeBSD
Нашёл хорошую статью на эту тему. Данный функционал появился, начиная с 11.3
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/
Определяем переменные:
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
Причём не только с расширением “.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.
Взяли новый сервер 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.
Дистрибутив включает подборку инструментов для проверки защищённости систем, проведения криминалистического анализа и обратного инжиниринга. Дистрибутив Parrot позиционируется как переносная лаборатория с окружением для экспертов по безопасности и криминалистов, основное внимание в которой уделяется средствам для проверки облачных систем и устройств интернета-вещей. В состав также включены криптографические инструменты и программы обеспечения защищённого выхода в сеть, в том числе предлагаются TOR, I2P, anonsurf, gpg, tccf (Two Cents Cryptography Frontend), zulucrypt, veracrypt, truecrypt и luks. Для загрузки предложены iso-образы с окружением MATE.
Официальный сайт – https://www.parrotsec.org
REMnux® is a free Linux toolkit for assisting malware analysts with reverse-engineering malicious software. It strives to make it easier for forensic investigators and incident responders to start using the variety of freely-available tools that can examine malware, yet might be difficult to locate or set up.
https://remnux.org