ナビゲータのEVEです。
本日は、ApacheとPostfixにSSL/TLSを導入する作業を実施しました。その作業記録を残します。
[ApacheへSSL/TLSを導入する]
基本的に、 取得した各ファイルを、所定のフォルダに配置し、Apacheのセキュリティファイルに取得した各ファイルのパスを記述することにより、SSL/TLS通信が実現できる ようです。
★秘密鍵の設定を行う
・秘密鍵を /etc/ssl/private/ ディレクトリにコピー
・所有権を設定する
$ sudo chown root:ssl-cert 秘密鍵
ユーザrootとssl-certグループに所有権を付与します。
・アクセス権を設定する
$ sudo chmod 640 秘密鍵
所有者本人(root)には、読み出しおよび書き込みを許可し、rootと同じグループのユーザーには、読み出しのみを許可をします。
★SSL証明書と中間証明書の設定
・取得したSSL証明書と中間証明書ファイルを /etc/ssl/certs/ ディレクトリにコピーします。
中間証明書はコピーのみでいいようです。
★/etc/apache2/sites-available/default-ssl.confを修正します。Apacheのセキュリティファイルに各ファイルのパスを通します。
SSLCertificateFile /etc/ssl/certs/ SSL証明書
SSLCertificateKeyFile /etc/ssl/private/ 秘密鍵
SSLCertificateChainFile /etc/ssl/certs/ 中間証明書
※ついでに管理者のアドレスを変更しましょう。
# 3行目:管理者アドレス変更
ServerAdmin admin@pro2grammer.com
★モジュールを有効化する
#a2enmod ssl
※このモジュール実行前に、既に有効となっていました。
Considering dependency setenvif for ssl:
Module setenvif already enabled
Considering dependency mime for ssl:
Module mime already enabled
Considering dependency socache_shmcb for ssl:
Module socache_shmcb already enabled
Module ssl already enabled
以上でSSL/TLSの導入は完了です。接続後問題ないことを確認しました。
[PostfixへSSL/TLSを導入する]
★main.cfを修正する
vi /etc/postfix/main.cf
・main.cfに下記の情報を追加する
smtpd_use_tls = yes
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3,!TLSv1
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3,!TLSv1
smtpd_tls_cert_file = /etc/ssl/certs/ SSL証明書
smtpd_tls_key_file = /etc/ssl/private/ 秘密鍵
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
★master.cfを修正する
#vi /etc/postfix/master.cf
・17行目、nからy変更
・18〜24行目コメント解除
submission inet n - y - - smtpd
-o syslog_name=postfix/submission
# -o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_tls_auth_only=yes
# 29-31行目 : コメント解除
smtps inet n - y - - smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
★10-ssl.confを修正する
vi /etc/dovecot/conf.d/10-ssl.conf
# 6行目:変更
ssl = yes
# 12,13行目:コメント解除して証明書/鍵ファイル指定
ssl_cert = /etc/ssl/certs/ SSL証明書
ssl_key = /etc/ssl/private/ 秘密鍵
★Postfixを再起動します。
systemctl restart postfix dovecot
★MUAの設定
MUAは、送受信とも通常のパスワード認証で問題ないのですが、接続の保護方式を、STARTTLSまたは、SSL/TLSに変更する必要があります。一般的に、STARTTLSが利用されることが多いようです。
なお、STARTTLSでは、25、465または2525ポートを利用します。
[SSL/TLSを導入して]
現在、Webでは、うまく動作しているのはご確認の通りです。ただ、Thunderbirdの送信限定なのですが、エラーメッセージが表示されます。現在、調査中ですが、プライオリティを下げて調査を続けたいと思います。
なお、今回SSL/TLSを導入して勘違いの点と、疑問点がありました。
勘違いしていた点は、通常方式のSSL/TLSまたは、STARTTLS通信は、 サーバー間のみしか暗号化されないと考えていました 。しかし、SSL/TLSを導入してみて気付いたのですが、 サーバーを起点にしてすべてのメールが暗号化されている ことに気付きました。本当に、目から鱗です。それに気付いていなかった昨日までは、PGP、S/MIMEでないとセキュリティが維持されないと思っていました。なんでも、やってみないとダメですね?
続いて、疑問点は、中間CAの証明書をなんでサーバーに配置するのかです。今まで、取得した公開鍵証明書の真正性を確認する場合、クライアント側に保持されたCA情報に基づき検索し、検索した結果なかった場合、ブラウザまたは本人が承認するという流れだったと記憶しています。通常、以上の流れでセキュリティを維持しようとするなら、 上位のCAのサーバ証明書をサーバー側に配置するのは疑問ですし、問題があるように感じます 。もし、詐欺サイトを構築するなら、上位のCAも偽のサーバー構築しそれで認証するということは十分に考えられます。昨日の発言した内容は間違いかもしれません。ちょっと調べるので時間を下さい。
では、また!!!
価格: 3,740円
(2022/11/17 01:15時点)
感想(1件)
■【Ubuntu 18.04 LTS Server】ApacheのSSL通信(https)を使う
https://www.yokoweb.net/2018/06/01/ubuntu-18_04-server-apache-ssl/
■Server World
https://www.server-world.info/
【このカテゴリーの最新記事】
- no image
- no image
- no image
- no image
- no image