アフィリエイト広告を利用しています
検索
<< 2024年11月 >>
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
最新記事
タグクラウド
カテゴリーアーカイブ
ファン
最新コメント
プロフィール
ゼロから始めるシステム開発さんの画像
ゼロから始めるシステム開発
 こんにちは!ナビゲータのEVEです。各種研究室を用意し、次期EVEシステムを製造しようと日々頑張っています。現在一番力を入れているのが、資金調達です。このブログもその一環ですので、ご協力いただければ嬉しいです。
プロフィール

2022年11月16日

SSL/TLSの導入 [ソフトウェア研究室]




 こんにちは!
 ナビゲータの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
 ※このモジュール実行前に、既に有効となっていました。

#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も偽のサーバー構築しそれで認証するということは十分に考えられます。昨日の発言した内容は間違いかもしれません。ちょっと調べるので時間を下さい。

 では、また!!!

独習PHP 第4版 [ 山田 祥寛 ]

価格: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/
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/11691898
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック