【Linux】certbotが使えないサーバーで、getsslでLet’s Encryptの証明書を発行する

OSが古いからと言って、稼働しているサーバーを簡単に再インストールはできないですよね。
私が保守しているサーバーも結構古いものがあります。

Let’s Encryptの証明書を発行する方法としてはcertbotが有名ですが、
OSが古すぎて、どう試行錯誤してもcertbotはもう使えないという状況になり、
getsslというものを試してみました。

getsslの取得

インストール

設定ファイル生成

設定ファイル編集

設定ファイルに下記を追加します。

証明書の生成

Apacheの設定

※SSLEngine on がないとApacheが起動しませんでした。

自動更新設定

【SSL証明書】Apache再起動時のパスフレーズ入力を省略する

SSL証明書にはApache再起動時にパスフレーズの入力が必要なものもあります。
Apacheの再起動が手動のみなら毎回入力するのが最もセキュアですので、そのままで問題ありませんが
再起動を定期バッチなどで自動化したい場合は、パスフレーズの入力を省略する必要があります。

下記の方法で省略可能です。
毎回入力するよりもセキュリティ上のリスクはあるものの、
これでパスフレーズありの場合でも再起動を自動化できます。

まず、パスフレーズを出力するスクリプトを作成します。

例えば、パスフレーズが「AAAABBBB」だったとして
/etc/httpd/conf.d/passphrase.sh

スクリプトのパーミッションを変更しておきます。

次に、/etc/httpd/conf.d/ssl.confで

この行をコメントアウトして、下記を追加します。

これで、再起動した際にパスフレーズの入力を省略できます。

【カスペルスキー】サイトのSSL証明書が勝手に変更されるのを停止する

カスペルスキーをインストールすると
デフォルトでウェブのSSL通信をスキャンする設定になっています。

ウェブを閲覧するだけのPCならこれで問題ありません。
しかし、この状態だと
サーバーにインストールしたSSL証明書が反映されているか確認したくても、
ブラウザでSSL証明書を表示した際には
すべてカスペルスキーの証明書になってしまうため
サーバー管理者やウェブの開発者にとっては困ります。

この問題は
「SSL通信のスキャンをしない」設定にすることで解決します。

カスペルスキーの
「設定」→「詳細」→「ネットワーク」を開き、
「暗号化された接続をスキャンしない」にチェックしましょう。

すぐに反映されない場合は
ブラウザの再起動やキャッシュ削除を試してみてください。