Webは用いる人のリテラシーで決まる ウェブ運用と開発現場を経験したエンジニアのTIPS
TOP > BLOG > IT記事

CentOS6でTLS1.2を利用可能にしてSSLを有効化する手順

早川朋孝 早川朋孝
EC専門のSE

インフラまわりのエンジニアをしていると、他社ベンダーとか前任者の構築した環境を引き継いだけど、資料も設計図もなくてよう分からんが、とりあえず最低限の運用をしないといけない場合があるかもしれません。

SSL証明書のインストールをしても「保護されていない通信」と出る場合は絶対パスかTLSを確認しよう

私は業務で色々なお客さんのウェブサーバーの管理をしているのでウェブサイトにSSLの設定をする機会が多いのですが、たまにいつも通りの手順でSSLの設定をしても「保護されていない通信」と出る場合があります。証明書のインストールは完璧にできている場合、残る可能性は以下の通りです。

  • HTMLにhttpから始まる絶対パスで記述された外部ファイル(画像とかJSとか)がある
  • 外部CSSに絶対パスで記述された画像の読み込みがある(backgroundとか)
  • サーバーのTLS1.2が有効でない

CentOS6でTLS1.2を利用可能にする手順(SSLの有効化)

画像の絶対パスなどは地道に修正すればいいだけなので簡単です。今回はサーバーがCentOS6系であることを前提に、TLS1.2を有効にする方法を整理します。簡単です。

https://globalsign.ssllabs.com/index.html
まずTLSが有効であるのかチェックしましょう。このサイトでTLS1.2が有効なのかそうでないのか確認できます。

では手順を紹介します。まずCentOSのバージョンを確認しましょう。5系、6系、7系ではそれぞれ手順が違うので注意が必要です。

#cat /etc/redhat-release

CentOS release 6.9 (Final)

上述の通り今回はCentOS6系です。次にnssのバージョンを確認しましょう。NSSのバージョンが3.19.1-6以降であればTLS1.2が有効となります。ちなみに「NSSって何?」という人はちゃんと調べて勉強しましょう。エンジニアは意味を理解していないコマンドを打ってはいけません。

#yum info nss.x86_64

このコマンドを打って下記のような結果になる場合は、また別の対処が必要となります。

YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
Eg. Invalid release/repo/arch combination/
removing mirrorlist with no valid mirrors: /var/cache/yum/x86_64/6/extras/mirrorlist.txt

これはCentOS6系のサポート終了によるエラーで、yumのリポジトリを編集する必要があります。

vi /etc/yum.repos.d/CentOS-Base.repo
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=http://vault.centos.org/centos/$releasever/os/$basearch/

元からあるmirrorlistとbaseurlをコメントアウトし、上記の例の最下行のように別のbaseurlを追加する。ちなみにこれはさくらVPSの例です。[base]、[updates]、[extras]、[centosplus]など全て修正する。

さて首尾よくいくと、nssのインストール済みパッケージが
リリース : 3.el6_9

利用可能なパッケージが
バージョン : 3.44.0

TLS1.2

こんな感じで、現在のバージョンとダウンロード可能なバージョンが出ます。この場合は現在のバージョンが3.19.1-6未満なので、TLS1.2は有効でありません。バージョンアップすばれTLS1.2が有効となります。サーバーの再起動も不要なのでかんたん、かんたん。

ちなみに仕様が分からない場合のミドルウェアのバージョンアップは怖いので、万一に備えてバージョンを戻すことができるも確認したいという場合は、以下のようにコマンドを打てばいいでしょう。ま、ディスクイメージなどがあれば復旧できるのでいいのですが、無い場合は危険かもしれません。

#yum –showduplicate list nss
読み込んだプラグイン:fastestmirror, security
Loading mirror speeds from cached hostfile
* base: ty1.mirror.newmediaexpress.com
* extras: ty1.mirror.newmediaexpress.com
* updates: ty1.mirror.newmediaexpress.com
インストール済みパッケージ
nss.x86_64 3.28.3-3.el6_9 @updates
利用可能なパッケージ
nss.i686 3.36.0-8.el6 base
nss.x86_64 3.36.0-8.el6 base
nss.i686 3.36.0-9.el6_10 updates
nss.x86_64 3.36.0-9.el6_10 updates
nss.i686 3.44.0-7.el6_10 updates
nss.x86_64 3.44.0-7.el6_10 updates

バージョンを指定せず、パッケージを一つ前のバージョンに戻したい場合は、以下のようにコマンドを実行することでダウングレードができます。
#yum downgrade パッケージ名

もしくは、バージョンを指定させる場合には以下のようにコマンドを実行するとダウングレードできます。指定できるバージョンについては、「yum –showduplicates list パッケージ名」で確認すればいいです。

#yum downgrade パッケージ名-バージョン
#yum downgrade nss-nss.x86_64

ではNSSのバージョンアップを実行します。たぶんすぐ終わります。瞬殺。

#yum update nss.x86_64

この時点でTLSは有効ですが、ウェブサーバーでssl protocolsが有効かどうか確認しましょう。nginxの場合はSSLを適用したserverブロックなどに以下のような記述が必要です。apacheの場合ももちろん事情は同じです。

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

最後にウェブサーバーを再起動しましょう。ね、簡単でしょ?

#service nginx reload
×
このブログを書いてる人
早川 朋孝 EC専門のSE
IT業界歴20年のエンジニアです。ネットショップ勤務で苦労した経験から、EC・ネットショップ事業者に向けて、バックオフィス業務の自動化・効率化を提案するSEをしています。
プロフィール
API連携の相談にのります
趣味は読書、ピアノ、マリノスの応援など
PAGE TOP