Ошибка в postfix — certificate verification failed

Thank you for reading this post, don't forget to subscribe!

Столк­нул­ся с неболь­шой ошиб­кой в логе postfix, кото­рая не вли­я­ет непо­сред­ствен­но на рабо­то­спо­соб­ность поч­то­вой систе­мы, но тем не менее, надо было ее испра­вить. Она свя­за­на с тем, что postfix не зна­ет обо всех акту­аль­ных CA сер­ти­фи­ка­тах и не все­гда может про­ве­рить валид­ность сер­ти­фи­ка­та при обще­нии с дру­ги­ми серверами.

Сама ошиб­ка выгля­дит сле­ду­ю­щим образом:

В прин­ци­пе, по тек­сту все понят­но и без пояс­не­ний. Postfix не может про­ве­рить изда­те­ля (issuer) сер­ти­фи­ка­та. Сер­вер очень ста­рый, обнов­ле­ний CA на нем дав­но не было и они уже не выхо­дят. Решил про­сто рука­ми обно­вить спи­сок CA сертификатов.

Для нача­ла про­ве­рим, задан ли вооб­ще в кон­фи­ге postfix пара­метр smtp_tls_CAfile. Для это­го про­сто открой­те файл main.cf и про­верь­те там. Если ниче­го нет, зна­чит сто­ит дефолт­ное зна­че­ние. Какое оно, мож­но про­ве­рить коман­дой postconf.

Если пара­метр не задан, то зада­дим его сами. Если же ука­зан какой-то кон­крет­ный файл, то надо рабо­тать с ним.

Сна­ча­ла про­сто кача­ем све­жий файл с CA сер­ти­фи­ка­та­ми. Я не знаю, где брать самый акту­аль­ный и пол­ный. Гугл почти вез­де меня при­вел к ссыл­ке https://curl.haxx.se/ca/cacert.pem. Отту­да и возь­мем. В систе­мах, где я обнов­лял файл, ста­рый нахо­дил­ся по адре­су /etc/pki/tls/certs/ca-bundle.crt, поэто­му сна­ча­ла сде­ла­ем его бэкап, а потом заме­ним новым.

или

Даль­ше ука­жем на этот файл в кон­фи­ге postfix — main.cf. Для это­го добав­ля­ем туда:

После это­го надо пере­за­пу­стить postfix. Я про­де­лал это на несколь­ких сер­ве­рах. Ошиб­ка исчез­ла, кро­ме одно­го доме­на — mx.yandex.ru. Для него по-преж­не­му не полу­ча­лось про­ве­рить под­лин­ность сертификата:

Я про­ве­рил файл ca-bundle.crt, там дей­стви­тель­но не было инфор­ма­ции об изда­те­ле Certum CA. Не при­ду­мал ниче­го луч­ше, кро­ме как доба­вить его туда вруч­ную. Для это­го ска­чал CA.pem с сай­та изда­те­ля — https://www.certum.pl/CA.pem и доба­вил его содер­жи­мое в самый конец ca-bundle.crt.

То есть про­сто даб­вил вот это в конец фай­ла ca-bundle.crt, по ана­ло­гии с осталь­ны­ми записями:

Подо­зре­ваю, что где-то есть более пол­ный файл с миро­вы­ми CA root.