ホーム » 「postfix」タグがついた投稿

タグアーカイブ: postfix

サーバ⚙

最近の投稿

アーカイブ

カテゴリー

逆引きできないホストからのメール拒否

自宅サーバのメールに、よくできた偽装メールが届く。

国別IPアドレスで接続制限しているから、それなりに拒否しているはずだが、今回の JCB を語った偽装メールは、From: が *.cn で、ホスト名は逆引きできない、国ドメインではアメリカの IP アドレスだった。

どちらにしろ、我が家に *.cn からのメールが届く段階でヤバい。

ということで、逆引きできないホストからの接続自体怪しいので、smtpd_client_restriction に、reject_unknown_client を加える。

さらに smtpd_sender_restrictions を追加。

# SMTP接続相手がRBL登録されていれば受け取らない
smtpd_client_restrictions = permit_mynetworks,
                reject_rbl_client bl.spamcop.net,
                reject_rbl_client all.rbl.jp,
                reject_unknown_client,
                permit

# 送信者が怪しいものは拒否
smtpd_sender_restrictions = permit_mynetworks,
                reject_non_fqdn_sender,
                reject_invalid_hostname,
                reject_unknown_sender_domain

dovecot が動かない Let’s Encrypt 証明書問題

数日前から、iphoneで自宅サーバのメールを見ると証明書が有効期限切れとのエラーが表示される。パソコンから Thunderbird で見るのには影響がないようだ。設定を色々と確認しても改善しない。

/var/log/mail.log を見ると、”SSL issue: alert number 46″ などのエラーメッセージが残っていて、dovecot と合わせてググると、Let’s Encrypt のルート証明書が、2021/09/30 で切れるといった記事が見つかり、これが影響しているようだ。

dovecot の設定の修正

さらに検索すると、ようやく対応記事が見つかった。ssl_cert の cert.pem を fullchain.pem に替えるだけ。こちらの資料を見ても、dovecot とか postfix なら fullchain.pem を使うような説明がある。

((( /etc/dovecot/conf.d/10-ssl.conf )))
# ssl_cert = </var/lib/dehydrated/certs/自宅サーバ名/cert.pem
ssl_cert = </var/lib/dehydrated/certs/自宅サーバ名/fullchain.pem

((( restart dovecot )))
$ sudo systemctl restart dovecot

postfix の設定の修正

同じような設定は postfix も使っていたはず。試しに、iphone でメールを出そうとすると、dovecot と同じような証明書が信用できないとのメッセージでメールが送れない。

((( /etc/postfix/main.conf )))
# smtpd_tls_cert_file=/var/lib/dehydrated/certs/自宅サーバ名/cert.pem
smtpd_tls_cert_file=/var/lib/dehydrated/certs/自宅サーバ名/fullchain.pem

((( restart postfix )))
$ sudo systemctl restart postfix

サーバ原因不明のフリーズ

休みののんびりする中、自宅サーバがフリーズ。出先だったのでママが恐る恐るリセット。

普通に起動したけど、icinga, munin を見ても予兆の変な雰囲気は無かった。

自宅に帰って改めてフリーズ時間の履歴を見ると、以下のようなところで syslog が途切れていた。

Apr 29 09:49:53 perrine postfix/smtpd[1325089]: connect from unknown[185.143.xx.xx]
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@

この後、このIPアドレスから以下のような接続が続いている。postfix の脆弱性でもあるのかな。侵入には失敗しているようだが、なんか不気味。あまりにも不気味だし、繰り返し login を試しているし、iptables で接続をブロックする。

Apr 29 10:27:08 perrine postfix/smtpd[1943]: connect from unknown[185.143.xx.xx]
Apr 29 10:27:10 perrine postfix/smtpd[1937]: warning: unknown[185.143.xx.xx]: SASL LOGIN authentication failed: authentication failure

postfixのサーバ間暗号化

DKIM, DMARC などの設定をしていたが、gmail 宛のメールの状態を確認していたら、DMARC p=quarantine に変更したのを確認できたけど、サーバ間のメール転送で暗号化がされていない様子。

この手の暗号化はデフォルトで行われているものと思っていたが甘かった。

postfix に以下の設定を追加する。

(((/etc/postfix/main.cf )))
smtp_tls_security_level = may

上記の状態の確認をしていたけど、外部サイトと25番ポートで繋がるんだな。プロバイダのファイアウォールで OP25 などの対策で、smtp(25番ポート)って接続禁止で、starttls(587) とか、smtps(over SSL:465) とかを優先的に使うと思っていたけど、google さんの smtp と 25 番ポートと繋がるな…。

postfix,dovecotのSSL化

子供の進学で自宅を離れ、出先でも自宅サーバにメールの読み書きがあれば、様子を伺えるんだけど、自宅サーバのメール関連のSSL化が不完全だったので、子供の引っ越し先に泊まった際に見直し。

すでに、dehydrated を Web サーバで導入済みなので、それを postfix , dovecot に利用させるだけなんだけど、一度失敗してたのでリトライ。

((/etc/apache2/site-enable/010-default-ssl.conf))
- SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
- SSLCertificateKeyFile   /etc/ssl/private/ssl-cert-snakeoil.key
- SSLCertificateChainFile /etc/apache2/ssl.crt/server-ca.crt
+ SSLCertificateFile      /var/lib/dehydrated/certs/MYDOMAIN/cert.pem
+ SSLCertificateKeyFile   /var/lib/dehydrated/certs/MYDOMAIN/privkey.pem
+ SSLCertificateChainFile /var/lib/dehydrated/certs/MYDOMAIN/chain.pem

((/etc/postfix/main.cf))
- smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
- smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
+ smtpd_tls_cert_file=/var/lib/dehydrated/certs/MYDOMAIN/cert.pem
+ smtpd_tls_key_file=/var/lib/dehydrated/certs/MYDOMAIN/privkey.pem

((/etc/dovecot/conf.d/10-ssl.conf))
- ssl_cert = </etc/ssl/certs/ssl-cert-snakeoil.pem
- ssl_key = </etc/ssl/private/ssl-cert-snakeoil.key
+ ssl_cert = </var/lib/dehydrated/certs/MYDOMAIN/cert.pem
+ ssl_key = </var/lib/dehydrated/certs/MYDOMAIN/privkey.pem

これで、メールサーバのアカウント登録で、「登録されていない安全でない証明書を使うか?」といった表示もなくなるし、Windows の標準メールでも登録ができるようにできた。

 

検索 🔎

  My Google     Yahoo

便利サイト