質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
SASL

SASLは、コネクションベースのプロトコルにおける認証サポートの追加や、データセキュリティのためのフレームワーク。既存のライブラリ・仕組みを再利用することが可能で,ユーザーに対しチャレンジ・レスポンス認証といった安全な認証方式を提供できます。

Dovecot

Dovecotとは、POPやIMAPサーバーを提供するMDA(メール配送エージェント)の一つです。

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

Q&A

解決済

1回答

2240閲覧

CentOS7.9,postfix,dovecot,mysql(MariaDB),postfixadminの環境での送受信について。

Hal.

総合スコア4

SASL

SASLは、コネクションベースのプロトコルにおける認証サポートの追加や、データセキュリティのためのフレームワーク。既存のライブラリ・仕組みを再利用することが可能で,ユーザーに対しチャレンジ・レスポンス認証といった安全な認証方式を提供できます。

Dovecot

Dovecotとは、POPやIMAPサーバーを提供するMDA(メール配送エージェント)の一つです。

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

0グッド

0クリップ

投稿2021/02/04 09:26

編集2021/02/17 08:56

Hal.と申します。

以前別スレッド・・・

https://teratail.com/questions/317304

・・・では御世話になりました。

その後、いろいろ資料を参照し、により、何とかバーチャルドメイン環境でのメール受信が出来る段階まで来る事が出来ました。

当方のサーバは365d/24h外部公開となっており、複数の既存ユーザが外部からメール・メーリングリストの送受信を行っている事もあり、実験環境への切り替え、及び、元の環境への切り替えは設定ファイル群・・・

/etc/postfix/ /etc/dovecot/ /etc/sasl2/ /etc/mailman/

のフォルダバックアップ&リストア、及びパッケージ再起動

#systemctl restart saslauthd #systemctl restart mariadb #systemctl restart postfix #systemctl restart dovecot #systemctl restart mailman

・・・で、一時的に環境を切り替え、昼間で利用が少ない時に実験、夕刻ぐらいには元の環境に戻してリブートといったやり方で本件の動作確認を行っています。

また、CentOS7.9,postfix,dovecot,mysql(MariaDB),postfixadmin等linuxパッケージは全て固定IP1の単一サーバ(PC)上で動いています。

アクセス確認は同じローカルネット192.168.0.x内の別Windows10(x64)PC、及び、その上のメーラとしてSeamonkey(v2.53.6)を使って検証しています。

CentOS7.9サーバ上での各パッケージバージョンは以下の通りです。

# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) # cat /proc/version Linux version 3.10.0-1160.11.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Fri Dec 18 16:34:56 UTC 2020 # uname -r 3.10.0-1160.11.1.el7.x86_64 # php -v PHP 7.4.14 (cli) (built: Jan 5 2021 10:45:06) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.14, Copyright (c), by Zend Technologies # httpd -V Server version: Apache/2.4.6 (CentOS) Server built: Nov 16 2020 16:18:20 Server's Module Magic Number: 20120211:24 Server loaded: APR 1.4.8, APR-UTIL 1.5.2 Compiled using: APR 1.4.8, APR-UTIL 1.5.2 Architecture: 64-bit Server MPM: prefork (以下略) # postconf | grep mail_version mail_version = 2.10.1 milter_macro_v = $mail_name $mail_version # dovecot --version 2.2.36 (1f10bfa63) # mysql -V mysql Ver 15.1 Distrib 10.5.8-MariaDB, for Linux (x86_64) using readline 5.1 # /usr/lib/mailman/bin/version 使用中の Mailman バージョン: 2.1.15 postfixadminは2021/2/4時点での最新版3.3.5を利用しています。 Webアクセス・・・ https://www.example.com/postfixadmin/login.php https://www.example.com/postfixadmin/main.php ・・・に関しても特に問題ありません。 現時点ではmailmanとはまだ連係させていません。

現時点でpostfixadminでの登録(mysql=MariaDB)へは

<ドメイン登録>
メインドメイン「example.com」
サブ(バーチャルドメイン)「example.jp」

<メールアドレス登録>
メインドメイン「example.com」配下の「mainfoo@example.com
サブ(バーチャルドメイン)「example.jp」配下「subfoo@example.jp

を登録してあり、バーチャルドメイン環境のセッティングに切り替えた際には・・・

/home/vmail/(ドメイン名)/(ユーザ名)/{cur,new,tmp}

・・・のnewフォルダに受信メールが配送されることを確認しています。
また、これらスプールに配送されたメールはWindowsPCのメーラで受信出来ることも確認済みです。

<現在困っている事(質疑)>
受信に関しては問題な無いのですが、送信に関して、何故かPort587での送信が出来ません。
(Port25での送信は出来ています)。authentication failureになってしまいます。

バーチャルドメイン環境では無く、ローカル環境設定時には25,587共に送信出来ています。

ローカル環境ではPOP3受信時ユーザはunixpassword(PAM認証)でメールサーバログインを行ってますが、
送信時のSMTP-AUTHに関して、全ユーザ「単一のユーザ名とパスワード」での認証としてました。
(saslpasswd2で作成したsasldbを利用)

バーチャルドメイン環境でのメーラセッティングでは、先にご教示戴いたとおり、
ユーザ名は「mainfoo」では無く「mailfoo@example.com」とし、パスワードはpostfixadminで登録した物を利用。
送信サーバのSMTP-AUTHに関しても、「単一のユーザ名とパスワード」では無く、ユーザ名を「mailfoo@example.com」とし、パスワードはpostfixadminで登録した物を利用で行っています。
(この状態でport25に関しては送信出来ています)

ちなみに、サブドメイン「subfoo@example.jp」に関しても上記と同様の状況で、メーラでの受信は可能ですが、port587での送信がNGとなります。

どこでハマっているのか、力量・知見とも薄い「なんちゃって管理者」なので、問題解決へのご教示を戴きたくお願いいたします。

<現在の状況が解決されたら次に(予定質疑)・・別スレッドとすべき?>
mailmanとの連係をさせたいと思っており、こちらも実験しているのですが、各種postfixadmin&mailmanの参考事例ではメーリングリスト名が「hoge1-ml@list.example.com」とされており、当方ではこれを「hoge1-ml@example.com」としたい(多数有るメーリングリスト名を変更したくない)のです。
メーリングリストに関してはバーチャルドメイン側「example.jp」で稼動させる予定は無く、「hoge1-ml@example.com」「hoge2-ml@example.com」と、メインドメイン側でのみの稼動とさせたいです。
本日実験的にpostfixadminで新たなドメイン「list.example.com」を追加しようとしたところ、正しいドメインでは無いとはねられました。
(既に「example.com」がpostfixadminで登録されているからか、DNSに何らかの設定が必要なのか不明)

こちらに関してもご教示戴きたく、お願いいたします。

正直2ヶ月以上ハマっており、既に訳が解らなくなっておる次第です(泣)

尚、/etc/配下の各パッケージ設定ファイル、ログ等、codeで張ろうとしたら長すぎるとNG出しされた為、
現時点での質疑本文では挿入できてません。
本件の解決策などご教示戴く為に、必要なファイルをご指示戴ければアップローダリンク等で明示したいと思っています。

以上、何卒よろしくお願いいたします。

---2021/02/06/ PM16:56:2021/02/06 PM13:56~14:19の実験結果等

(「Writening - テキスト共有サービス」の場をお借りしてます) バーチャル環境切り替え前のpostconf -n結果、openssl s_client https://writening.net/page?uC5FVu ローカル環境・バーチャル環境での/etc/・・・の設定ファイル群 https://writening.net/page?8ABaYL /var/log/maillog (2021/02/06 PM13:56~14:19、アタック・fail2ban・monit等のログを省略した抜粋) https://writening.net/page?JsGQtQ /var/log/message (2021/02/06 PM13:56~14:19、アタック・fail2ban・monit等のログを省略した抜粋) https://writening.net/page?YriEvU /var/log/secure (2021/02/06 PM13:56~14:19、アタック・fail2ban・monit等のログを省略した抜粋) https://writening.net/page?QL4TMz /var/log/dovecot.log (2021/02/06 PM13:56~14:19、アタック・fail2ban・monit等のログを省略した抜粋) https://writening.net/page?kbbLLr

---2021/02/10/ PM18:30 追記します。
ローカルドメイン環境でSSL設定完了したバックアップ環境にバーチャルドメイン環境に必要な設定を追記する・・という手法は昨日実施して惨敗しました。
恐らく、何かの記述忘れ、あるいは、タイプミスなどが原因だと推察しますが、本件、postfix,dovecot,sasl2の設定ファイルを一気にいじらなければならず、どこか一箇所でもミスるとなんともならぬ沼に落ちることを学習しました。

その結果を踏まえ、本日は逆のパターン、バーチャルドメイン環境でのメール送受信が出来ている(postfixadmin,mysql,postfix,dovecotの連係が行えているが、SSL未設定)環境のバックアップ設定を戻し、そこにSSL関係の設定を追記(こちらの方が量的に少ないと私感)した所、バーチャルドメイン環境での送受信がSSLベースでも問題無く出来る事が確認出来ました。
本質疑タイトルはまずは送受信に関しての件ですので、これにて一旦Closeさせて頂きます。

ご教示戴き誠にありがとうございました。

以下、先の質疑・・・

https://teratail.com/questions/317304

・・・でご教示戴いたテスト結果です。
(「Writening - テキスト共有サービス」の場をお借りしてます)
https://writening.net/page?Daiuph

2021/02/17:
本件TaichiYanagiyaさまのコメントで完了Close済の為、完了とさせて頂きます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TaichiYanagiya

2021/02/05 14:55

障害対応の場合、ソフトウェアのバージョン、設定、ログのセットが必要になります。 今回は SMTP-Auth の問題ですので、まずは Postfix の設定(postconf -n コマンド実行結果)と、前回の回答で示した「SMTP-Auth 認証確認 (TLS)」(openssl s_client) を試みたときの /var/log/maillog を教えてください。
Hal.

2021/02/06 07:59

TaichiYanagiyaさま、早速のコメントありがとうございます。 各種環境・ログなど本文に追記いたしましたので、ご確認の程、よろしくお願いいたします。 (すみません、バーチャル環境でのpostconf -n等は取り忘れましたので、明日にでも再試して取得いたします)
TaichiYanagiya

2021/02/06 08:18

ログが多すぎます。 > 「SMTP-Auth 認証確認 (TLS)」(openssl s_client) を試みたときの /var/log/maillog を教えてください。 このログはどれでしょうか?
Hal.

2021/02/06 08:28

TaichiYanagiyaさま。 こちらになります。 https://writening.net/page?uC5FVu 但し、バーチャル環境は取り忘れたので、現ローカル環境での内容となってます。 (としても、TaichiYanagiyaさまが、先のスレッドで示したいただいた予測内容と異なっています)
TaichiYanagiya

2021/02/06 08:37

認証の前に TLS 接続に失敗していますね。TLS の設定もないですし。 一般的には 587 番ポートは TLS 必須で接続しますが、平文で使いたいということでしょうか?
Hal.

2021/02/06 09:17

TaichiYanagiyaさま。 >一般的には 587 番ポートは TLS 必須で接続しますが、平文で使いたいということでしょうか? すみません、過去のVine6サーバから引っ張ってきた設定をそのまま使っている為、ご指摘のように不足(穴?)が有るかと思います。「平文で使いたい」という理由や特段の思いはありません。 (設定変更すべきと考えてよろしいでしょうか?) ちなみに、postfix側のサブミッションport587をSTARTTLS or SSL/TLSに設定変更した場合、dovecotはともかく、postfixadmin側のencrypt問題?には影響ないでしょうか? https://github.com/postfixadmin/postfixadmin/issues/434
Hal.

2021/02/07 08:18

TaichiYanagiyaさま。 2/7、下記を参考にSSL/TSL対応(port465)に変更実験してみましたが、mainfoo@exsample.jpが送受信とも出来なくなりました(泣) 外部からのテストメールに対してもexample.comメールサーバがmainfooなんてユーザ知りませんと返したようで、本日の実験追試は失敗に終わりました。 https://blog.apar.jp/linux/3979/
Hal.

2021/02/08 08:20

TaichiYanagiyaさま。 バーチャルドメイン環境への切り替え前に、まずはローカル環境でSSL/TSL等への対応を行い、送受信共にSSL/TLS、STARTTLSでの正常動作まで何とかクリア出来ました。以下、ローカルドメイン時の「設定、ログのセット」結果です。 https://writening.net/page?5R8eYG 明日、こちらをベースにバーチャルドメイン環境への切り替えを行ってみます。
Hal.

2021/02/09 08:39

TaichiYanagiyaさま。 2/9PMにバーチャル環境への切り替えを試してみましたが、どこかでハマっているらしく、ローカルドメイン環境から抜け出せませんでした(何故にこんなに敷居が高いのか泣きたくなってます)。 telnet等でのテストでは"mainfoo"で作成したローカル環境用のBASE64文字列は通りますが、"mainfoo@example.com"で作成したバーチャル環境用文字列ではエラーとなってしまう状況となった為、例によって再度昨日セッティングした環境に戻しました。 ちなみに環境の切り替えは下記シェルスクリプトで/etc/配下にて「#sh mailchg.sh」をタイプして行っています。 /etc/mailchg.sh --- #!bin/bash systemctl restart saslauthd systemctl restart postfix systemctl restart dovecot systemctl status saslauthd systemctl status postfix systemctl status dovecot ---
Hal.

2021/02/10 09:40

TaichiYanagiyaさま。 2/10PMにバーチャル&SSLな環境への移行実験が成功いたしました。 本件、ご教示戴き誠にありがとうございました。 但し、まだ最後?の一山問題が残っておりますので、お手数かけて申し訳ないですが、ご教示戴ければ幸いです。 Qを立てた後に追記いたします。
Hal.

2021/02/10 09:42

あ、回答としての投稿が無かったのですね。 何か回答としてのアドバイス投稿を戴ければそれをベストアンサーとしてCloseしたいと思います。よろしくお願いいたします。
guest

回答1

0

自己解決

本件TaichiYanagiyaさまのコメントで完了Close済の為、完了とします。
ありがとうございました_(^_^)_

尚、続きとなるQは下記です。
https://teratail.com/questions/321731

投稿2021/02/17 08:57

Hal.

総合スコア4

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問