Debian12.5 ; 証明書を取得 (Let's Encrypt), Apache,Mail SSL化

1. 証明書を取得する (Let's Encrypt)

1.1 事前準備

①mod_sslを有効にする

②Let's Encrypt証明書を取得するためのクライアントツールをインストール

1.2 Let's Encrypt証明書の取得

Apache httpd や Nginx などの Webサーバーが稼働していることが前提となります。
作業を実施するサーバーで Webサーバーが稼働していない場合は 下記※の手順を実行。
また、インターネット側から、作業を実施するサーバー (証明書を取得したい FQDN のサーバー) の 80 ポート宛てにアクセス可能であることも前提です。

# [--webroot] 指定で稼働中 Web サーバーの公開ディレクトリ配下を認証用の一時領域に使用
# -w [ドキュメントルート] -d [証明書を取得したいFQDN]
# FQDN (Fully Qualified Domain Name) : ホスト名.ドメイン名を省略なしで表記
# ドキュメントルートはバーチャルホストで複数のホスト定義がある場合、該当するホスト定義のものを指定
# ドキュメントルート指定の動作としては, 指定したドキュメントルート配下に
# [.well-known] ディレクトリが作成され, 認証用のファイルが自動的,一時的に設置されるのみ

# 初回のみメールアドレスの登録と利用条件への同意が必要
# 受信可能なメールアドレスを指定

「certbot  [--force-renewal]  renew」と表示されれば成功
# メッセージ中に記載の通り [/etc/letsencrypt/live/<FQDN>/] 配下に次の証明書が取得されている

# cert.pem ⇒ SSLサーバー証明書(公開鍵含む)
# chain.pem ⇒ 中間証明書
# fullchain.pem ⇒ cert.pem と chain.pem が結合されたファイル
# privkey.pem ⇒ 公開鍵に対する秘密鍵

※ Webサーバーが稼働していない場合のLet's Encrypt証明書の取得

インターネット側から当作業を実施するサーバーの 80 ポート宛てにアクセス可能であることは前提となります

# [--standalone] 指定で 簡易 Webサーバー機能を使用
# -d [証明書を取得したいFQDN]
# FQDN (Fully Qualified Domain Name) : ホスト名.ドメイン名を省略なしで表記
# 証明書を取得したいFQDNが複数ある場合は、-d [証明書を取得したいFQDN] を複数指定

取得済みの証明書を更新する
# 有効期限が 30日未満の証明書を全て更新
# 有効期限の残り日数に関わらず更新したい場合は [--force-renewal] を合わせて指定

2. Apache2にSSL/TLS(Let's Encrypt) の設定

①Apache2のSSL関連設定ファイルの編集

②設定ファイルの反映と有効化

③httpからhttpsリダイレクト

次のいずれかの方法

④設定反映と起動
上記でvhost-yourdomain.conf に記入する方法を選択した場合

3. Mail サーバーにSSL/TLS(Let's Encrypt) の設定

3.1 メールサーバー用証明書の取得

メールサーバー用の証明書を取得するが上記と同様の方法では取得できないので「--standalone」オプションをつけて下記のようにしても失敗する。

一度web サーバーを止めてから行うと下記のとおり成功する

3.2 Postfixの設定

3.3 Dovecotの設定

UFWでPort 587を許可する

3.4 Thunderbirdの設定

受信サーバー

Port  :  143
Connection security   :  STARTTLS
Authentication method  :  Normal password

送信サーバー

Port   :  587
Connection security   :  STARTTLS
Authentication method  :  Normal password

タイトルとURLをコピーしました