虎塚(144)16この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。こんにちは、虎塚です。今日は、ELBにインストール済みの証明書について、更新対象かどうかを確認する方法をご紹介します。10.10.2で行いました。CLIとsedが使える環境であれば、同じ方法で確認できると思います。背景サーバ証明書の署名アルゴリズムにSHA-1が利用されている場合、SHA-2への移行が推奨されています。Windows上でのSHA-1証明書を使ったSSL通信によるWebサイトアクセスは、2017年以降にサポートされません。Chromeなどの一部ブラウザでは、SHA-1証明書を利用しているサイトへアクセスした時に、ブラウザのアドレスバーに警告が表示されます。サーバ証明書の申請を受け付けている各ベンダーのWebサイトに、たいてい次のような解説ページがあります。ご利用中のサービスを確認してください。SHA-1からSHA-2への移行について│SSL・電子証明書ならGMOグローバルサインこの件への対応方法は、次のとおりです。SSL通信を利用しているサーバについて、インストール済みの証明書の署名アルゴリズムがSHA-1かどうかを確認します次に、もしSHA-1証明書を使用していれば、証明書ベンダーにSHA-2証明書を新規に申請して、取得します最後に、手元のサーバのSHA-1証明書をSHA-2証明書に入れ替えます今回は、上記の最初の確認ステップについて説明します。CloudFront、またはEC2に立てたWebサーバに組み込みます。Webサーバの場合は、利用しているサーバ製品によって、インストールディレクトリなどが異なります。そこで、ELBにインストール済みの証明書の署名アルゴリズムを確認する方法を、この記事では紹介します。CloudFrontにインストール済みの証明書を確認する方法は、次の記事をご覧ください。Developers.IOELBと証明書のおさらいELBへ証明書をインストールするには、次の2通りの方法があります。CLIのIAMコマンドでアップロードしたSSLサーバ証明書を、ELBの設定画面で指定します。CLIのコマンドは、次のとおりです。file://path/to/keyfile.keyELBの設定画面は、次のとおりです。先ほどのコマンドで指定した証明書の名前を選択します。2つ目の方法として、ELBの設定画面から、証明書の情報をコピーアンドペーストして入力します。CLIで情報を取りだすことができます。CLIを使って、登録済みの証明書情報の一覧を表示します。.Arn}'{"crt-name-1":"arn:aws:iam::012345678901:server-certificate/crt-name-1"}{"crt-name-2":"arn:aws:iam::012345678901:server-certificate/crt-name-2"}{"crt-name-3":"arn:aws:iam::012345678901:server-certificate/crt-name-3"}{"crt-name-4":"arn:aws:iam::012345678901:server-certificate/crt-name-4"}ここでは、コマンドの実行結果から、jqで証明書の名前とARNを抽出しています。上の出力例では、4個の証明書の名前とARNが表示されました。CLIを使って、確認した証明書がどのELBにインストールされているかを確認します。.ListenerDescriptions[].Listener.SSLCertificateId}'{"ELB-Name-1":"arn:aws:iam::012345678901:server-certificate/crt-name-1"}{"ELB-Name-1":null}{"ELB-Name-2":null}{"ELB-Name-2":"arn:aws:iam::012345678901:server-certificate/crt-name-3"}{"ELB-Name-2":"arn:aws:iam::012345678901:server-certificate/crt-name-4"}ここでは、コマンドの実行結果から、jqでELBの名前とインストール済み証明書のARNを抽出しています。上の出力例では、ELB-Name-1には、crt-name-1という名前の証明書がインストールされています。nullの行は、証明書と関連づけていないELBのリスナーを示しています。CLIで証明書情報を取得するELBにインストール済みの証明書が特定できたので、証明書情報を取得して、ローカルの任意のファイル(work.crt)に結果を出力します。work.crt1行目は、出力をJSON形式にするオプションと、証明書の名前を指定するオプションです2行目は、出力されたJSONから、証明書の本文を取得するためのjqコマンドです出力内容の最初と最後についているダブルクォーテーションを除去し、改行文字(¥n)を実際の改行に変換するため、jqオプションの-rを使用しています。OpenSSLコマンドで証明書の署名アルゴリズムを確認するローカルに出力した証明書情報(work.crt)に対して、OpenSSLコマンドで内容を確認します。SHA-1証明書の場合、次のような出力になります。sha1WithRSAEncryptionこの場合、SHA-2証明書の申請と、証明書の入れ替えが必要と分かります。SHA-2証明書の場合、たとえば次のような出力になります。sha256WithRSAEncryptionなお、SHA-2には、SHA-384、SHA-512などのバリエーションがあるため、かならずしも上記のとおりの出力結果になるとは限りません。おわりにAWSにアップロードした証明書とELBの情報を照合して、ELBにインストール済みの証明書を確認する方法を説明しました。CLIを使えば簡単に確認できるので、便利ですね。必要な場合はSHA-2証明書に更新して、来たるべき2017年に備えましょう。当初gsedを使用する手順をご紹介しましたが、jqの-rオプションを使うことでgsedを使わなくてもよくなると指摘いただきましたので、削除しました。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。CAFEの他、NTTデータとセブンイレブンの取り組みや、サインポスト、Zippinなどの各社と流通・小売業との連携を業界マップに作成してみました。和樹25こんにちは植木和樹@上越オフィスです。Terminalの機能確定版がリリースされたので試してみました。PolicyのConditionにaws:CalledViaというキーが追加されました。いったキーなのかご説明します。夏目祐樹395こんにちは、CX事業本部の夏目です。MacのタッチバーのタッチIDが非常に便利なのですが、Terminalでsudoを叩かないと行けないときに使えたらなぁと思ったので、情報を共有します。臼田佳祐295ワークフロー自動化OSSのn8nをAWS環境で建てて検証してみました。非常に期待できるサービスです。Fargateの勉強をしています。使ってみたい方は参考にしてください。洋介255SnowflakeがAWSの東京リージョン上で稼働するようになりました。データを日本に置けます。芳賀健233こんにちは!猫様の忠実なるしもべ、芳賀健です。Tokyoで開催されました。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。