<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Аспро: ЛайтШоп [тема: [УРОК] Как настроить — Lets Encrypt и PMG]</title>
		<link>http://proxmox.su</link>
		<description>Новое в теме [УРОК] Как настроить — Lets Encrypt и PMG форума Proxmox Mail Gateway на сайте Аспро: ЛайтШоп [proxmox.su]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Tue, 16 Jun 2026 16:58:14 +0300</pubDate>
		<item>
			<title>[УРОК] Как настроить — Lets Encrypt и PMG</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum65/message346703/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg">[УРОК] Как настроить — Lets Encrypt и PMG</a></b> <i>Proxmox Mail Gateway</i> в форуме <a href="http://proxmox.su/forum/forum65/">Proxmox Mail Gateway</a>. <br />
			Здравствуйте, это подходит только для чистой установки Proxmox? Спрашиваю, потому что я занялся усилением безопасности сервера и установил fail2ban. Когда попытался поставить letsencrypt, он не дал этого сделать. Думаю, это связано с чем-то, что делается после установки. Буду признателен за любые советы. Роберт <br />
			<i>25.02.2021 18:33:00, rtlarose.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum65/message346703/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</link>
			<guid>http://proxmox.su/forum/messages/forum65/message346703/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</guid>
			<pubDate>Thu, 25 Feb 2021 18:33:00 +0300</pubDate>
			<category>Proxmox Mail Gateway</category>
		</item>
		<item>
			<title>[УРОК] Как настроить — Lets Encrypt и PMG</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum65/message346702/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg">[УРОК] Как настроить — Lets Encrypt и PMG</a></b> <i>Proxmox Mail Gateway</i> в форуме <a href="http://proxmox.su/forum/forum65/">Proxmox Mail Gateway</a>. <br />
			У меня есть обновлённый скрипт, который автоматически обновляет все узлы в кластере. Код:<br /><br />#!/bin/bash &nbsp;<br /># post-hook смотри renewalparams в /etc/letsencrypt/renewal/$(hostname -f).conf<br /><br /># заменяем почтовый сертификат &nbsp;<br />cat /etc/letsencrypt/live/$(hostname -f)/fullchain.pem /etc/letsencrypt/live/$(hostname -f)/privkey.pem &gt;/etc/pmg/pmg-tls.pem &nbsp;<br />chown root:root /etc/pmg/pmg-tls.pem &nbsp;<br />chmod 600 /etc/pmg/pmg-tls.pem<br /><br /># заменяем http-сертификат &nbsp;<br />cat /etc/letsencrypt/live/$(hostname -f)/fullchain.pem /etc/letsencrypt/live/$(hostname -f)/privkey.pem &gt;/etc/pmg/pmg-api.pem &nbsp;<br />chown root:www-data /etc/pmg/pmg-api.pem &nbsp;<br />chmod 640 /etc/pmg/pmg-api.pem<br /><br /># получаем старый HASH из конфигурации кластера &nbsp;<br />OLDHASH="$(grep "name $(hostname)$" /etc/pmg/cluster.conf -B4 | grep fingerprint | awk '{print $2}')"<br /><br /># получаем новый хеш сертификата из нового файла &nbsp;<br />NEWHASH="$(openssl x509 -in /etc/pmg/pmg-api.pem -noout -fingerprint -sha256 | cut -d'=' -f2)"<br /><br /># обновляем конфигурацию кластера только если хеш изменился &nbsp;<br />if [ "$OLDHASH" != "$NEWHASH" ]  <br />then &nbsp;<br /> &nbsp;echo -e "Хеш: \n${OLDHASH}\nбудет заменён на\n${NEWHASH}\n" &nbsp;<br /> &nbsp;sed -i.bak -e "s/$OLDHASH/$NEWHASH/g" /etc/pmg/cluster.conf &nbsp;<br />fi<br /><br /># получаем собственный IP-адрес &nbsp;<br />OWNIP="$(hostname -i)"<br /><br /># получаем все IP-адреса из кластера, кроме своего &nbsp;<br />OTHERS=$(grep $'\tip' /etc/pmg/cluster.conf | grep -v ${OWNIP} | awk '{print $2}')<br /><br /># перебираем $OTHERS, копируем cluster.conf и перезапускаем pmgproxy на том хосте, если копирование прошло успешно &nbsp;<br />for host in $OTHERS &nbsp;<br />do &nbsp;<br /> &nbsp;echo "Копируем обновлённый cluster.conf на ${host}." &nbsp;<br /> &nbsp;if scp /etc/pmg/cluster.conf user@${host}:/etc/pmg/cluster.conf 2&gt;&1 &gt;/dev/null &nbsp;<br /> &nbsp;then &nbsp;<br /> &nbsp; &nbsp;echo "Перезапускаем PMGproxy на ${host}" &nbsp;<br /> &nbsp; &nbsp;ssh user@${host} systemctl restart pmgproxy &nbsp;<br /> &nbsp;else &nbsp;<br /> &nbsp; &nbsp;echo "Что-то пошло не так при копировании"; &nbsp;<br /> &nbsp;fi &nbsp;<br />done<br /><br />systemctl restart pmgproxy <br />
			<i>24.02.2021 08:44:00, jaydouble.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum65/message346702/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</link>
			<guid>http://proxmox.su/forum/messages/forum65/message346702/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</guid>
			<pubDate>Wed, 24 Feb 2021 08:44:00 +0300</pubDate>
			<category>Proxmox Mail Gateway</category>
		</item>
		<item>
			<title>[УРОК] Как настроить — Lets Encrypt и PMG</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum65/message346701/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg">[УРОК] Как настроить — Lets Encrypt и PMG</a></b> <i>Proxmox Mail Gateway</i> в форуме <a href="http://proxmox.su/forum/forum65/">Proxmox Mail Gateway</a>. <br />
			Всё ещё ничего? <br />
			<i>24.02.2021 03:56:00, shabsta.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum65/message346701/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</link>
			<guid>http://proxmox.su/forum/messages/forum65/message346701/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</guid>
			<pubDate>Wed, 24 Feb 2021 03:56:00 +0300</pubDate>
			<category>Proxmox Mail Gateway</category>
		</item>
		<item>
			<title>[УРОК] Как настроить — Lets Encrypt и PMG</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum65/message346700/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg">[УРОК] Как настроить — Lets Encrypt и PMG</a></b> <i>Proxmox Mail Gateway</i> в форуме <a href="http://proxmox.su/forum/forum65/">Proxmox Mail Gateway</a>. <br />
			Всё работает отлично, спасибо! <br />
			<i>06.02.2021 12:23:00, altice5566.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum65/message346700/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</link>
			<guid>http://proxmox.su/forum/messages/forum65/message346700/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</guid>
			<pubDate>Sat, 06 Feb 2021 12:23:00 +0300</pubDate>
			<category>Proxmox Mail Gateway</category>
		</item>
		<item>
			<title>[УРОК] Как настроить — Lets Encrypt и PMG</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum65/message346699/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg">[УРОК] Как настроить — Lets Encrypt и PMG</a></b> <i>Proxmox Mail Gateway</i> в форуме <a href="http://proxmox.su/forum/forum65/">Proxmox Mail Gateway</a>. <br />
			Сработало отлично для меня, большое спасибо, работает! Огромное спасибо! <br />
			<i>05.02.2021 05:02:00, jdnva.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum65/message346699/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</link>
			<guid>http://proxmox.su/forum/messages/forum65/message346699/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</guid>
			<pubDate>Fri, 05 Feb 2021 05:02:00 +0300</pubDate>
			<category>Proxmox Mail Gateway</category>
		</item>
		<item>
			<title>[УРОК] Как настроить — Lets Encrypt и PMG</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum65/message346698/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg">[УРОК] Как настроить — Lets Encrypt и PMG</a></b> <i>Proxmox Mail Gateway</i> в форуме <a href="http://proxmox.su/forum/forum65/">Proxmox Mail Gateway</a>. <br />
			Первым шагом могла бы стать опция настройки, позволяющая контейнеру PMG получить доступ к хранилищу сертификатов PVE. <br />
			<i>30.08.2020 03:37:00, renne.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum65/message346698/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</link>
			<guid>http://proxmox.su/forum/messages/forum65/message346698/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</guid>
			<pubDate>Sun, 30 Aug 2020 03:37:00 +0300</pubDate>
			<category>Proxmox Mail Gateway</category>
		</item>
		<item>
			<title>[УРОК] Как настроить — Lets Encrypt и PMG</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum65/message346697/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg">[УРОК] Как настроить — Lets Encrypt и PMG</a></b> <i>Proxmox Mail Gateway</i> в форуме <a href="http://proxmox.su/forum/forum65/">Proxmox Mail Gateway</a>. <br />
			Это хорошо, спасибо. <br />
			<i>25.05.2020 18:06:00, jmjosebest.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum65/message346697/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</link>
			<guid>http://proxmox.su/forum/messages/forum65/message346697/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</guid>
			<pubDate>Mon, 25 May 2020 18:06:00 +0300</pubDate>
			<category>Proxmox Mail Gateway</category>
		</item>
		<item>
			<title>[УРОК] Как настроить — Lets Encrypt и PMG</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum65/message346696/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg">[УРОК] Как настроить — Lets Encrypt и PMG</a></b> <i>Proxmox Mail Gateway</i> в форуме <a href="http://proxmox.su/forum/forum65/">Proxmox Mail Gateway</a>. <br />
			Так как это ещё не реализовано — на самом деле мы планируем в будущем интегрировать решение, используемое в PVE, с PMG — но никаких гарантий, когда это произойдёт. <br />
			<i>25.05.2020 15:24:00, Stoiko Ivanov.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum65/message346696/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</link>
			<guid>http://proxmox.su/forum/messages/forum65/message346696/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</guid>
			<pubDate>Mon, 25 May 2020 15:24:00 +0300</pubDate>
			<category>Proxmox Mail Gateway</category>
		</item>
		<item>
			<title>[УРОК] Как настроить — Lets Encrypt и PMG</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum65/message346695/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg">[УРОК] Как настроить — Lets Encrypt и PMG</a></b> <i>Proxmox Mail Gateway</i> в форуме <a href="http://proxmox.su/forum/forum65/">Proxmox Mail Gateway</a>. <br />
			Почему это не интегрировано в графический интерфейс, как в PVE? <br />
			<i>25.05.2020 15:13:00, jmjosebest.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum65/message346695/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</link>
			<guid>http://proxmox.su/forum/messages/forum65/message346695/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</guid>
			<pubDate>Mon, 25 May 2020 15:13:00 +0300</pubDate>
			<category>Proxmox Mail Gateway</category>
		</item>
		<item>
			<title>[УРОК] Как настроить — Lets Encrypt и PMG</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum65/message346694/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg">[УРОК] Как настроить — Lets Encrypt и PMG</a></b> <i>Proxmox Mail Gateway</i> в форуме <a href="http://proxmox.su/forum/forum65/">Proxmox Mail Gateway</a>. <br />
			Протестировано и работает с последней версией 6.1. Спасибо! <br />
			<i>09.02.2020 12:54:00, picateclas.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum65/message346694/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</link>
			<guid>http://proxmox.su/forum/messages/forum65/message346694/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</guid>
			<pubDate>Sun, 09 Feb 2020 12:54:00 +0300</pubDate>
			<category>Proxmox Mail Gateway</category>
		</item>
		<item>
			<title>[УРОК] Как настроить — Lets Encrypt и PMG</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum65/message346693/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg">[УРОК] Как настроить — Lets Encrypt и PMG</a></b> <i>Proxmox Mail Gateway</i> в форуме <a href="http://proxmox.su/forum/forum65/">Proxmox Mail Gateway</a>. <br />
			Вот у меня есть рабочее решение для двух шлюзов, которые постоянно обновляют друг друга при выпуске нового сертификата: bash-скрипт: &nbsp;<br />Код: &nbsp;<br />#!/bin/bash &nbsp;<br /># post-hook, см. renewalparams в /etc/letsencrypt/renewal/$(hostname -f).conf &nbsp;<br /># <noindex><a href="https://forum.proxmox.com/threads/how-to-lets-encrypt-and-pmg.41493/" target="_blank" rel="nofollow" >https://forum.proxmox.com/threads/how-to-lets-encrypt-and-pmg.41493/</a></noindex> &nbsp;<br /><br /># заменяем почтовый сертификат &nbsp;<br />cat /etc/letsencrypt/live/$(hostname -f)/fullchain.pem /etc/letsencrypt/live/$(hostname -f)/privkey.pem &gt;/etc/pmg/pmg-tls.pem &nbsp;<br />chown root:root /etc/pmg/pmg-tls.pem &nbsp;<br />chmod 600 /etc/pmg/pmg-tls.pem &nbsp;<br /><br /># заменяем HTTP-сертификат &nbsp;<br />cat /etc/letsencrypt/live/$(hostname -f)/fullchain.pem /etc/letsencrypt/live/$(hostname -f)/privkey.pem &gt;/etc/pmg/pmg-api.pem &nbsp;<br />chown root:www-data /etc/pmg/pmg-api.pem &nbsp;<br />chmod 640 /etc/pmg/pmg-api.pem &nbsp;<br /><br />cp /etc/pmg/cluster.conf /etc/pmg/cluster.conf.bkp &nbsp;<br />HASH="$(openssl x509 -in /etc/pmg/pmg-api.pem -noout -fingerprint -sha256 | cut -d'=' -f2)" &nbsp;<br /><br />if [[ $HOSTNAME == mta01 ]]; then  <br /> &nbsp;awk -v HASH=" &nbsp; &nbsp; &nbsp; &nbsp;fingerprint $HASH" '{ if (NR == 2) {print HASH} else {print $0}}' /etc/pmg/cluster.conf.bkp &gt; /etc/pmg/cluster.conf &nbsp;<br /> &nbsp;scp /etc/pmg/cluster.conf user@mta02:/etc/pmg/cluster.conf &nbsp;<br /> &nbsp;ssh user@mta02 'systemctl restart pmgproxy' &nbsp;<br />else &nbsp;<br /> &nbsp;awk -v HASH=" &nbsp; &nbsp; &nbsp; &nbsp;fingerprint $HASH" '{ if (NR == 10) {print HASH} else {print $0}}' /etc/pmg/cluster.conf.bkp &gt; /etc/pmg/cluster.conf &nbsp;<br /> &nbsp;scp /etc/pmg/cluster.conf user@mta01:/etc/pmg/cluster.conf &nbsp;<br /> &nbsp;ssh user@mta01 'systemctl restart pmgproxy' &nbsp;<br />fi &nbsp;<br /><br />systemctl restart pmgproxy &nbsp;<br /><br />А дальше нужно запустить certbot: &nbsp;<br />Код: &nbsp;<br />certbot certonly --authenticator standalone --preferred-challenges http --post-hook "/path/to/certbot-post-hook.sh" -d $(hostname -f) <br />
			<i>10.04.2019 13:08:00, Robert H..</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum65/message346693/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</link>
			<guid>http://proxmox.su/forum/messages/forum65/message346693/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</guid>
			<pubDate>Wed, 10 Apr 2019 13:08:00 +0300</pubDate>
			<category>Proxmox Mail Gateway</category>
		</item>
		<item>
			<title>[УРОК] Как настроить — Lets Encrypt и PMG</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum65/message346692/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg">[УРОК] Как настроить — Lets Encrypt и PMG</a></b> <i>Proxmox Mail Gateway</i> в форуме <a href="http://proxmox.su/forum/forum65/">Proxmox Mail Gateway</a>. <br />
			Спасибо за это! Вот что я использую, чтобы подставить новый хеш из сертификата для каждого сервера:<br /><br />Код: &nbsp;<br />#!/bin/bash &nbsp;<br />HASH="$(openssl x509 -in /etc/pmg/pmg-api.pem -noout -fingerprint -sha256 | cut -d'=' -f2)" &nbsp;<br />sed -i "0,/fingerprint/{s/.*fingerprint.*/ &nbsp; &nbsp; &nbsp; &nbsp;fingerprint ${HASH}/}" /etc/pmg/cluster.conf &nbsp;<br /><br />Это работает и на нодах, просто подкорректируйте "0", чтобы найти нужный fingerprint для вашей ноды. <br />
			<i>08.03.2019 17:41:00, Jarkko.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum65/message346692/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</link>
			<guid>http://proxmox.su/forum/messages/forum65/message346692/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</guid>
			<pubDate>Fri, 08 Mar 2019 17:41:00 +0300</pubDate>
			<category>Proxmox Mail Gateway</category>
		</item>
		<item>
			<title>[УРОК] Как настроить — Lets Encrypt и PMG</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum65/message346691/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg">[УРОК] Как настроить — Lets Encrypt и PMG</a></b> <i>Proxmox Mail Gateway</i> в форуме <a href="http://proxmox.su/forum/forum65/">Proxmox Mail Gateway</a>. <br />
			Спасибо за ваш гайд! Я бы добавил кое-что для кластера и мультидомена. Из коробки это не работает, но, возможно, кому-то поможет. У меня два домена с двумя разными провайдерами DNS. Для MX-записей и самих хостнеймов у меня есть несколько доменов, поэтому нужен мультидоменный сертификат. Если сертификат меняется, функции кластера ломаются из-за смены отпечатка. Значит: 1. Нужно обновлять DNS-записи во время генерации сертификатов. 2. Нужно обновлять отпечатки в конфиге кластера. Я нашёл пару советов в интернете (GitHub, AnalogJ, lexicon (не могу вставить URL, извиняюсь)) и добавил свой код. Можно улучшить! Моё решение (подгоняйте под свои нужды!):<br /><br />Код: &nbsp;<br />certbot certonly --manual --preferred-challenges dns --manual-auth-hook "/etc/letsencrypt/certbot.default.sh auth" --manual-cleanup-hook "/etc/letsencrypt/certbot.default.sh cleanup" --post-hook="/etc/letsencrypt/certbot-post-hook.sh" -d host1 -d host2 -d mx1 -d mx2<br /><br />/etc/letsencrypt/certbot.default.sh &nbsp;<br />Код: &nbsp;<br />#!/usr/bin/env bash &nbsp;<br /># &nbsp;<br /><br />set -euf -o pipefail<br /><br />PROVIDER1="abc" &nbsp;<br />PROVIDER1_CREDENTIALS=("XXX") &nbsp;<br />PROVIDER2="def" &nbsp;<br />PROVIDER2_CREDENTIALS=("XXX") &nbsp;<br />PROVIDER_UPDATE_DELAY=30<br /><br /># Для вызова через --manual-auth-hook certbot &nbsp;<br />function auth { &nbsp;<br /> &nbsp; &nbsp;if [[ "${CERTBOT_DOMAIN}" == *"domain1"* ]]; then  <br /> &nbsp; &nbsp; &nbsp; &nbsp;lexicon "${PROVIDER1}" "${PROVIDER1_CREDENTIALS[@]}" \  <br /> &nbsp; &nbsp; &nbsp; &nbsp;create "${CERTBOT_DOMAIN}" TXT --name "_acme-challenge.${CERTBOT_DOMAIN}" --content "${CERTBOT_VALIDATION}" &nbsp;<br /> &nbsp; &nbsp;else &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;lexicon "${PROVIDER2}" "${PROVIDER2_CREDENTIALS[@]}" \  <br /> &nbsp; &nbsp; &nbsp; &nbsp;create "${CERTBOT_DOMAIN}" TXT --name "_acme-challenge.${CERTBOT_DOMAIN}" --content "${CERTBOT_VALIDATION}" &nbsp;<br /> &nbsp; &nbsp;fi<br /><br /> &nbsp; &nbsp;sleep "${PROVIDER_UPDATE_DELAY}" &nbsp;<br />}<br /><br /># Для вызова через --manual-cleanup-hook certbot &nbsp;<br />function cleanup { &nbsp;<br /> &nbsp; &nbsp;if [[ "${CERTBOT_DOMAIN}" == *"domain1"* ]]; then  <br /> &nbsp; &nbsp; &nbsp; &nbsp;lexicon "${PROVIDER1}" "${PROVIDER1_CREDENTIALS[@]}" \  <br /> &nbsp; &nbsp; &nbsp; &nbsp;delete "${CERTBOT_DOMAIN}" TXT --name "_acme-challenge.${CERTBOT_DOMAIN}" --content "${CERTBOT_VALIDATION}" &nbsp;<br /> &nbsp; &nbsp;else &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;lexicon "${PROVIDER2}" "${PROVIDER2_CREDENTIALS[@]}" \  <br /> &nbsp; &nbsp; &nbsp; &nbsp;delete "${CERTBOT_DOMAIN}" TXT --name "_acme-challenge.${CERTBOT_DOMAIN}" --content "${CERTBOT_VALIDATION}" &nbsp;<br /> &nbsp; &nbsp;fi &nbsp;<br />}<br /><br />HANDLER=$1; shift; &nbsp;<br />if [ -n "$(type -t $HANDLER)" ] && [ "$(type -t $HANDLER)" = function ]; then  <br /> &nbsp;$HANDLER "$@" &nbsp;<br />fi<br /><br />/etc/letsencrypt/certbot-post-hook.sh &nbsp;<br />Код: &nbsp;<br />#!/bin/bash<br /><br /># заменить почтовый сертификат &nbsp;<br />cat /etc/letsencrypt/live/host1/fullchain.pem /etc/letsencrypt/live/host1/privkey.pem &gt;/etc/pmg/pmg-tls.pem &nbsp;<br />chown root:root /etc/pmg/pmg-tls.pem &nbsp;<br />chmod 600 /etc/pmg/pmg-tls.pem &nbsp;<br />scp /etc/pmg/pmg-tls.pem host2:/etc/pmg/pmg-tls.pem<br /><br /># заменить HTTP-сертификат &nbsp;<br />cat /etc/letsencrypt/live/host1/fullchain.pem /etc/letsencrypt/live/host1/privkey.pem &gt;/etc/pmg/pmg-api.pem &nbsp;<br />chown root:www-data /etc/pmg/pmg-api.pem &nbsp;<br />chmod 640 /etc/pmg/pmg-api.pem &nbsp;<br />scp /etc/pmg/pmg-api.pem host2:/etc/pmg/pmg-api.pem<br /><br /># сгенерировать хеш сертификата и поделиться с нодами кластера &nbsp;<br />HASH="$(openssl x509 -in /etc/pmg/pmg-api.pem -noout -fingerprint -sha256 | cut -d'=' -f2)" &nbsp;<br />cp /etc/pmg/cluster.conf /etc/pmg/cluster.conf.bkp &nbsp;<br />sed "s/.*fingerprint.*/ &nbsp; &nbsp; &nbsp; &nbsp;fingerprint $HASH/" /etc/pmg/cluster.conf.bkp &gt; /etc/pmg/cluster.conf &nbsp;<br />scp /etc/pmg/cluster.conf host2:/etc/pmg/cluster.conf<br /><br /># перезапустить сервисы &nbsp;<br />systemctl restart pmgproxy &nbsp;<br />ssh root@host2 'systemctl restart pmgproxy'<br /><br />Позже добавлю обновление TLSA-записей для DANE. Генерация записей возможна командой:<br /><br />Код: &nbsp;<br />tlsa --create --selector 1 --port 25 --certificate /etc/letsencrypt/live/host1/cert.pem host1 &nbsp;<br />... host2 &nbsp;<br />... mx1 &nbsp;<br />... mx2<br /><br />Остаётся только немного поработать с строками и командами lexicon. <br />
			<i>27.04.2018 21:52:00, BJ78945.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum65/message346691/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</link>
			<guid>http://proxmox.su/forum/messages/forum65/message346691/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</guid>
			<pubDate>Fri, 27 Apr 2018 21:52:00 +0300</pubDate>
			<category>Proxmox Mail Gateway</category>
		</item>
		<item>
			<title>[УРОК] Как настроить — Lets Encrypt и PMG</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum65/message346690/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg">[УРОК] Как настроить — Lets Encrypt и PMG</a></b> <i>Proxmox Mail Gateway</i> в форуме <a href="http://proxmox.su/forum/forum65/">Proxmox Mail Gateway</a>. <br />
			Создать сервис (включая таймер) — это просто. В любом случае нужно настроить адекватный мониторинг. Следить за какой-то графической записью о периодическом запуске сервиса, который работает время от времени, для меня особого смысла не имеет. <br />
			<i>23.03.2018 08:56:00, DerDanilo.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum65/message346690/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</link>
			<guid>http://proxmox.su/forum/messages/forum65/message346690/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</guid>
			<pubDate>Fri, 23 Mar 2018 08:56:00 +0300</pubDate>
			<category>Proxmox Mail Gateway</category>
		</item>
		<item>
			<title>[УРОК] Как настроить — Lets Encrypt и PMG</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum65/message346689/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg">[УРОК] Как настроить — Lets Encrypt и PMG</a></b> <i>Proxmox Mail Gateway</i> в форуме <a href="http://proxmox.su/forum/forum65/">Proxmox Mail Gateway</a>. <br />
			Let's Encrypt — это бесплатный, автоматизированный и открытый центр сертификации. Этот CA выдает стандартные сертификаты для проверки домена. Сертификаты можно использовать для веб-серверов, почтовых серверов, FTP-серверов и многих других целей. Шифрование электронной почты и подпись кода требуют другого типа сертификатов, которые Let's Encrypt не выдает.<br /><br />Ниже несколько ссылок, которые стоит прочитать: &nbsp;<br />Документация тут: <noindex><a href="https://letsencrypt.org/docs/" target="_blank" rel="nofollow" >https://letsencrypt.org/docs/</a></noindex> &nbsp;<br />Важно: что нужно знать о проблемах проверки TLS-SNI <noindex><a href="https://community.letsencrypt.org/t...to-know-about-tls-sni-validation-issues/50811" target="_blank" rel="nofollow" >https://community.letsencrypt.org/t...to-know-about-tls-sni-validation-issues/50811</a></noindex> &nbsp;<br />Про Let's Encrypt и записи DNS CAA читайте здесь: <noindex><a href="https://letsencrypt.org/docs/caa/" target="_blank" rel="nofollow" >https://letsencrypt.org/docs/caa/</a></noindex> &nbsp;<br /><br />Если вас не интересует CAA, ничего делать не надо, но если возникнут ошибки — смотрите раздел про ошибки CAA в документе выше. &nbsp;<br />Если хотите использовать записи CAA, воспользуйтесь генератором CAA: <noindex><a href="https://sslmate.com/caa/" target="_blank" rel="nofollow" >https://sslmate.com/caa/</a></noindex><br /><br />Proxmox Mail Gateway использует ключи и сертификаты для установления защищенных соединений. Приложение использует ключи и сертификаты, хранящиеся здесь: &nbsp;<br />/etc/pmg/pmg-api.pem — ключ и сертификат (вместе) для HTTPS-сервера (API) &nbsp;<br />/etc/pmg/pmg-tls.pem — ключ и сертификат (вместе) для шифрования почтового трафика (TLS)<br /><br />Учтите, что само приложение может перезаписывать некоторые файлы ключей и сертификатов, например, если вы отключаете и включаете TLS в настройках почтового прокси.<br /><br />Для замены TLS-сертификатов мы запрашиваем их у CA Let's Encrypt с помощью приложения certbot.<br /><br />Требования: &nbsp;<br />- Открыт входящий HTTP-трафик (порт 80). &nbsp;<br />- Корректно настроено имя хоста. &nbsp;<br />- В конфигурации PMG Mail Proxy включены TLS и логирование TLS.<br /><br />Установка &nbsp;<br />Рекомендуется использовать certbot из репозитория stretch-backports. Для этого добавьте репозиторий в /etc/apt/sources.list: &nbsp;<br /># vi /etc/apt/sources.list &nbsp;<br />Добавьте строку: &nbsp;<br />deb <noindex><a href="http://ftp.debian.org/debian" target="_blank" rel="nofollow" >http://ftp.debian.org/debian</a></noindex> stretch-backports main &nbsp;<br /><br />После сохранения выполните: &nbsp;<br /># apt-get update &nbsp;<br /><br />Чтобы установить certbot, выполните: &nbsp;<br /># apt-get install certbot -t stretch-backports &nbsp;<br /><br />Перед запросом сертификата создайте скрипт post-hook в каталоге /root: &nbsp;<br /># cd /root &nbsp;<br /># vi certbot-post-hook.sh<br /><br />Код скрипта: &nbsp;<br />#!/bin/bash &nbsp;<br /># post-hook, смотрите renewalparams в /etc/letsencrypt/renewal/$(hostname -f).conf &nbsp;<br /><br /># замена почтового сертификата &nbsp;<br />cat /etc/letsencrypt/live/$(hostname -f)/fullchain.pem /etc/letsencrypt/live/$(hostname -f)/privkey.pem &gt;/etc/pmg/pmg-tls.pem &nbsp;<br />chown root:root /etc/pmg/pmg-tls.pem &nbsp;<br />chmod 600 /etc/pmg/pmg-tls.pem &nbsp;<br /><br /># замена http сертификата &nbsp;<br />cat /etc/letsencrypt/live/$(hostname -f)/fullchain.pem /etc/letsencrypt/live/$(hostname -f)/privkey.pem &gt;/etc/pmg/pmg-api.pem &nbsp;<br />chown root:www-data /etc/pmg/pmg-api.pem &nbsp;<br />chmod 640 /etc/pmg/pmg-api.pem &nbsp;<br /><br />systemctl restart pmgproxy &nbsp;<br /><br />Дайте скрипту права на выполнение: &nbsp;<br /># chmod 700 certbot-post-hook.sh &nbsp;<br /><br />Теперь можно запросить сертификат: &nbsp;<br /># certbot certonly --authenticator standalone --preferred-challenges http --post-hook "/root/certbot-post-hook.sh" -d $(hostname -f) &nbsp;<br /><br />Введите ваш email, согласитесь с условиями использования и ответьте, хотите ли вы делиться своим email. &nbsp;<br /><br />Поздравляем, вы запросили и установили (через post-hook) сертификат Let's Encrypt. &nbsp;<br /><br />Автоматическое обновление &nbsp;<br />Пакет Debian поставляется с cron-заданием и таймером systemd. cron-задание не будет запускать renew, если обнаружит systemd (/run/systemd/system). Всё происходит через certbot.timer. &nbsp;<br /><br />Чтобы обновление проходило автоматически, убедитесь, что certbot.timer включен и запущен. Параметры Post-Hook и Preferred Challenges сохраняются в /etc/letsencrypt/renewal/$(hostname -f).conf во время запроса сертификата. &nbsp;<br /><br />Проверить статус: &nbsp;<br /># systemctl status certbot.timer &nbsp;<br /><br />Статус должен быть enabled/active (waiting). &nbsp;<br /><br />Проверьте свой сертификат в браузере и наблюдайте за выводом TLS в /var/log/mail.log. &nbsp;<br /><br />Проверить шифрование TLS вашего почтового сервера можно здесь: <noindex><a href="https://ssl-tools.net/mailservers" target="_blank" rel="nofollow" >https://ssl-tools.net/mailservers</a></noindex> <br />
			<i>17.02.2018 10:38:00, ChFin.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum65/message346689/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</link>
			<guid>http://proxmox.su/forum/messages/forum65/message346689/80330-urok_-kak-nastroit-_-lets-encrypt-i-pmg</guid>
			<pubDate>Sat, 17 Feb 2018 10:38:00 +0300</pubDate>
			<category>Proxmox Mail Gateway</category>
		</item>
	</channel>
</rss>
