Архив рубрики: Разное, мелочи

OpenVPN: multihome или несколько каналов

Сейчас всё чаще сервера подключают сразу к нескольким провайдерам. Поэтому, остро стоит проблема корректной работы сервисов, неважно к какому из каналов сервера вы подключились. У OpenVPN для этого есть несколько «хаков».

Читать далее

ISC bind/named: включаем принудительно IPv4 для slave/resolving

Недавно столкнулся с ситуацией, когда идёт запрос на bind, а он должен forward’ить запросы определённой зоны дальше. И тут начинается интересное: приходит запрос на А-запись, а bind forward’ит её дальше уже как АААА-запись. Через tcpdump это выглядит так:


IP 192.168.1.137.61275 > 192.168.1.1.53: 8461+ A? srv2304.domain.local. (40)
IP 192.168.1.1.61034 > 192.168.1.50.53: 7530+ AAAA? srv2304.domain.local. (40)
IP 192.168.1.50.53 > 192.168.1.1.61034: 7530* 0/1/0 (98)

Читать далее

OpenVPN: tls-auth vs tls-crypt

Разница между tls-auth и tls-crypt заключается в том, что, начиная с шага 1, tls-crypt будет шифровать все сообщения с помощью предварительного общего ключа.

Это обеспечивает несколько преимуществ:

  1. Он скрывает инициализацию рукопожатия TLS с сервером OpenVPN. Это полезно в некоторых ситуациях, когда подпись протокола OpenVPN обнаружена и заблокирована.
  2. Это предотвращает атаки отказа в обслуживании TLS. С помощью tls-auth злоумышленник может одновременно открыть тысячи соединений TLS, но не может предоставить действительный сертификат, что приводит к заклиниванию доступных портов. С tls-crypt сервер отклонил бы соединение заранее на шаге 1.
  3. Данные шифруются дважды, один раз с помощью tls-crypt и один раз сессией TLS.

Для более детального «погружения» рекомендую посмотреть это

PS. Заметка не моя, взята на просторах сети.

Добавляем свой самоподписный сертификат в список доверенных корневых

И так, нам нужен собственно сам сертификат в формате PEM, который нужно положить в правильное место:
— Linux: /usr/share/ca-certificates/mozilla
— FreeBSD: /usr/share/certs/trusted
— Oracle Solaris /etc/certs/CA

Теперь нужно сгенерировать симлинк с именем хеша в папку с сертификатами. Тут есть 2 варианта: использовать утилиту c_rehash (доступна в пакете openssl-perl) или сделать это вручную. Если не хотите ничего сломать и нужно сделать для одного сертификата, то лучше вручную. Делается так:

Читать далее

dovecot, roundcube, sieve, nonASCII папки

Если вы используете фильтры sieve, созданные через roundcube, то по-умолчанию они создаются в кодировке mUTF-7. Вот, что говорится в RFC3501 (protocol imap)

5.1.3. Mailbox International Naming Convention

By convention, international mailbox names in IMAP4rev1 are specified
using a modified version of the UTF-7 encoding described in [UTF-7].
Modified UTF-7 may also be usable in servers that implement an
earlier version of this protocol.

Читать далее

dovecot: autoreply via sieve

В базовом функционале roundcube уже есть плагин sieve. И тут остаётся дело за малым: прикрутить это всё к dovecot+exim (via dovecot delivery). И так, ниже настройки dovecot.conf:

Читать далее

nginx: proxy_pass DNS name

При использовании proxy_pass, особенно если в качестве upstream’ов используется DNS name есть один нюанс, который хоть и описан в документации, но требует пояснения. Ниже цитата из рассылки nginx:

Читать далее

[dovecot] Cached message size larger than expected

Если кратко, то данная ошибка говорит, что размер письма отличается от ожидаемого. Такое поведение возникает, если содержимое файла письма изменилось (случайно или преднамеренно). При этом разные клиенты могут по-разному отображать это письмо: частично или вообще никак (показывать ошибку). В сети почти все варианты решения выглядят так: удалите из папки Maildir файлы dovecot.* и перезапустите dovecot (dovecot перепланирует папку и создаст заново эти файлы). Такой рецепт подойдёт, если у вас старая версия, до 2.0.X включительно. Но если у вас версия 2.1.Х, то это не поможет.

Читать далее

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

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

Читать далее