LogWatch SMTP auth – аутентификация

Вопрос или проблема

Итак, я использую LogWatch некоторое время и хочу немного настроить его, так что это одна из вещей, которую я хочу изменить.

Я хочу, чтобы LogWatch проверял через SMTP?

Мой почтовый сервер (iREDmail) имеет довольно строгие правила в отношении аутентификации, поэтому я должен установить пароль для учетной записи, и он должен быть в системе.

Как настроить LogWatch для аутентификации через STMP с использованием электронной почты и пароля?

Привет, если вы хотите, чтобы logwatch отправлял почту используя учетную запись smtp, вы можете использовать пакет msmtp (debian) и настроить logwatch его использовать, он отправит аутентифицированную почту через smtp. Вам не нужен postfix, настройка не влияет на существующую конфигурацию MTA в системе.

Шаг 1:
установите и протестируйте msmtp

apt-get install msmtp

настройте его, создав файл конфигурации в домашней папке пользователя

cd ~
touch ./.msmtprc
edit .msmtprc

отредактируйте и вставьте это содержимое в соответствии с вашими потребностями

account default
host mail.domain.tld
port 587
from [email protected]
auth on
user [email protected]
password myverysecretpass
tls on
tls_certcheck off 

tls_certcheck off # если вы не хотите проверять ssl-сертификат почтового сервера

tls_trust_file mycacertificatefile # если вы хотите проверить сертификат ca

Сохраните файл и проверьте/подтвердите конфигурацию с помощью команды

msmtp -S

Шаг 2:
отредактируйте конфигурацию logwatch

edit /etc/logwatch/conf/logwatch.conf

найдите существующую строку mailer и закомментируйте ее.
создайте новую строку и измените адрес электронной почты получателя

mailer = "/usr/bin/msmtp [email protected]"

Убедитесь, что адрес электронной почты в logwatch соответствует адресу в .msmtprc, иначе вы получите отчет о недоставке

MailFrom = [email protected]

сохраните и выполните сценарий logwatch, проверьте электронную почту в почтовом ящике назначения, если ничего не пришло, проверьте почтовый ящик [email protected] на наличие отчетов о недоставке для выявления проблем

Это решение работает для меня, я получаю почту правильным образом, и я использую DMARC и DKIM правильно для отчетов, которые мне нужны.

Список всех допустимых настроек Logwatch и их значения по умолчанию находятся в файле logwatch.conf по умолчанию, который вы, вероятно, можете найти в /usr/share/logwatch/default.conf/logwatch.conf. Почтовые опции Logwatch очень ограничены; нет никакой аутентификации. Комментарии в файле конфигурации документируют все возможное:

#Выходные/форматные опции
#По умолчанию Logwatch выведет информацию на stdout в текстовом формате без кодирования.
#Чтобы сделать отправку по электронной почте по умолчанию, установите Output = mail, чтобы сохранить файл, установите Output = file
Output = stdout
#Чтобы сделать HTML форматированием по умолчанию Format = html
Format = text
#Чтобы сделать кодирование Base64 [также известное как uuencode] Encode = base64
Encode = none

# По умолчанию лица для отправки отчетов. Может быть локальной учетной записью или
# полным адресом электронной почты. Переменная Output должна быть установлена в mail или
# --output mail должна быть передана в командной строке для включения функции отправки почты.
MailTo = root
# При использовании опции --multiemail, возможно указать другого
# получателя электронной почты для каждого обрабатываемого хоста. Например, чтобы отправить отчет
# для узла host1 на [email protected], используйте:
#Mailto_host1 = [email protected]
# Несколько получателей могут быть указаны, разделяя их пробелом.

# По умолчанию лица для отправки отчетов. Может быть локальной учетной записью или
# полным адресом электронной почты.
MailFrom = Logwatch

Это указывает, что вы должны разрешить Logwatch отправлять электронную почту без аутентификации на локальном MTA.

Использование аутентификации, вероятно, принудительно в Postfix с помощью

Это нормальные настройки на представлении на порту 587, но разрешение permit_mynetworks в Postfix smtpd, прослушивающего на порту 25, позволит локальным пользователям отправлять почту без аутентификации. Это обычно достаточно для того, чтобы позволить Logwatch отправлять почту.

Ваш iRedMail использует Postfix как почтовый агент передачи (MTA). Документация iRedMail также содержит статью о разрешении пользователю отправлять электронную почту без аутентификации SMTP с использованием двух различных методов. Оба из них предполагают ручное редактирование файлов конфигурации. Вы должны добавить ваш Logwatch как разрешенного отправителя.

Если у вас возникнут проблемы:

.msmtprc: содержит секреты и, следовательно, должно иметь не более чем пользовательские
разрешения на чтение/запись

вы должны предоставить разрешения:

chmod 600 ~/.msmtprc

Ответ или решение

Для настройки SMTP-аутентификации LogWatch с использованием электронной почты и пароля, следуйте приведенным ниже шагам, которые помогут интегрировать msmtp с LogWatch для отправки отчетов по электронной почте через ваш сервер iREDmail.

Установка и настройка msmtp

  1. Установка msmtp:
    На системах Debian выполните следующую команду для установки msmtp:

    apt-get install msmtp
  2. Создание и редактирование конфигурации msmtp:
    Перейдите в домашнюю директорию пользователя и создайте файл конфигурации .msmtprc:

    cd ~
    touch .msmtprc

    Отредактируйте файл, чтобы он соответствовал вашим требованиям. Пример конфигурации:

    account default
    host mail.domain.tld
    port 587
    from [email protected]
    auth on
    user [email protected]
    password myverysecretpass
    tls on
    tls_certcheck off

    Примечание: Опция tls_certcheck off отключает проверку SSL-сертификата сервера. Чтобы включить проверку, используйте tls_trust_file с указанием файла сертификата CA.

  3. Проверка конфигурации:
    Убедитесь, что конфигурация корректна, выполнив следующую команду:

    msmtp -S

Настройка LogWatch для использования msmtp

  1. Редактирование конфигурации LogWatch:
    Откройте файл конфигурации logwatch.conf:

    edit /etc/logwatch/conf/logwatch.conf

    Найдите строку, ответственную за почтовую отправку, и измените на:

    mailer = "/usr/bin/msmtp [email protected]"

    Замените mailer на ваш почтовый адрес, чтобы он совпадал с настройкой в .msmtprc.

  2. Проверка работы LogWatch:
    После изменения конфигурации выполните скрипт LogWatch и проверьте наличие отчетов в указанном почтовом ящике. При возникновении проблем проверьте почтовый ящик на наличие ошибок недоставки и соблюдение правильных параметров DMARC и DKIM.

Дополнительные рекомендации

У iRedMail в роли SMTP-сервера используется Postfix. Рассмотрите возможность настройки Postfix для разрешения отправки без аутентификации с локального узла, что может потребовать изменения параметров, таких как permit_mynetworks, чтобы LogWatch мог отправлять почту без необходимости аутентификации.

Устранение проблем

Если вы столкнулись с ошибками прав доступа, возможно, потребуется изменить права на файл .msmtprc:

chmod 600 ~/.msmtprc

Следуя этим шагам, вы сможете настроить LogWatch для использования SMTP-аутентификации с использованием электронной почты и пароля, что позволит отправлять отчеты через ваш сервер iREDmail без нарушения его строгих политик аутентификации.

Оцените материал
Добавить комментарий

Капча загружается...