Twitterをぼんやり見ていたら、金盾がTLS 1.3による通信をブロックしているとのこと。
これはきっとセキュリティレベルが高いのだろうということで、取り組んでみようと思った。
やること。
守るものが少ないな。
Apacheの暗号化
元々HTTPSでサービス公開しており、軽くパケットキャプチャーしてみたところ、TLS 1.3で接続ができている模様。
となれば、TLS 1.3に接続を限定すれば良さそう。
WEB ARCH LABO / Apache httpd で接続を許すSSL/TLSのバージョンを制限する方法
/etc/apache2/sites-available/default.conf
…
SSLProtocol TLSv1.3
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/rohhie.net/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/rohhie.net/privkey.pem
…
これで、Apacheに設定を読み込ませればOKだった。
$ sudo systemctl reload apache2
Windows 10 + Chrome と、Android + Chromeでアクセスして問題なしだったので、良しとする。
2020/08/15追記 弊害発生!
- TwitterでCard表示がなされなくなった。
→ Developer - Card validatorでチェックしたら、エラー発生。 - WindowsMailでZ-Pushを使ったメールの同期ができなくなった。
→ 証明書に問題がある可能性があります 0x80072f7d
TwitterのCard表示については、探すと証明書関連の問題がいくつか見つかった。
あやめ商店ブログ / twitter cardが表示されない(ERROR: Fetching the page~)(リンク切れ)
おかげで、WindowsMailの問題も問題もこれが原因と分かってきた。
TLS 1.3のみというのは少し急ぎすぎなのかもしれない。
Postfixの暗号化(失敗)
今まで暗号化の観点でしっかりと設定を見たことがなかった。
結果からすると暗号化を必須にはできなかった。
/etc/postfix/main.cp
… #smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem #smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key #smtpd_use_tls=yes smtpd_tls_cert_file=/etc/letsencrypt/live/rohhie.net/fullchain.pem smtpd_tls_key_file=/etc/letsencrypt/live/rohhie.net/privkey.pem smtp_tls_security_level=may smtp_tls_mandatory_protocols=!SSLv2, !SSLv3 smtp_tls_mandatory_ciphers=medium …
証明書と秘密鍵はLet's Encryptに署名してもらったものに置き換えてみた。
smtp_tls_security_level=encryptにしたかったけれど、プロバイダが用意してくれているSMTPは暗号化を要求すると受け付けてくれなかった。
そのため暗号化を強制することができなかった。恐らくは、他ドメインからのリレー(実際は受け取りのみだが)への暗号化強要はできていないと思われる。
とはいえ、少しは状況が良くなったと思うので、設定を反映させる。
$ sudo systemctl reload postfix
メールの送受信はできたので、まずは良しとする。
やったこと
SMTPで利用するポート
こちらで説明してくれている。
Kinsta / 正しいSMTPポートの選び方(ポート番号25、587、465、2525)
また、ここをSMTPで探せばだいぶ詳しい。
ウィキペディア / TCPやUDPにおけるポート番号の一覧
ポート番号 | 説明 | 備考 |
---|---|---|
25 | Simple Mail Transfer Protocol(SMTP) | |
465 | Message Submission over TLS protocol(SMTPS) | 非推奨 |
587 | e-mail message submission(SMTP) | |
2525 | SMTP alternate | 非公式 |
3535 | SMTP alternate | 非公式 |
サブミッションとされているのは、メール送信というか、ポストへのメール投函というか、そのためだけのもの。
メールのバケツリレーは25番ポートで行う。うちは遠隔地にサーバーを置く形にしていないので、25番ポートだけをケアすれば良い。
改めて「そういうものなのか」と理解。
さいごに
見つけた記事は参考になったと同時に、ネットワーク管理の難しさも感じていたりする。
ネットワーク管理の立場で言えば、その通信が何やってるか分からねぇよ、って話だろうから。
コメントはこちらから お気軽にどうぞ ~ 投稿に関するご意見・感想・他