Настройка DKIM в связке с Postfix.

DKIM (DomainKeys Identified Mail) — это система, которая позволяет вашим почтовым серверам добавлять подпись к заголовкам исходящей электронной почты. Он идентифицирует открытый ключ вашего домена, чтобы другие почтовые серверы могли проверить подпись. Кроме того, DKIM помогает не допустить, чтобы ваша почта считалась спамом. Это также позволяет почтовым серверам обнаруживать, когда ваша почта была подделана при пересылке.

Прошу обратить внимание что все ниже действия будут производится применительно к домену — example.com.

 

# Устанавливаем пакеты OpenDKIM:

apt-get install opendkim opendkim-tools -y

 

Настройка OpenDKIM

# Создаем каталоги для хранения файлов данных OpenDKIM:

mkdir /etc/opendkim
mkdir /etc/opendkim/keys
touch /etc/opendkim/KeyTable
touch /etc/opendkim/SigningTable
touch /etc/opendkim/TrustedHosts

# Добавляем пользователя postfix в группу opendkim. Назначаем права собственности пользователю opendkim:

adduser postfix opendkim
chown -R opendkim:opendkim /etc/opendkim

 

# Создаем каталог с названием домена для размещения ключа:

mkdir /etc/opendkim/keys/example.com

# Генерируем открытый и закрытый ключи:

opendkim-genkey -b 2048 -h rsa-sha256 -r -s mail -d example.com -D /etc/opendkim/keys/example.com -v

# Добавляем в файл (/etc/opendkim/KeyTable) пару селектор/домен и путь к их закрытому ключу. В качестве селектора используем строку которую указывали при генерации ключа (mail):

echo "mail._domainkey.example.com example.com:mail:/etc/opendkim/keys/example.com/mail.private" >> /etc/opendkim/KeyTable
ИНФОРМАЦИЯ.  Если на почтовом сервере несколько доменом, то DKIM запись должна быть по одной строке на каждую пару селектор/домен и путь к их закрытому ключу.

 

# Добавляем в файл (/etc/opendkim/SigningTable) домен и его селектор:

echo "*@example.com email._domainkey.example.com" >> /etc/opendkim/SigningTable

# Определяем в файле (/etc/opendkim/TrustedHosts) перечень доверенных хостов, исходящие от этих хостов подписанными:

cat << EOF > /etc/opendkim/TrustedHosts
127.0.0.1
localhost
*.example.com
EOF

Читать далее

Подключение к Exchange Online через PowerShell на Debian 10 Buster

# Устанавливаем powershell c репозиториев Microsoft.

# Download the Microsoft repository GPG keys
wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb

# Register the Microsoft repository GPG keys
sudo dpkg -i packages-microsoft-prod.deb

# Update the list of products
sudo apt-get update

# Install PowerShell
sudo apt-get install -y powershell
В Debian 10 в репозиториях версия Openssl 1.1.1 и используемые SSL библиотеки этой версии при попытке подключения к Exchange Online приводят к ошибке:

/usr/bin/pwsh: symbol lookup error: /opt/microsoft/powershell/7/libmi.so: undefined symbol: SSL_library_init

Для решения этой проблемы установим версию Openssl 1.0.2u.

# Скачиваем исходник пакета Openssl 1.0.2u,

wget https://github.com/openssl/openssl/archive/OpenSSL_1_0_2u.tar.gz
tar -zxvf OpenSSL_1_0_2u.tar.gz

# Собираем и устанавливаем пакет — Openssl 1.0.2u (устанавливаем в несистемный каталог, чтобы он не перезаписать текущую версию)

cd openssl-OpenSSL_1_0_2u

./config --prefix=/opt/openssl/1.0.2u shared
make test
make clean
make install

# Настраиваем симлинки в /opt/microsoft/powershell/7 для libssl и libcrypto, чтобы они указывали на версии 1.0.2.

ln -sf /opt/openssl/1.0.2u/libssl.so.1.0.0 /opt/microsoft/powershell/7/libssl.so.1.0.0
ln -sf /opt/openssl/1.0.2u/libcrypto.so.1.0.0 /opt/microsoft/powershell/7/libcrypto.so.1.0.0

Читать далее

Установка Imapsync на Ubuntu 20.04 & Debian 10 Buster

# Устанавливаем необходимые пакеты зависимостей.

apt install libauthen-ntlm-perl libcgi-pm-perl libcrypt-openssl-rsa-perl libdata-uniqid-perl libencode-imaputf7-perl libfile-copy-recursive-perl libfile-tail-perl libio-socket-inet6-perl libio-socket-ssl-perl libio-tee-perl libhtml-parser-perl libjson-webtoken-perl libmail-imapclient-perl libparse-recdescent-perl libmodule-scandeps-perl libreadonly-perl libregexp-common-perl libsys-meminfo-perl libterm-readkey-perl libtest-mockobject-perl libtest-pod-perl libunicode-string-perl liburi-perl libwww-perl libtest-nowarnings-perl libtest-deep-perl libtest-warn-perl libdist-checkconflicts-perl libpar-packer-perl libtest-fatal-perl libtest-modern-perl libtest-requires-perl libtest-mock-guard-perl make time cpanminus git -y

apt-get install apt-file -y
apt-file update

# Скачиваем исходник пакета Imapsync.

cd /opt/ 
git clone https://github.com/imapsync/imapsync.git
cd imapsync/

# Собираем и устанавливаем пакет — Imapsync.

make
make testp
make install

# Можно проверить работоспособность установленного пакета командой.

imapsync --testslive

# Перед миграцией убедитесь, что на обеих учетных записях запущен IMAP и они доступны из вашей системы. После этого используйте следующий синтаксис команды:

imapsync --host1 imap.source.example.com --user1 user@example.com --password1 S0urcePassw0rd --ssl1 --host2 imap.dest.example.com --user2 user@example.com --password2 Dest1nat10NPassw0rd --ssl2

 

# Для примера для миграции с Exchange Online (office365) на Zimbra Colloboration Suit я использовал следующий набор команд.

Читать далее