「業務用エアコンのエラーコード」はこちら

Debian10でサーバー構築 Apache、メール、FTPサーバーSSL化(Let's Encrypt)

本ページでは、Let’s Encryptで証明書取得とapacheへの適用、メールサーバーへの適用、FTPサーバーへ適用し、SSL化する方法を説明。

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

1.1 事前準備

①mod_sslを有効にする

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

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

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

「Successfully received certificate.」と表示されれば成功
# メッセージ中に記載の通り [/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リダイレクト
1..htaccessファイル を作成する方法
.htaccessを/var/www/html/<FQDN>/に作成して以下記入

2./vhost-hoge.com.conf に記入の方法

④設定反映と起動

Apache再起動

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

3.1 バーチャルホスト設定と証明書取得

①Apacheのバーチャルホストにメールホストを設定

②/var/www/html/mail.<domain-name>ディレクトリー作成

③メールサーバー用のletsencrypt SSL証明書の取得

3.2 Postfix の設定

④Postfixの設定ファイルを修正
暗号化通信ができるよう SSL/TLS の設定をします。
SMTPS は 465/TCP, POP3S は 995/TCP, IMAPS は 993/TCP を使用します。

設定に誤りがないかチェック(なにも表示されなければOKです)
⑤Postfixの起動、自動起動の設定

3.3 Dovecot の設定

①Dovecotの設定ファイルを修正

・暗号化を使う imaps と pop3s を有効にして、平文で通信する imap と pop3 は「port = 0」を設定し無効にします。
service imap-login {
inet_listener imap {
#port = 143
port = 0
}
inet_listener imaps {
#port = 993
#ssl = yes
port = 993
ssl = yes
}
}service pop3-login {
inet_listener pop3 {
#port = 110
port = 0
}
inet_listener pop3s {
#port = 995
#ssl = yes
port = 995
ssl = yes
}
}
・Dovecot SASL ライブラリの認証ソケットファイルを指定(113行目あたりです)service auth {
 (略)
# Postfix smtp-auth
#unix_listener /var/spool/postfix/private/auth {
# mode = 0666
#}
 ↓
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
}

・認証方式の設定 ※平文パスワードを許可していますが、SSL/TLSで暗号化されますので問題ありません

・メールボックスの場所を指定
・ログの出力先を変更
・ログの出力先作成
② Dovecotの起動、自動起動の設定

③認証ソケットファイルが作成されているのを確認

4. FTP Vsftpd にSSL/TLS(Let's Encrypt) の設定

① Vsftpdの設定ファイルを修正

再起動

② Firewallの設定
ftpポート以外に固定したPASVポートを許可します。
タイトルとURLをコピーしました