Webは用いる人のリテラシーで決まる 文学部卒で30代で突然エンジニアに転向した私が切り抜けてきたこと
Twitter Facebook
TOP > BLOG > IT記事

CentOS6でTLS1.2を利用可能にしてSSLを有効化する手順エンジニア向け

LINUX(CentOS), SSL

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

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

インストール済みパッケージが
リリース : 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

このブログを書いてる人
早川 朋孝

業界15年のウェブエンジニアです。文学部卒で20代はSEO、アクセス解析などフロントの運用を中心に経験しましたが、30代のある時、ひょんなことから一人情シスのような状況を経験することになり、流れでそのままエンジニアに転向しました。プログラムやサーバー管理、数学の勉強などをしなおして、いまではWebのことはフロントからバックエンドまでなんでもできます。

本が好きで月140時間は読書します。このブログではWeb業界で経験してきた業界の裏側、読書で学んだこと、技術ノートなどを書きます。ネコ好きなタバコ嫌いで、明治学院フランス文学科卒。

facebookへ
PAGE TOP