SELinuxはAmavisから自分への接続をブロックしています。入ったり出たりできませんか?

SELinuxはAmavisから自分への接続をブロックしています。入ったり出たりできませんか?

ここで新しいCentOS8インストールを実行すると、MTAはAmavisに接続されたPostfixです。私はAmavisが(内部)DKIMによって署名された後、ORIGINATING(ポート587 / Postfixから10026 / Amavisを介して着信コミット)のメッセージをAmavis(ポート10024)に挿入したいと思います。ただし、ポート10024は25 / Postfixからの着信smtp接続をリッスンするためにすでに割り当てられているため、SELinux構成ではそれを送信ポートとして追加することはできません。

メッセージフロー:

  • 25/smtp -> サフィックス -> smtp-amavis/10024
  • 10024 - >アマビス:スキャン - > 10025
  • 10025 ->サフィックス ->配信
  • 587/提出->Postfix->smtp-amavis/10026
  • 10026 - > Amavis Origin:スキャンとDKIMの署名 - > smtp-amavis / 10024

私が経験している問題は、SELinuxが最後のストリームからのメッセージをポート10024のsmtp-amavis(AmavisからAmavisへ)に戻すことを許可しないことです。これはすでに受信用に割り当てられているためです。

[root@services amavisd]# semanage port -l | grep 1002
amavisd_recv_port_t            tcp      10026, 10024
amavisd_send_port_t            tcp      10027, 10025
spamd_port_t                   tcp      783, 10026, 10027

興味深いことに、SELinux は、amavisd_recv_port_t と amavisd_send_port_t にそれぞれ追加したときに spamd にポート 10026、10027 が割り当てられることについて不満はありませんでした。

[root@services amavisd]# semanage port -lC
SELinux Port Type              Proto    Port Number
amavisd_recv_port_t            tcp      10026
amavisd_send_port_t            tcp      10027

この問題をどのように解決できますか? SELinuxでは、10024を送信ポートとして追加することも許可されていないためです。

[root@services amavisd]# semanage port -a -t amavisd_send_port_t -p tcp 10024
ValueError: Port tcp/10024 already defined

あるいは、私が完全に間違った道を行っているのかもしれません。そして、送信されたメッセージはポート10024を介してAmavisにフィードバックしないでください(SELinuxの問題ではなくAmavisの問題になります)。初期 Amavis 構成の場合、送信されたメッセージを OpenDKIM による (外部) DKIM 署名のために、次のようにポート 10027 に転送します。

# forward to a smtpd service providing DKIM signing service
#forward_method => 'smtp:[127.0.0.1]:10027',
forward_method => 'smtp:[127.0.0.1]:10024',

したがって、最後のプロセスは次のようになります。

  • 10026 -> Amavisスタート:スキャン - > OpenDKIM @ 10027:署名 - >転送

しかし、OpenDKIMはまだCentOS8では利用できません(以前はEPELリポジトリを介して利用可能)、Amavisは私が使用したい内部DKIM署名サービスをサポートしています。

だから私は2つの方法があると思います。

  • コミットストリームからデフォルトのsmtpストリームにDKIM署名メッセージを再度提供できるようにSELinuxを設定します(このやや循環的な設定が機能すると仮定)。
  • 元のAmavis設定を維持します。つまり、発信 (コミットなど) メッセージを転送するには、ポート 10027 の後にサービスが必要であることを意味します。

どの道に行くべきで、何をすべきですか?

ベストアンサー1

私は最も明確な解決策を見つけました(間違ったオンラインレシピに従って):Amavis ORIGINATINGフローをポート10025に戻してPostfixに渡すようにします(したがってAmavisによって別々に処理された後、25 / smtpと587 /送信フロー収束します)。これはまた、Amavisからのメッセージがもはや自己フィードバックされる必要がないため、SELinuxの問題を回避します。

これで、スキーム全体は次のようになります。

  • 25/smtp -> サフィックス -> smtp-amavis/10024
  • 10024 - >アマビス:スキャン - > 10025
  • 10025 ->サフィックス ->配信
  • 587/提出->Postfix->smtp-amavis/10026
  • 10026 - > Amavis Origin:スキャンとDKIM署名 - > 10025

おすすめ記事