SSL証明書をapacheへ組み込む

3年前に更新したapacheへのSSL証明書。

有効期限が切れるとの事で連絡がありました。手順をマニュアル化しておかなくては思いつつ以前もマニュアルにしておいたはずだったのに、なんだかよく分からない状況になったので、もう一度まとめてみます。

SSL証明書の更新

更新作業を進めます。

更新・再申請されるお客様
一度ご提出されたCSRはセキュリティー上の理由により再利用する事はできません。必ず新しい秘密鍵より生成したCSRをご用意ください。

との事ですので、新しいCSRの準備が必要です。

ファイル認証で進めてみます。

PEMの作成

root@ns:/etc/apache2/ssl# /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem

CSRの作成

root@ns:/etc/apache2/ssl# openssl req -new -key /etc/apache2/ssl/apache.pem -out sv60.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Tokyo
Locality Name (eg, city) []:Izu
Organization Name (eg, company) [Internet Widgits Pty Ltd]:***
Organizational Unit Name (eg, section) []:Somu
Common Name (e.g. server FQDN or YOUR name) []:sv60.test.com
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

CSRの提出

提出完了

ドメイン所有者確認

メールにて、所有ドメインwebサーバにてアクセスできる位置にファイルを置いて所有者確認せよという文言が届きました。以前設定した時よりちょっとセキュリティが上がっている(手間が増えている)ように思います。

ファイルを置くと10分間隔でクロールしてくれるらしいです。そこで認証が走れば証明書ファイルが発行されます。

***************************************************
*
*  FujiSSL
*  Security Services And Fraud Prevention Team
*  Nijimo,Inc.
*  www.fujissl.jp
*
***************************************************

機密情報に関する注意事項:このE-mailは、発信者が意図した受信者のみが利用することを意図したものです。万が一、貴殿がこのE-mailの発信者が意図した受信者でない場合には、直ちに送信者への連絡とこのE-mailを破棄願います。



------------------------------------------------------------
注文番号:10046261
コモンネーム:sv.hanako.jp
------------------------------------------------------------

ご担当者様

この度は、SSL証明書を申請頂き誠にありがとうございます。

認証(証明書の発行審査)のため、お申込みいただいたドメイン所有者の確認を行います。

証明書を設置するサーバのドキュメントルートへ添付の認証ファイルを設置し、ブラウザから以下いずれかのURLでアクセス確認ができる状態にして頂けますようご案内致します。

認証ファイルは2週間以内にアップロードをお願いいたします。

認証ファイルが2週間経過後、確認できない場合、お申し込みは自動キャンセルさせていただきます。

クレジットカードから代金の引き落としは行われません。


▽STEP1

添付の認証ファイルを、申請時に指定したFQDN(コモンネーム)配下に以下のいずれかのURLで外部から認証ファイルへアクセスできるようにアップロードしてください。

アクセスURL
http://********/.well-known/pki-validation/fileauth.txt
https://********/.well-known/pki-validation/fileauth.txt

※「/.well-known/pki-validation/」のフォルダは、お客さまにて作成してください。

重要:認証ファイルのフォーマットはUTF8のBOM付きで送付しております。
   認証ファイルは編集すると破損する可能性があります。
   編集せずにサーバへ設置してください。

認証ファイルのクローラーIPアドレスは以下の通りです。
----------------------------------------
IPアドレス:
----------------------------------------


▽STEP2

この後、認証用ファイルが配置されたことをFujiSSLのシステムがクローリングを行い、ファイルの設置状況を確認し、証明書が発行されます。 
認証クローラの巡回スケジュールは以下の通りです。

----------------------------------------
申請から14日間 :10分間隔で確認
----------------------------------------
※14日経過しても認証ファイル確認できない場合が自動キャンセルとなります。


認証ファイル確認後、証明書の発行処理が行われます。
※ 証明書が発行されましたら、技術担当者、申請責任者にメールにてご案内いたします。


▽STEP3

証明書が発行されましたら、お客様にてインストールを行ってください。



ご不明な点やご質問等ございましたら、本メール返信にてお問い合わせください。

今後ともFujiSSLをよろしくお願いいたします。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 FujiSSLサーバ証明書はセコム(SECOM)の電子認証運用規定の元、
 信頼された国内の認証局(株式会社ニジモ)が発行するSSL証明書です。
 
 FujiSSL
 URL:http://www.fujissl.jp/
 
 よくある質問
 URL:https://www.fujissl.jp/faq/

 FujiSSLサーバ証明書お問合せ窓口
 E-Mail:info@fujissl.jp
 Tel:0120-978-265
 受付:10:30 ~ 17:30 土・日・祝祭日除く

 株式会社ニジモ 
 URL:http://www.nijimo.jp/

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
--

crtファイルがメールで届く

所有者確認が終わりcrtファイルがメールで届きました。

その時の文章がこれです。

***************************************************
*
*  FujiSSL
*  Security Services And Fraud Prevention Team
*  Nijimo,Inc.
*  www.fujissl.jp
*
***************************************************


------------------------------------------------------------
注文番号:10046261
コモンネーム:sv.hanako.jp
------------------------------------------------------------


ご担当者様
  
このたびはFujiSSLのサービスをご利用いただき誠にありがとうございます。

お客様の証明書が発行いたしましたのでご案内いたします。

証明書はこのメールの下部に貼付されております。

当メールの添付ファイルから証明書一式を取得いただくことも可能です。

------------------------------------------------------------
インストールについて
------------------------------------------------------------

秘密鍵は、このメールの中に含まれておりませんが、既にお使いのデバイスまたはサーバー上に存在します。

インストール手順につきましては、お客様の環境により異なりますためサポートはいたしかねます。

------------------------------------------------------------
SSL証明書のインストール状況の検証
------------------------------------------------------------

SSL証明書のインストールが完了しましたら、セキュアモード(https)であなたのウェブサイトを閲覧することで、正しくインストールされているかを検証することができます。

SSL証明書が正しくインストールされていない場合、秘密鍵、SSL証明書、および必要な中間CA証明書が正しくインストールされていることを確認してください。

------------------------------------------------------------
秘密鍵とSSLサーバ証明書のバックアップ
------------------------------------------------------------

SSL証明書をインストールするとき、秘密鍵、SSL証明書、および必要な中間CA証明書のバックアップを作成することを強くお勧めします。

後日、SSL証明書を再インストールまたは、別サーバへ移動する必要が生じた場合、秘密鍵、SSL証明書、および必要な中間CA証明書が要求されます。

------------------------------------------------------------
中間CA証明書に関して
------------------------------------------------------------

正常にSSL証明書をインストールするには、中間CA証明書をインストールすることが必要です。不適切なインストールは、ブラウザやデバイスのエラーを発生させることがあります。

中間CA証明書は、このメールの最後に用意されています。

当メールの添付ファイルから証明書一式を取得いただくことも可能です。

------------------------------------------------------------
当メール本文記載の証明書データについて
------------------------------------------------------------

ご利用のメールクライアントの環境によっては、当メール本文に記載している証明書のフォーマットが崩れる場合があります。

これに該当する場合は、添付ファイルから証明書を取得してご利用ください。

------------------------------------------------------------
サイトシールについて
------------------------------------------------------------

SSL証明書のインストールが完了しましたら、以下URLよりソースコードを生成し、サイトシールを表示するお客様のサイトへ生成したソースコードを貼り付けてご利用ください。
※サイトシール設置後、反映まで最大で24時間程度掛かる場合があります。

サイトシールの設定
  
サイトシールの設定
############################################################ 有効期限 ############################################################ 2019-10-28 ~ 2020-11-28 ############################################################ SSLサーバ証明書は以下の通りです (-----BEGIN CERTIFICATE-----)から(-----END CERTIFICATE-----) までがお客様のSSLサーバ証明書です。 ############################################################

ここで添付されてきたファイルは

root@ns:/etc/apache2/ssl20191028# ls
apache.pem  ca-bundle.ca  sv.hanako.jp.crt

となります。apache.pemは、秘密鍵で証明書を取得する際にサーバで作成したファイル、

ca-bundle.ca は中間証明書

sv.hanako.jp.crt はSSLサーバ証明書

になります。

証明書のインストール

vi /etc/apache2/sites-available/default-ssl.conf

  
                SSLCertificateFile      /etc/apache2/ssl20191028/sv.hanako.crt
                SSLCertificateKeyFile /etc/apache2/ssl20191028/apache.pem
                SSLCACertificateFile /etc/apache2/ssl20191028/ca-bundle.ca

apacheをリスタートさせます。

/etc/init.d/apache2 stop
/etc/init.d/apache2 start

正常に組み込まれたか確認する

ブラウザで鍵のマーク証明書を表示します。

下記の通り、有効期間が更新されていたら成功です。

apacheリロード中にエラー出た

root@ns:/etc/apache2/sites-available# /etc/init.d/apache2 reload
[....] Reloading apache2 configuration (via systemctl): apache2.serviceJob for apache2.service failed. See 'systemctl status apache2.service' and 'journalctl -xn' for details.
 failed!

エラーの原因は

systemctl status apache2.service

を実行すると分かる。pemファイルつづり間違えた(;゚Д゚)

root@ns:/etc/apache2/sites-available# systemctl status apache2.service
● apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2)
  Drop-In: /lib/systemd/system/apache2.service.d
           mqforking.conf
   Active: active (running) (Result: exit-code) since 木 2019-07-11 09:31:38 JST; 3 months 17 days ago
  Process: 27263 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS)
  Process: 8930 ExecReload=/etc/init.d/apache2 reload (code=exited, status=1/FAILURE)
  Process: 27287 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/apache2.service
           tq 6854 /usr/sbin/apache2 -k start
           tq 6856 /usr/sbin/apache2 -k start
           tq 6857 /usr/sbin/apache2 -k start
           tq 6858 /usr/sbin/apache2 -k start
           tq 6859 /usr/sbin/apache2 -k start
           tq 6860 /usr/sbin/apache2 -k start
           tq 7031 /usr/sbin/apache2 -k start
           tq 7688 /usr/sbin/apache2 -k start
           mq27302 /usr/sbin/apache2 -k start

10月 28 17:00:32 ns systemd[1]: Reloading LSB: Apache2 web server.
10月 28 17:00:32 ns apache2[8930]: Reloading web server: apache2 failed!
10月 28 17:00:32 ns apache2[8930]: The apache2 configtest failed. Not doing anything. ... (warning).
10月 28 17:00:32 ns apache2[8930]: Output of config test was:
10月 28 17:00:32 ns apache2[8930]: AH00526: Syntax error on line 33 of /etc/apache2/sites-enabled/default-ssl.conf:
10月 28 17:00:32 ns apache2[8930]: SSLCertificateFile: file '/etc/apache2/ssl20191028/apachepem' does not exist or is empty
10月 28 17:00:32 ns apache2[8930]: Action 'configtest' failed.
10月 28 17:00:32 ns apache2[8930]: The Apache error log may have more information.
10月 28 17:00:32 ns systemd[1]: apache2.service: control process exited, code=exited status=1
10月 28 17:00:32 ns systemd[1]: Reload failed for LSB: Apache2 web server.
Hint: Some lines were ellipsized, use -l to show in full.