Sendmail ubuntu настройка

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

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/

Базовая настройка 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

Установка 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 как внешнего почтового шлюза

Sendmail ubuntu настройка

Задача – сделать почтовый шлюз на базе sendmail, для отправки/приема почты в интернет и взаимодействие с внутренним почтовиком в локальной сети предприятия.Что дано: есть сервер под управлением *nix (у меня стоит freebsd 8.

1), с двумя сетевыми картами, на одной карте настроен внешний IP интернета, вторая сетевая смотрит во внутреннюю сеть предприятия. Во внутренней сети стоит еще один сервер под управлением microsoft exchange 2010, куда и должны доставляться в конечном итоге все письма.

Также на стороне провайдера уже прописаны прямые и обратные зоны для нашего домена и MX запись нашего почтового сервера.
По умолчанию каталогом с конфигами в sendmail является /etc/mail, а сами файлы конфигов следующие:

  • access – файл базы данных доступа sendmail
  • aliases – синонимы почтовых ящиков
  • local-host-names или sendmail.cw – список хостов, для которых sendmail принимает почту
  • mailer.conf – настройки почтовой программы
  • mailertable – куда перенаправлять почту (если требуется)
  • sendmail.mc – основной файл конфигурации sendmail, для обработки препроцессором m4, для получения файла sendmail.cf
  • sendmail.cf – основной файл конфигурации sendmail
  • relay-domains – перечень доменов который поддерживает наш почтовый шлюз
  • virtusertable – таблицы виртуальных пользователей и доменов

Файл access

В данный файл заносим ip нашего внутреннего почтового сервера microsoft exchange, разрешая ему соединяться с sendmail при отправке писем в интернет.

192.168.0.3 RELAY

Пересобираем файл access.db при любом изменении файла access. Файл access.db является бинарной базой данных и именно с ним работает sendmail.

#makemap hash /etc/mail/access < /etc/mail/access

Если у вас нет внутреннего почтовика, то в файл access заносим localhost

localhost RELAY

Файл aliases

Достаточно часто в unix данный файл находится по пути /etc/aliases, но тогда в /etc/mail/aliases должен находится его симлинк.
В конец файла дописываем строку

root: user

Вместо user заносим свой логин. Теперь вся системная почта, приходящая на пользователя root будет перенаправляться вам.
Пересобираем файл aliases.db командой

#newaliases

Файл local-host-names

Самый простой файл в конфигурации – заносим имя нашего почтового сервера и имена доменов для которых будем принимать почту. Каждый домен на новой строке

name.domain.ru domen.ru

Будьте внимательны, последняя строка этого фала должна быть пустой, т.к. она не читается конфигурацией sendmail (и как совет, примите к сведению, что последняя строка в конфигурационных файлах unix очень часто должна заканчиваться пустой строкой)
Для этого файла бинарная база данных не требуется

Файл mailer.conf

Если у вас дистрибутив linux, то данный файл вы не обнаружите в каталоге /etc/mail и по сути он вам не нужен. В системе FreeBSD в данном файле заносятся пути до программ, отвечающих за определенные действия по обработке почты.

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

Я файл не правил, оставил как было

sendmail /usr/libexec/sendmail/sendmail send-mail /usr/libexec/sendmail/sendmail mailq /usr/libexec/sendmail/sendmail newaliases /usr/libexec/sendmail/sendmail hoststat /usr/libexec/sendmail/sendmail purgestat /usr/libexec/sendmail/sendmail

Файл mailertable

Так как нам надо осуществлять маршрутизацию почты извне на локальный почтовый сервер, создаем таблицу маршрутизации. Здесь 192.168.0.3 почтовый сервер внутри локальной сети.

domen.ru relay:[192.168.0.3]

Пересобираем файл mailertable.db

#makemap hash /etc/mail/mailertable < /etc/mail/mailertable

Файл sendmail.mc

Вот и добрались до главного файла с помощью которого и формируется конфигурационный файл sendmail.cf с помощью препроцессора m4.

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

mc, можно создавать свои названия файлов конфигураций, но расширение файла должно быть .mc.

Файл конфигурации у меня получился такой.

divert(-1) divert(0) include(`/usr/share/sendmail/cf/m4/cf.m4') OSTYPE(freebsd) DOMAIN(generic) FEATURE(`nouucp',`reject') FEATURE(`always_add_domain') FEATURE(`allmasquerade') MASQUERADE_AS(`domen.ru') FEATURE(`masquerade_envelope') Dmdomen.ru FEATURE(access_db, `hash -o -T /etc/mail/access') FEATURE(blacklist_recipients) FEATURE(local_lmtp) FEATURE(mailertable, `hash -o /etc/mail/mailertable') FEATURE(virtusertable, `hash -o /etc/mail/virtusertable') FEATURE(use_cw_file) define(`confCW_FILE', `-o /etc/mail/local-host-names') define(`confTO_IDENT', `0') define(`conIND_OPTS', `WorkAroundBrokenAAAA') define(`confPRIVACY_FLAGS', `needmailhelo,authwarnings,noexpn,novrfy,noverb') FEATURE(`no_default_msa') DAEMON_OPTIONS(`Port=smtp, Name=MTA') DAEMON_OPTIONS(`Port=987, Name=MSA, M=E') MAILER(local)dnl MAILER(smtp)dnl

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

divert(-1) – очистить буфер макросов от данных, оставшихся от предыдущих запусков m4

divert(0) – обозначение начала макросов

include(`/usr/share/sendmail/cf/m4/cf.m4′) – подключаем макросы препроцессора m4. Обязательно проверьте путь до cf.m4.

OSTYPE(freebsd) – обозначаем тип операционной системы, если у вас linux, то так и пишем.

DOMAIN(generic) – указание имени файла в директории /usr/share/sendmail/cf/domain/ . В этом файле содержится набор параметров подходящих для вашего типа ОС. Также можно создать свой набор параметров и подключить их этим макросом. Я оставил generic по умолчанию и рекомендовал бы поступить также

Источник: http://ruunix.ru/1604-nastrojka-sendmail-kak-vneshnego-pochtovogo-shlyuza.html

Настройка 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

Самая полезная информация
Добавить комментарий

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