Установка sendmail ubuntu

Содержание
  1. Базовая настройка sendmail, Ubuntu
  2. Page 3
  3. Настройка DKIM-записи для работы с sendmail на сервере с Linux Ubuntu
  4. Сначала установка sendmail
  5. Приступаем к DKIM
  6. Пора добавить DNS-записи
  7. Проверяем результат
  8. Ещё пара полезных записей в DNS
  9. HOWTO setup ubuntu 18.04 sendmail+DKIM+SPF+DMARC или о том как мне удалось пробиться в бастион Gmail
  10. Инструкция по настройке spf+dkim на ubuntu 18.04
  11. 2. Настраиваем opendkim
  12. 3. Настраиваем ключи и правила подписывания
  13. 4. Настройка sendmail
  14. 5. Настройки DKIM TXT записи на DNS сервере
  15. 6. Настройка SPF
  16. 7. Настройка DMARC
  17. Проверка
  18. Возможные проблемы
  19. Настройка связки DKIM + sendmail на сервере Ubuntu
  20. Приступаем к DKIM
  21. Ещё пара полезных записей в DNS
  22. Для тех, кто долистал
  23. Установка Sendmail + Dovecot + DrWeb на Ubuntu
  24. Для начала ставим дополнительные компоненты для удобства работы это файловый менеджер MC и WebMin
  25. Устанавливаем MTA агент передачи почты Sendmail (MTA — mail transfer agent)
  26. Редактируем файл /etc/mail/access
  27. Управление sendmail
  28. Проверка сендмайла
  29. Настройка и установка Dovecot
  30. Проверка Dovecot
  31. Добавление записей в DNS
  32. Перенос и создание новых пользователей
  33. Отступление (Пароли и пользователи)
  34. Установка Drweb анти спам+антивирус
  35. Работа с пользователями через WebMin
  36. настройка sendmail ubuntu apache
  37. Установка и настройка Sendmail в среде Ubuntu
  38. Установка программы
  39. Базовая установка и настройка Sendmail на Ubuntu Server

Базовая настройка sendmail, Ubuntu

Установка sendmail ubuntu
Я не администратор, поэтому относитесь к этой заметке с осторожностью. Рассматривается такя ситуация: надо заставить sendmail сервера отправлять почту, но ничего в ответ не принимать. Строго для оповещений с сайтов.

У меня вдс-ка с предустановленным exim4 на который, насколько я понимаю, “ссылается” sendmail. Т.е. фактически работает exim4.

Сначала настраиваем хост (my-host-name это имя нашего хоста с которого все будет ездить)

sudo mcedit /etc/hosts В файле должны быть строки вида 127.0.0.1 localhost 111.111.111.111 hostname.my-hoster.net my-host-name Далее меняем имя хоста в файле sudo mcedit /etc/hostname Файл должен выглядеть вот так (полностью, т.е. только имя хоста и все) my-host-name Теперь перегружаем службу которая грубо говоря обновляет имя хоста глобально sudo /etc/init.d/hostname.sh stop sudo /etc/init.d/hostname.sh start # если такого скрипта нет, то пробуем иначе: sudo service hostname restart REM ещё такой вариант есть, для Debian 9 (stretch) hostnamectl set-hostname my-host-name Теперь выполняем команды hostname hostname -f Если все правильно сделано, то они обе должны вернуть значение my-host-name (т.е. имя вашего хоста)

Теперь надо настроить сам sendmail. В моем случае, нужно перенастроеить exim4. Делается это примерно так:

sudo dpkg-reconfigure exim4-config После этого в мастере просто нужно выбирать значения (именно для exim4)

  • internet site..
  • вводим название вашего хоста (my-host-name)
  • ip для smtp устанавливаем только 127.0.0.1 т.к. нам не нужны внешние подключения по smtp
  • другие допустимые назначения оставляем по умолчанию
  • домены для разрешенного релея – оставляем пустым
  • машины для релея – оставляем пустым
  • кол-во днс запросов на ваше усмотрение, я не ограничивал
  • метод доставки я оставил тот же который был, т.е. /var/mail
  • разделять не разделять файлы конфигурации – на ваше усмотрение, аргументы там описаны, я разделять не стал

Теперь, чтобы проверить ходит ли почта делаем так sendmail -i my-email@my-host.com Далее вводим тект тестового сообщения. И по готовности нажимаем Ctrl+d Идем проверяем свою почту. Если письмо пришло – все ок и ура. Если нет – идем гуглить дальше :)

Дальше надо убедиться что на нашем сервере недоступен smtp, для этого нам надо сходить с локальной машины постучаться в 25 порт сервера и получить отлуп. Делается это например так:

telnet my-host-name 25 Trying 111.111.111.111… telnet: Unable to connect to remote host: Connection refused Если все так, то все тип-топ. Порт закрыт. Ещё маленькая фишка. Бывает так что по каким-то причинам, сервис рулящий веб-приложением надо перезапускать регулярно. В моем случае это node.js и делаю я это по крону раз в N времени. Так вот если перезапустить процесс кроном, то sendmail перестает работать, потому как приложение не знает где он, в path пути до него просто нет и соот-но он просто не находится. Точно так же можно передавать любые другие настройки переменных окружения. Как это делать смотрим ниже.

Сначала посмотрим где sendmail

which sendmail /usr/local/bin/sendmail Ок, видим путь. Если вдруг не видим то идем смотреть тоже самое но под sudo. Теперь идем в кронтаб и добавляем переменные окружения там. crontab -e Откроется редактирование заданий для текущего пользователя. То есть все задания будут выполнены с правами текущего пользователя и сервис запустится с правами этого пользователя, если он запускается конечно согласно вашему плану :) # это переменная которая рассказывает где искать sendmail, # другие нужные пути можно писать через разделитель – двоеточие # там будут искаться необходимые нам утилиты PATH=/usr/local/bin # это пример переменной окружения которую будет использовать само приложение NODE_ENV=production # это собственно само задание, гуглим по формату crontab чтобы понять что к чему # в данном случае скрипт будет срабатывать в 30 минут каждого четного часа */30 */2 * * * /home/user/blog/scripts/restart.sh Ну вот примерно так. Прошу не воспринимать эту заметку как полное руководство к действию, вполне возможно что для вашего случая все будет значительно отличаться. Но возможно это как-то поможет или хотя бы наведет на мысли в нужном направлении :) Успехов!

Пользовался вот этим источником. Рекомендую на него взглянуть, надеюсь он ещё дышит.

Задача тривиальная, но как-то сумбурно пока гуглится. Много разных решений наковырял. Суть в том что нам нужно не перезагружая страницу отправить на сервер файл (и любые другие параметры в комплекте), почитать что нам напишут в ответ и какую-то реакцию показать пользователю. Пример ниже для одного файла, очевидно если у инпута выставлено multuple=”multiple” то по массиву файлов можно будет пробежаться и так же все их добавить в запрос.

В html

В скрипте var fd = new FormData(); fd.append('id', '123'); fd.append('type', 'one'); fd.append('img', $('#imgFile')[0].files[0]); $.ajax({ type: 'POST', url: '/url/to/action', data: fd, processData: false, contentType: false, dataType: “json”, success: function(data) { console.log(data); }, error: function(data) { console.log(data); } });

Page 3

Источник: https://wired-mind.info/post/155

Настройка DKIM-записи для работы с sendmail на сервере с Linux Ubuntu

Установка sendmail ubuntu

Если вдруг перед вами встала задача использования Sendmail для отправки почты вместо использования альтернативных способов, стоит подумать о том, чтобы верно настроить DKIM-запись, чем обезопасить свою корреспонденцию от придирчивых спам-фильтров. Однако, не всегда этот процесс проходит просто и быстро. В сети множество инструкций о том, как это сделать, но итогом нескольких часов настройки стал собственный опыт и этот мануал.

Сегодняшняя инструкция протестирована на сервере с Linux Ubuntu 16.04.

Сначала установка sendmail

Тут всё просто. Достаточно выполнить команду:sudo apt-get update
sudo apt-get install sendmail

Если не сработает, иногда приходится добавить также:sudo apt-get install sensible-mda
sudo apt-get install sendmail-bin

После этого стоит обновить файл hosts, открыв его на редактирование командой:

sudo nano /etc/hosts

127.0.0.1 localhost localhost.localdomain имя_вашего_хоста

Здесь обратите внимание на «имя вашего хоста», которое необходимо заменить на справедливое для вас значение.

Затем пересобираем конфиг и перезапускаем сервис:sendmailconfig
service sendmail restart

Приступаем к DKIM

Нам потребуются пакеты. Доустанваливаем тех, что скорее всего, пока не хватает:

apt-get install opendkim opendkim-tools

Затем создаём директорию для хранения ключей:mkdir -p /etc/opendkim/keys/ваш_домен_ру

Здесь и далее мы будем использовать в коде подстановку «ваш_домен_ру», которую необходимо заменить на соответствующее название домена. Будьте внимательны, это нам потребуется ещё ни один раз.

Далее потребуется сгенерировать ключи. Приватные будут храниться на вашем сервере, а публичные нужно будет прописать в виде DNS-записей у хостера. Здесь же придумываем название селектора, которое сейчас и в дальнейшем будем использовать. В нашем случае это будет слово «mail».

opendkim-genkey -D /etc/opendkim/keys/your-domain.com -d your-domain.com -s mail

После выполнения команды в директории хранения ключей будет создано два файла с именами «mail.private» и «mail.txt».

Теперь назначаем верные права доступа и владельца:chown -R opendkim:opendkim /etc/opendkim/keys/ващ_домен_ру
chmod 640 /etc/opendkim/keys/your-domain.com/mail.private
chmod 644 /etc/opendkim/keys/your-domain.com/mail.txt

Залезаем в конфиг командой:sudo nano /etc/opendkim.conf

И вставляем туда эти строки (это пример работающего конфига, который подойдёт для большинства пользователей):AutoRestart Yes
AutoRestartRate 10/1h
UMask 002
Syslog yes
SyslogSuccess Yes
LogWhy Yes

Canonicalization relaxed/simple

ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
KeyTable refile:/etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable

Mode sv
PidFile /var/run/opendkim/opendkim.pid
SignatureAlgorithm rsa-sha256

UserID opendkim:opendkim

Socket inet:8891@127.0.0.1

Domain ваш_домен_ру
Selector mail

Теперь создаём те самые три файла, что описали в конфиге. Сначала первый:
sudo nano /etc/opendkim/KeyTable

mail._domainkey.ваш_домен_ру ваш_домен_ру:mail:/etc/opendkim/keys/ващ_домен_ру/mail.private

sudo nano /etc/opendkim/SigningTable

*@ваш_домен_ру mail._domainkey.ваш_домен_ру

sudo nano /etc/opendkim/TrustedHosts

127.0.0.1
localhost
ваш_домен_ру

Снова конфигурируем sendmail, сообщая о том, что теперь есть подпись DKIM. Открываем на редактирование файл:sudo nano /etc/mail/sendmail.mc

И добавляем в конец файла строку:INPUT_MAIL_FILTER(`opendkim', `S=inet:8891@127.0.0.1')

Редактируем ещё один конфиг:sudo nano /etc/default/opendkim

Здесь нужно раскомментировать строку «SOCKET=”inet:8891@localhost”».

Затем снова пересобираем конфиг sendmail, перезапускаем службу и запускаем openDKIM:sendmailconfig
service sendmail restart
service opendkim start

Пора добавить DNS-записи

Для начала нам потребуется просмотреть содержимое файла ключа:

cat /etc/opendkim/keys/ваш_домен_ру/mail.txt

В итоге увидим что-то в духе:default._domainkey IN  TXT ( «v=DKIM1; k=rsa; “«p=MIGfMA0000qGSIb3DQEBAQUAA4GNADCxxxxBgQCgmHiX7BojGFoggggXa25Xs444WRhLmNpnv7777TY7FU4mG/WxtgrpV////Tzt3EZQ1/BpyICjlJZXIhgggguePnyd/iNFh4xKF3pi8yoqWB0eyq6KI/fXUbUWdd+NiU4ffffv89St92g24UFaElEl54XXCa6GlllldHFMetkBXwID/QAB» ) ; —— DKIM key default for droidnews.ru

Теперь в панели хостера необходимо добавить TXT-Запись «mail._domainkey» (здесь «mail» снова выбранный нами ранее селектор). В качестве значения указываем всё, что прописано в кавычках, включая кавычки.

Проверяем результат

Чтобы понять, верно ли у нас всё получилось, можно, например, воспользоваться сервисом https://www.mail-tester.com или http://www.isnotspam.com, http://www.appmaildev.com/en/dkim, https://mxtoolbox.com/SuperTool.

aspx, которые расскажут о том, удалось отправить подписанное письмо с вашего сервера, а также проверить вашу DKIM-запись на валидность.

Кроме того, даст ещё некоторые полезные советы, как повысить рейтинг вашего отправления, чтобы оно было успешно доставлено до адресата, минуя спам-фильтры.

Ещё пара полезных записей в DNS

Почтовые сервисы также одобрят у вас появление записи DMARC.

Для этого в панели хостера добавляем TXT-запись «_ваш_домен_ру» (первый знак нижнего подчёркивания надо оставить) со следующим значением «v=DMARC1; p=none».

Кроме того, добавим SPF-запись. TXT-запись с названием «ваш_домен_ру» и значением «v=spf1 a mx -all».

Теперь ваши письма должны всегда успешно доходить до адресатов.

Если вам интересны наши материалы, не забудьте поставить лайк после прочтения статьи ;) Ну и подписаться на канал, конечно же. Это вдохновляет нас на работу.

Ещё больше интересного из мира ИТ можно найти на нашем сайте. А ещё мы есть в Telegram, если вам так удобнее ;) Ну или во .

Источник.

Источник: https://zen.yandex.ru/media/droidnews.ru/nastroika-dkimzapisi-dlia-raboty-s-sendmail-na-servere-s-linux-ubuntu-5e831a89bd6e884c21178be7

HOWTO setup ubuntu 18.04 sendmail+DKIM+SPF+DMARC или о том как мне удалось пробиться в бастион Gmail

Установка sendmail ubuntu

На моем сервере крутится 2 отдельных домена. До истории с блокировками Роскомнадзора мы собирали трафик около 2000 посещений в сутки, а почтовый сервер отправлял в сутки около 200 писем на все популярные почтовые сервисы, в т.ч. Гугл и Яндекс. Все было здорово.

Но как говорится в известном ролике: «Все было так хорошо, пока не пришел Навальный Роскомнадзор! Теперь, когда нам удалось найти хостера, чьи IP адреса не попадают под блокировки государственной цензуры появилась другая проблема. Корпорация добра Гугл перестала дальше порога пускать нашего почтальона.

MX сервер google выбрасывает мою почту с примерно следующим сообщением: „Твое сообщение похоже на нежелательное, давай до свидания…“
лог соединения с SMTP сервером гугла050 … Connecting to gmail-smtp-in.l.google.com. via esmtp…050 220 mx.google.com ESMTP v6-v6si38552789wrc.432 – gsmtp050 >>> EHLO sevenlight.ru050 250-mx.google.

com at your service, [2a02:c207:2018:3546::1]050 250-SIZE 157286400050 250-8BITMIME050 250-STARTTLS050 250-ENHANCEDSTATUSCODES050 250-PIPELINING050 250-CHUNKING050 250 SMTPUTF8050 >>> STARTTLS050 220 2.0.0 Ready to start TLS050 >>> EHLO sevenlight.ru050 250-mx.google.

com at your service, [2a02:c207:2018:3546::1]050 250-SIZE 157286400050 250-8BITMIME050 250-ENHANCEDSTATUSCODES050 250-PIPELINING050 250-CHUNKING050 250 SMTPUTF8050 >>> MAIL From: SIZE=297050 250 2.1.0 OK v6-v6si38552789wrc.432 – gsmtp050 >>> RCPT To:050 >>> DATA050 250 2.1.5 OK v6-v6si38552789wrc.432 – gsmtp050 354 Go ahead v6-v6si38552789wrc.432 – gsmtp050 >>> .050 550-5.

7.1 [2a02:c207:2018:3546::1 7] Our system has detected that this050 550-5.7.1 message is ly unsolicited mail. To reduce the amount of spam sent050 550-5.7.1 to Gmail, this message has been blocked. Please visit050 550-5.7.1 https://support.google.com/mail/?p=UnsolicitedMessageError050 550 5.7.1 for more information. v6-v6si38552789wrc.

432 – gsmtp
Этой командой я отправлял тестовое сообщение: echo “Subject: Hello baby!” | sendmail -v legale.legale@gmail.com Писать о своих танцах с бубном в попытках пробиться через спам-фильтры я не буду. Скажу только, что провозился я всю ночь, но добиться успеха смог только на следующий день. Именно поэтому я и решил написать сей мануал.

Инструкция по настройке spf+dkim на ubuntu 18.04

Крутизна данной инструкции в том, что она работает, в отличие от множества других. Я гарантирую, что как минимум 2 домена на 1 сервере ты сможешь настроить без особого труда.

2. Настраиваем opendkim

Конфиг лежит тут: /etc/opendkim.conf /etc/opendkim.

confAutoRestart Yes UMask 002 Syslog yes AutoRestartRate 10/1h Canonicalization relaxed/simple ExternalIgnoreList refile:/etc/opendkim/TrustedHosts InternalHosts refile:/etc/opendkim/TrustedHosts KeyTable refile:/etc/opendkim/KeyTable SigningTable refile:/etc/opendkim/SigningTable LogWhy Yes Mode sv PidFile /var/run/opendkim/opendkim.pid SignatureAlgorithm rsa-sha256 Socket inet:8891@localhost SyslogSuccess Yes TemporaryDirectory /var/tmp UserID opendkim:opendkim

3. Настраиваем ключи и правила подписывания

Я опишу процедуру по созданию собственных ключей для тех, кто хочет полной автономности. Лично у меня используется яндексовый сервис «Почта для домена» pdd.yandex.ru, поэтому у меня ключи сгенерированные Яндексом. #сначала делаем каталогmkdir -p /etc/opendkim/keys/*****.ru#переходим тудаcd /etc/opendkim/keys/******.

ru#делаем ключи#-s определяет селектор -d домен для которого делать ключopendkim-genkey -s mail -d ******.ru#должны появится 2 файла mail.txt с открытым ключом и mail.private с закрытым#назначим владельцем файлов ключей opendkim:opendkimchown opendkim:opendkim mail.*#ограничим доступ к секретному ключуchmod 600 mail.

private Далее подключаем наш созданный или загруженный у Яндекса секретный ключ DKIM.

Нас интересуют вот эти три строчки из конфига opendkim: InternalHosts refile:/etc/opendkim/TrustedHostsKeyTable refile:/etc/opendkim/KeyTableSigningTable refile:/etc/opendkim/SigningTable
В первом файле /etc/opendkim/TrustedHosts хранятся хосты, которые будут иметь доступ к серверу opendkim для подписывания писем. /etc/opendkim/TrustedHosts127.0.0.

1 localhost ######.ru ******.ru
Во втором файле /etc/opendkim/KeyTable хранится таблица секретных ключей и связанных с ними записей DKIM, которые представляют из себя следующее: [selector]._domainkey.[domain_name] /etc/opendkim/KeyTablemail._domainkey.sevenlight.ru sevenlight.ru:mail:/etc/opendkim/keys/sevenlight.ru/mail.private mail._domainkey.st-goods.ru st-goods.

ru:mail:/etc/opendkim/keys/st-goods.ru/mail.private
В третьем файле /etc/opendkim/SigningTable лежит таблица правил подписывания писем. Тут указано чьи письма и каким именно ключом подписывать. /etc/opendkim/SigningTable*@sevenlight.ru mail._domainkey.sevenlight.ru *@st-goods.ru mail._domainkey.st-goods.ru Создаем эти файлы, указывая свой домен и свой путь к файлу ключа. На этом настройка opendkim закончена.

4. Настройка sendmail

Настройка sendmail максимально проста. Нам всего лишь нужно добавить в конец файла прототипа конфига /etc/mail/sendmail.mc следующие строчки: #Эта строка включает поддержу starttlsinclude(`/etc/mail/tls/starttls.

m4')dnl#Заставим sendmail пропускать письма через opendkimINPUT_MAIL_FILTER(`opendkim', `S=inet:8891@localhost')dnl
Чтобы почта по умолчанию отправлялась с правильного домена надо сделать еще одно изменение в файле /etc/mail/sendmail.mc

Ищем строку, похожую на эту: MASQUERADE_AS(`st-goods.ru')dnl Заменяем на нужный домен.

Именно этот домен будет использован в качестве обратного адреса по умолчанию. Обратите внимание, что кавычки там разные, строго говоря, первый знак ` называется гравис. Так зачем-то заведено в конфиге sendmail.

Теперь добавим записи в файл /etc/hosts Это нужно для того, чтобы sendmail пропускал письма через фильтр. Опытным путем установлено, что если не добавлять записей, все логи остаются девственно чистыми, не показывая ни одной ошибки, однако письма не подписываются. #ipv4echo -e “127.0.0.1 st-goods.ru” >> /etc/hosts#ipv6echo -e “::1 st-goods.ru” >> /etc/hosts Теперь надо пересобрать sendmail с новыми настройками. #запускаем скрипт #на все вопросы отвечаем “да”sendmailconfig#перезапускам службы opendkim и sendmailservice opendkim restart && service sendmail restart Теперь наш сервер sendmail умеет пропускать исходящие письма через сервер opendkim, который добавляет цифровую подпись и шифрует заголовки отправляемых писем. Осталось опубликовать для принимающей стороны открытый ключ, чтобы можно было расшифровать заголовки и удостоверится, что заголовки не изменялись.

5. Настройки DKIM TXT записи на DNS сервере

Ключ надо подвесить на DNS сервере в строке типа TXT следующего содержания:

хост: mail._domainkey

значение: v=DKIM1; t=s; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2wtGTw/5KPjtlIEh282JY7ovxZ/8eqveFn9ivhzpYJldl3EOKw Пояснения:

p= это наш открытый ключ

v= определяет номер версии DKIM
t= устанавливает флаги, по умолчанию флаги не устанавливаются. Существует 2 флага 'y' и 's'.
y говорит о том, что DKIM работает в тестовом режиме.
s означает режим, когда правая часть почтового адреса после @ должна полностью совпадать с доменом указанным в параметре d= DKIM подписи письма.

Хост надо указать в следующем виде: [selector]._domainkey

У нас селектор mail, поэтому хост будет таким: mail._domainkey

Открытый ключ надо вытащить из файла /etc/opendkim/keys/st-goods.ru/mail.txt

/etc/opendkim/keys/st-goods.rumail._domainkey IN TXT ( «v=DKIM1; h=sha256; k=rsa; „ “p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsLFjSAqvfSrjvF0JfMkiSzqWRhXwwVPzW5OEtRFSoDVBwDxR6hMna1iESnUQ1OzbUQQPnDPbrFXkalDCAXigZqltTSAV+JQSyOwhi0b88WS3djb1IkA/qioCobjlhMFSatvcmz5kMkG8oeoHhVFQ/BE84PwDPTXRmcObDvg7meUmkYpdxeyr+tcG5ezuC+s15I00+6NSAaj0Tj» «Y/Bl2e2TE/WG45wVShlQ85E8IpYixscd0qDJ9/NbZrbWIfy8shujW5izNU4PqcWwW7/H9uTkhAbMu0fgqT8W9Jv/GRVAireOCzMl13E9PVANt4o+ywqyGk38vSY8QdgJsZPDUQIDAQAB» ); — DKIM key mail for st-goods.ru Ключ идет от p= до последней кавычки. Сами кавычки с пробелами надо удалить.

6. Настройка SPF

SPF (Sender Policy Frameword) это еще 1 технология защиты от спама, рассказывать про нее не буду. Только 2 слова для понимания сути этой технологии.

В DNS записи домена аналогично открытому ключу DKIM записываются адреса серверов, которые имеют право отправлять почту с этого домена. Нам нужно прописать в этой записи ip адреса своего сервера.

В моем случае в список также добавлен сервер Яндекса. Вот пример моей записи:

хост:@

значение:v=spf1 a mx include:_spf.yandex.net ip4:173.249.51.13 ip6:2a02:c207:2018:3546::1 ~all Синтаксис простой. Сначала указывается версия spf, а потом через пробел с плюсом или без него указываются адреса серверов, которые имеют право слать почту с этого домена. У меня указаны записи a и mx, что означает, что серверы из DNS записей A и MX тоже входят в список разрешенных. Через include: указан адрес сервера Яндекса, а дальше ipv4 и ipv6 адреса моего сервера. ~all означает softfail «мягкий отказ». Т.е. все адреса, которые не перечислены в разрешенных все таки могут пройти по усмотрению принимающего сервера. -all означал бы жесткий отказ.

7. Настройка DMARC

Последний гвоздь для проникновения в бастион gmail — DMARC. DMARC устанавливает что нужно делать с письмами, которые не проходят проверку SPF или DKIM. Все делаем точно также через DNS запись типа TXT.

хост: _dmarc

значение: v=DMARC1; p=none Здесь мы устанавливаем, что если письма не прошли SPF или DKIM ничего делать не надо. Можно поставить p=reject. Тогда такие письма будут забракованы.

Проверка

Отправляем себе письмо. echo “Subject: Hello baby!” | sendmail -v legale.legale@gmail.com

Смотрим последние записи лога почты. tail -f /var/log/mail.log | grep dkim

Должна появится строка похожая на эту: Jun 11 22:07:55 sevenlight opendkim[6473]: w5BK7sl9008069: DKIM-Signature field added (s=mail, d=st-goods.ru) Если строка есть, значит сервер sendmail и opendkim сработались и подписали твое письмо. Если такой строки нет, смотри раздел «Возможные проблемы». Теперь смотрим, что получилось в почтовом ящике. Открываем письмо и нажимаем в правом верхнем углу письма кнопку со стрелкой вниз. В выпадающем меню выбираем пункт «Show original». Вот что получилось у меня: Message ID Created on: 11 June 2018 at 22:07 (Delivered after 2 seconds)From: info@*****.ruTo: legale.legale@gmail.comSubject: Заказ №2221 Интернет-магазин напольных покрытий ******.ruSPF: PASS with IP 2a02:c207:2018:3546:0:0:0:1 Learn moreDKIM: 'PASS' with domain *****.ru Learn moreDMARC: 'PASS' Learn more PROFIT$$$

Возможные проблемы

Я искренне надеюсь, что нужды читать этот раздел не будет, но техника — вещь сложная… Иногда не понятно кто на кого работает. Сначала проверяем все ли ты сделал в точной последовательность указанной в инструкции.

Сначала проверяем файл /etc/hosts на предмет корректности изменений в нем. У меня больше всего проблем было именно там. Дальше проверим системный лог на предмет ошибок dkim.

Пока я ковырялся мне довелось столкнуться с ситуацией невозможности чтения opendkim секретного ключа, хотя я назначил владельцем файла пользователя opendkim.

Дальше следует внимательно изучить лог выполнения команды sendmailconfig У меня был случай, что я использовал обычную одиночную кавычку вместо положенного грависа, а sendmailconfig ругался на это. Если ничего не помогло напиши мне и keep trying.

  • SPF
  • DKIM
  • DMARC
  • SENDMAIL
  • OPENDKIM
  • UBUNTU 18.04
  • SPAM
  • спам-фильтр

Хабы:

  • Спам и антиспам
  • Настройка Linux

Источник: https://habr.com/ru/post/415569/

Настройка связки DKIM + sendmail на сервере Ubuntu

Установка sendmail ubuntu

Если вдруг перед вами встала задача использования Sendmail для отправки почты вместо использования альтернативных способов, стоит подумать о том, чтобы верно настроить DKIM-запись, чем обезопасить свою корреспонденцию от придирчивых спам-фильтров. Однако, не всегда этот процесс проходит просто и быстро. В сети множество инструкций о том, как это сделать, но итогом нескольких часов настройки стал собственный опыт и этот мануал.

Сегодняшняя инструкция протестирована на сервере с Linux Ubuntu 16.04.

Приступаем к DKIM

Нам потребуются пакеты. Доустанваливаем тех, что скорее всего, пока не хватает:

apt-get install opendkim opendkim-tools

Затем создаём директорию для хранения ключей:

mkdir -p /etc/opendkim/keys/ваш_домен_ру

Здесь и далее мы будем использовать в коде подстановку «ваш_домен_ру», которую необходимо заменить на соответствующее название домена. Будьте внимательны, это нам потребуется ещё ни один раз.

Далее потребуется сгенерировать ключи. Приватные будут храниться на вашем сервере, а публичные нужно будет прописать в виде DNS-записей у хостера. Здесь же придумываем название селектора, которое сейчас и в дальнейшем будем использовать. В нашем случае это будет слово «mail».

opendkim-genkey -D /etc/opendkim/keys/your-domain.com -d your-domain.com -s default

После выполнения команды в директории хранения ключей будет создано два файла с именами «mail.private» и «mail.txt».

Теперь назначаем верные права доступа и владельца:

chown -R opendkim:opendkim /etc/opendkim/keys/ващ_домен_ру

chmod 640 /etc/opendkim/keys/your-domain.com/mail.private

chmod 644 /etc/opendkim/keys/your-domain.com/mail.txt

Залезаем в конфиг командой:

sudo nano /etc/opendkim.conf

И вставляем туда эти строки (это пример работающего конфига, который подойдёт для большинства пользователей):

AutoRestart Yes

AutoRestartRate 10/1h

UMask 002

Syslog yes

SyslogSuccess Yes

LogWhy Yes

Canonicalization relaxed/simple

ExternalIgnoreList refile:/etc/opendkim/TrustedHosts

InternalHosts refile:/etc/opendkim/TrustedHosts

KeyTable refile:/etc/opendkim/KeyTable

SigningTable refile:/etc/opendkim/SigningTable

Mode sv

PidFile /var/run/opendkim/opendkim.pid

SignatureAlgorithm rsa-sha256

UserID opendkim:opendkim

Socket inet:8891@127.0.0.1

Domain ваш_домен_ру

Selector mail

Теперь создаём те самые три файла, что описали в конфиге. Сначала первый:

sudo nano /etc/opendkim/KeyTable

Вставляем содержимое:

mail._domainkey.ваш_домен_ру ваш_домен_ру:mail:/etc/opendkim/keys/ващ_домен_ру/mail.private

Создаём второй:

sudo nano /etc/opendkim/SigningTable

Содержимое:

*@ваш_домен_ру mail._domainkey.ваш_домен_ру

Переходим к третьему:

sudo nano /etc/opendkim/TrustedHosts

Вставляем туда строки:

127.0.0.1

localhost

ваш_домен_ру

Снова конфигурируем sendmail, сообщая о том, что теперь есть подпись DKIM. Открываем на редактирование файл:

sudo nano /etc/mail/sendmail.mc

И добавляем в конец файла строку:

INPUT_MAIL_FILTER(`opendkim', `S=inet:8891@127.0.0.1')

Редактируем ещё один конфиг:

sudo nano /etc/default/opendkim

Здесь нужно раскомментировать строку «SOCKET=”inet:8891@localhost”».

Затем снова пересобираем конфиг sendmail, перезапускаем службу и запускаем openDKIM:

sendmailconfig

service sendmail restart

service opendkim start

Ещё пара полезных записей в DNS

Почтовые сервисы также одобрят у вас появление записи DMARC.

Для этого в панели хостера добавляем TXT-запись «_ваш_домен_ру» (первый знак нижнего подчёркивания надо оставить) со следующим значением «v=DMARC1; p=none».

Кроме того, добавим SPF-запись. TXT-запись с названием «ваш_домен_ру» и значением «v=spf1 a mx -all».

Теперь ваши письма должны всегда успешно доходить до адресатов.

Если вам интересны новости мира ИТ также сильно, как нам, подписывайтесь на наш Telegram-канал. Там все материалы появляются максимально оперативно. Или, может быть, вам удобнее “” или ? Мы есть также в Яндекс.Дзене и даже .

Для тех, кто долистал

Ай-ти шуточка бонусом. – Пользователи Android, какой ваш любимый аксессуар для смартфона? – Зарядка!

Источник: https://droidnews.ru/nastrojka-dkim-zapisi-dlya-raboty-s-sendmail-na-servere-s-linux-ubuntu

Установка Sendmail + Dovecot + DrWeb на Ubuntu

Установка sendmail ubuntu
Adatum

Я буду использовать белый ip 77.222.61.85 вы вместо него прописывайте свой.

Для начала ставим дополнительные компоненты для удобства работы это файловый менеджер MC и WebMin

sudo apt-get upgrade sudo apt-get install mc

теперь ставим графический WEB интерфейс

sudo nano /etc/apt/sources.list

В самом конце добавляем строку:

deb http://download.webmin.com/download/repository sarge contrib

Устанавливаем GPG ключ:

wget http://www.webmin.com/jcameron-key.asc sudo apt-key add jcameron-key.asc

Устанавливаем Webmin для этого вводим команду:

sudo apt-get update sudo apt-get install webmin

Запустить Webmin можно через браузер для этого введите следующий адресу в строку url:

https://77.222.61.85:10000

Устанавливаем MTA агент передачи почты Sendmail (MTA — mail transfer agent)

он отвечает за передачу почты по SMTP.

sudo apt-get install sendmail

После установки редактируем следующие файлы файлы

sudo nano /etc/hosts sudo nano /etc/mail/local-host-names sudo nano -w /etc/hostname

вписываем или меняем строку, она должна принять вид типа

77.222.61.85 mail.adatum.ru mail2

[/php]

Редактируем файл /etc/mail/access

в файле /etc/mail/access устанавливаются права доступа nano /etc/mail/access

дописываем строки с нужными нам ip либо доменами от куда разрешена отправка почты

Connect:adatum.ru RELAY Connect:mail.adatum.ru RELAY Connect:192.168.0 RELAY Connect:77.222.61.85 RELAY

Управление sendmail

Просмотр очереди сообщений:

sudo mailq

Просмотр очереди сообщений по определенному адресу:

sudo mailq | grep 'email@adatum.ru' | wc -l

Очистка очереди сообщений sendmail:

sudo rm -r /var/spool/mqueue-client/*

Очистка очереди сообщений sendmail по адресату:

cd /var/spool/mqueue

Проверка сендмайла

telnet 77.222.61.85 smtp

Если зашёл все хорошо и продолжаем дальше.
Выход из телнета написать QUIT

netstat -nlp|grep sendmail

Перезагрузка конфига sendmail

/etc/init.d/sendmail restart

Настройка и установка Dovecot

sudo apt-get install dovecot-imapd dovecot-pop3d

IMAPS и POP3S более безопасные чем обычные IMAP и POP3, поскольку используют SSLшифрование для соединения. Как только вы выберете протокол,

исправьте следующую строку в файле /etc/dovecot/dovecot.conf

protocols = pop3 pop3s imap imaps

Далее выберите формат почтового ящика, который вы собираетесь использовать.
Dovecot поддерживает форматы maildir и mbox.

Выбрав тип почтового ящика, измените в файле /etc/dovecot/conf.d/10-mail.conf

nano /etc/dovecot/conf.d/10-mail.conf

следующую строку:

mail_location = maildir:~/Maildir #

для mbox:

mail_location = mbox:~/mail:INBOX=/var/spool/mail/%u #

в моем случае я использовал mbox.в моем случае отправка почты возможна только с локальной сети поэтому я использую передачу данных авторизации в открытом виде.

Редактируем dovecot.conf

nano /etc/dovecot/dovecot.conf

добавляем строку

disable_plaintext_auth = no

Этим параметром мы явно указываем что можно передавать данные для авторизации на сервере в открытом виде.

Проверка Dovecot

telnet 77.222.61.85 pop3

Если зашёл все хорошо и продолжаем дальше.
Выход из телнета написать QUIT

Перезагрузка конфига dovecot

/etc/init.d/dovecot restart

Добавление записей в DNS

Теперь чтобы это все виделось с интернета необходимо внести 2 записи в dns примерно такого вида.
/etc/bind/zone/adatum.ru.hosts

mail.adatum.ru. IN A 77.222.61.85 mail.adatum.ru. IN MX 5 mail.adatum.ru.

Перенос и создание новых пользователей

в моем случае нужно было перенести старых пользователей.
для этого создаем на новом сервере пользователей с такими же логинами как и на старом сервере командой.

sudo useradd -d /home/misa -m misa sudo useradd -d /home/ivanpetrovich -m ivanpetrovich sudo useradd -d /home/lolos -m lolos

Теперь нужно перенести ХЭШ паролей с старого сервера на новый, хэши хранятся в файле /etc/shadow

nano /etc/shadow

копируем записи нужных пользователей из старого файла в новый. Это актуально если не известны все пароли пользователей на сервере.

Отступление (Пароли и пользователи)

Все данные о пользователях хранятся в файлах ( /etc/passwd, /etc/shadow или /etc/master.passwd)

Cгенери́ровать хэш из командной строки можно так:

echo root:123 | chpasswd -S -c SHA512 SHA512 root:$6$ioakXVaHexL$nD9wXc6lxdbljUV1.MTKr8Z8McW7gzqbDbRh9o15y1t FSg8ezUDhbeioXY9s3PCFMT4sWoIENVIMlcIvdr/l8.

Шифрование паролей в Ubuntu .* Без признаков – DES (практически давно не используется, неадекватно слаб по сегодняшним меркам);* _ – Модификация имплементации алгоритма DES, сделанная BSDi;* $1$ – MD5 (наиболее популярный, но имеет математические уязвимости);* $2$, $2a$ – Blowfish (используется преимущественно в OpenBSD, FreeBSD);* $5$ – SHA-256;

* $6$ – SHA-512

Установка Drweb анти спам+антивирус

Репозиторий для Debian защищен с помощью механизма цифровой подписи. Для корректной работы нужно импортировать лицензионный ключ командой

wget -O – http://officeshield.drweb.com/drweb/drweb.key | apt-key add –

или

curl http://officeshield.drweb.com/drweb/drweb.key | apt-key add –

Внимание! Для установки пакетов и импорта ключа необходимы права администратора (root)

Чтобы подключить репозиторий, добавьте следующую строку в файл /etc/apt/sources.list:

nano /etc/apt/sources.list deb http://officeshield.drweb.com/drweb/debian stable non-free

Обновите репозиторий командой

sudo apt-get update

Для установки Dr.Web для почтовых серверов UNIX выполните команду:

sudo apt-get install drweb-sendmail-av-as

Ключк DrWeb-а помещаем в папку /opt/drweb он должен иметь название drweb32.key.Основные конфиги:-/etc/drweb/plugin_vaderetro.conf (основной файл настроек антиспама)-/etc/drweb/drweb32.ini-/etc/drweb/maild_sendmail.conf

-/etc/drweb/plugin_drweb.conf

Настройка белого листа (доменов от куда почта не проверяется)редактируем файл/etc/drweb/plugin_vaderetro.conf

редактируем строку

WhiteList = /etc/drweb/w.txt

файл w.txt следующего содержания

*@gov.ru *@mail.ru *@web.adatum.ru

Работа с пользователями через WebMin

Заходим браузером на https://77.222.61.85:10000 вводим наш логин и пароль(который установили при установки Ubuntu).
открываем вкладку System -> Users and Groups.

Нажимаем Create a new user. Заполняем необходимые поля и нажимаем кнопку CREATE. Для редактирования пользователя возвращаемся в System -> Users and Groups. В открывшемся окне можно сменить пароль, прочитать почту либо удалить пользователя.

Для настройки почтовой системы

‘cd /opt/drweb/maild/scripts/ && ./configure_mta.sh’

Для настройки Dr.Web MailD
‘cd /opt/drweb/maild/scripts/ && ./configure.pl’

Источник: http://adatum.ru/ustanovka-sendmail-dovecot-drweb-na-ubuntu.html

настройка sendmail ubuntu apache

Установка sendmail ubuntu

При отправке сообщения через форму обратной связи появляется ошибка с текстом «Произошла ошибка при попытке отправить почту. Could not instantiate mail function.» Возникать она может при отсутствии на хостинге агента sendmail или модуля php-mail.

На нормальных хостинговых площадках отправка почты через sendmail настроена по умолчанию, поэтому стоит поискать причины появления этой ошибки в настройках CMS или коде сайта. В моем случае веб-сервер настраивался мной и причина оказалась в отсутствии вышеуказанного агента и модуля. Вот как они устанавливаются в Ububntu:

1. Устанавливаем модуль php-mail если он еще не стоит:

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

3. Если все в порядке, правим «php.ini»

Находим закомментированую строку «;sendmail_path = » (поиск в nano ctrl+w). Заменяем на строку следующего содержания:

5. Проверить работоспособность sendmail можно двумя командами:

В течении минуты на указанный электронный адрес должно прийти письмо. Если этого не произошло, то следует посмотреть логи отправки в каталоге «/var/log/syslog». Если в логах появилось сообщение: «Connected time out», значит или firewall не пропускает пакеты через порт 25, или ионтернет-провайдер. Проверить это можно командой telnet:

Если результатом работы команды стало так же «Connected time out», то разбирайтесь, где блокируется порт 25.

источник

Установка и настройка Sendmail в среде Ubuntu

Программа Sendmail известна как достаточно старый почтовый агент. Она появилась ещё в 1983 году, но активно используется и по сей день. Среди ключевых особенностей — поддержка многими платформами, которые существуют сегодня, а также бесплатность.

Приложение поставляется вместе с открытым исходным кодом. Это значит, что каждый желающий может добавить в него свою функциональность, или же изменить по желанию.

В операционной системе Ubuntu, Sendmail, настройка которой выполняется благодаря командной строке Linux, прижилась благодаря хорошей поддержке и богатым возможностям.

Процессор сообщение – Sendmail – получил широкое распространение в бизнес сфере.

На сегодня достаточно распространён «процессор сообщений» Сендмейл Sentrion, который был создан с учётом нужд крупных компаний.

Его отличительные черты — высокая производительность и хорошая интегрируемость со всеми бизнес-процессами.

Sentrion предлагает наряду с новыми технологиями использовать и устаревшие приложения, которые хорошо прижились. Также приложение достаточно дружелюбно, чтобы подходить домашним пользователям.

Установка программы

Устанавливать Сендмейл нужно на базе локального сервера или web-сервера. Во втором случае почтовый агент будет более функционален. Чтобы получить все компоненты веб-сервера, вам потребуется стек компонентов LAMP. Его можно найти в репозитории.

Инсталляция Сендмейл начинается с помощью команды «sudo apt install sendmail», которая выполнит загрузку пакетов почтового агента.

Дальше нужно провести настройку файлов Host и самой программы Sendmail. Сделать это можно с помощью:

После этого требуется перезапустить службы самой программы, а также web-сервера Apache:

«sudo /etc/init.d/sendmail restart»
«sudo /etc/init.d/apache2 restart»

Если необходимо, можно установить утилиты для работы с почтой:

Проверяем тестирование работоспособности всей системы:

источник

Базовая установка и настройка Sendmail на Ubuntu Server

Вряд ли вам нужен web-сервер, который не может отправить почту с вашего сайта. Ниже простой способ быстро развернуть sendmail в качестве MTA ( Mail Transfer Agent ), отправляющего почту для сайта.

Для начала установка

Второе и самое главное — правильная настройка самого хоста. Почтовику требуется чётко знать какое DNS FQDN имя у хоста и что оно существует на просторах мировой сети.

Предположим, что сервер, на котором работает sendmail имеет IP адрес 123.123.123.123

Также у нас есть доменное имя domainame.com, которое правильно делегировано на IP адрес сервера.

Редактируем файл /etc/hosts, чтобы сервер сам знал своё DNS имя ( естественно, что оно должно быть правильным и реальным )

Вторая строка, которую стоит дописать и есть описание доменного имени сервера, его сопоставление с реальным IP адресом хоста и внутренним системным названием:

После чего нужно внести изменение в файл /etc/hostname

И вписать туда правильное имя сервера, которое было вписано в /etc/hosts в нашем примере — это your-web-server.

Содержимое файла /etc/hostname после редактирования :

После этих действий нужно перезагрузить сервер или выполнить:

Если всё правильно, система должна выдать одинаковые имена в обоих случаях: your-web-server

Источник: https://kslift.ru/nastroyka-sendmail-ubuntu-apache/

Лайфхаки
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: