注:この記事のコマンドは、Isilonクラスターでのみ使用することを目的としています。外部Linuxサーバーでの使用は意図されていません。
注:Isilonは証明書を自動更新しません。Isilon Clusterでこの記事の手順に従って、手動で更新する必要があります。
概要
この記事では、Isilon Web管理インターフェイスのSecure Sockets Layer (SSL)証明書を交換する方法または更新する方法について説明します。次の手順には、自己署名証明書の交換または更新を実施するオプション、または認証局(CA)からSSLの交換または更新をリクエストするオプションが含まれます。
必要なツールまたはスキル
このタスクを完了するには、Isilon Web管理インターフェイスにアクセスするためのURLが必要です。(この記事の例では、
https://isilon.example.com:8080/
)。また、コマンド ラインでコマンドを実行することもできます。
前提条件
参考情報
次のリストに、
server.crt
と
server.key
ファイル(OneFS 7.0.xおよびOneFS 8.0.0)にあります。
xです。次の手順では、インストールされているOneFSのバージョンに合わせて、この情報と一致するように手順を更新します
OneFS 7.0.x以降
/usr/local/apache24/conf/ssl.crt/server.crt
/usr/local/apache24/conf/ssl.key/server.key
OneFS 8.0.1.x以降
- 次のコマンドを実行して、証明書のリストを取得します。
isi certificate server list
- 元の証明書とキーのバックアップを保存します(OneFS 7.0.xから8.0.0.xのみ)。
- クラスター内の任意のノードでSSH接続を開き、「root」アカウントを使用してログインします。
- 次のコマンドを実行してバックアップの場所を作成し、元のキーと証明書を保存します。
mkdir -p /ifs/data/Isilon_Support/original_ssl_backup
cp /usr/local/apache24/conf/ssl.crt/server.crt /ifs/data/Isilon_Support/original_ssl_backup
cp /usr/local/apache24/conf/ssl.key/server.key /ifs/data/Isilon_Support/original_ssl_backup
手順
ローカルの作業ディレクトリーを作成します。
mkdir /ifs/local
cd /ifs/local
既存の証明書を更新するか、証明書を最初から作成するかを確認します。
これにより、既存の(ストック)に基づいて更新証明書が作成されます ssl.key
が連携しない場合があります。次のコマンドを実行して、2年間の証明書を作成します。有効期限が異なる証明書を生成するには、-daysの値を増減します。
cp /usr/local/apache2/conf/ssl.key/server.key ./ ; openssl req -new -days 730 -nodes -x509 -key server.key -out server.crt
所属する組織の適切な情報を入力して、システム プロンプトに従って自己署名SSL証明書を生成します。
例:
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:Washington
Locality Name (eg, city) []:Seattle
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Isilon
Organizational Unit Name (eg, section) []:Support
Common Name (e.g. server FQDN or YOUR name) []:isilon.example.com
Email Address []:support@example.com
情報の入力が終了すると、 server.csr
と server.key
ファイルは、 /ifs/local directory
が連携しない場合があります。
openssl x509 -text -noout -in server.crt
この手順の後、この記事の 「クラスターに証明書を追加する 」セクションに進みます。
この手順では、新しいプライベート キーとSSL証明書を作成する方法について説明します。次のコマンドを実行して、 RSA 2048-bit
プライベート キー:
openssl genrsa -out server.key 2048
証明書署名リクエストの作成:
openssl req -new -nodes -key server.key -out server.csr
所属する組織の適切な情報を入力します。
Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
openssl req -new -nodes -key server.key -out server.csr -reqexts SAN -config <(cat /etc/ssl/openssl.cnf <(printf "[SAN]\nsubjectAltName=DNS:example.com"))
プロンプトが表示されたら、証明書リクエストに組み込む情報を入力します。情報の入力が終了すると、 server.csr
と server.key
ファイルは、 /ifs/local directory
が連携しない場合があります。
証明書に自己署名するか、認証局(CA)に署名させるかを確認します。
キーを使用して証明書に自己署名する場合は、次のコマンドを実行して、2年間有効な新しい自己署名証明書を作成します。
openssl x509 -req -days 730 -in server.csr -signkey server.key -out server.crt
キーと証明書が一致していることを確認します。両方のコマンドが同じmd5値を返す必要があります。
openssl x509 -noout -modulus -in server.crt | openssl md5
openssl rsa -noout -modulus -in server.key | openssl md5
この手順の後、この記事の 「クラスターに証明書を追加する 」セクションに進みます。
CAが証明書に署名している場合は、新しいSSL証明書がx509形式であり、証明書トラスト チェーン全体が含まれていることを確認します
CAでは、新しいSSL証明書、中間証明書、ルート証明書を別々のファイルで返すのが一般的です
CAがこれを行った場合は、PEM形式の証明書を手動で作成 する必要があります 。
PEM形式の証明書を作成する場合は、順序が重要になります。証明書はファイルの一番上、中間証明書、ルート証明書の順にする必要があります。
PEM形式のファイルの例を次に示します。
-----BEGIN CERTIFICATE-----
<The contents of your new TLS certificate>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<The contents of the intermediate certificate>
<Repeat as necessary for every intermediate certificate provided by your CA>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<The contents of the root certificate file>
-----END CERTIFICATE-----
CLIからPEM形式のファイルを作成する簡単な方法は、ファイルをcatすることです(ファイルの順序が重要であることに注意してください)。
cat CA_signed.crt intermediate.crt root.crt > onefs_pem_formatted.crt
をコピーします。 onefs_pem_formatted.crt
file を /ifs/local directory
名前を server.crt
が連携しない場合があります。
注:.cerファイルを受信した場合は、拡張子を.crtに変更します。
openssl x509 -text -noout -in server.crt
証明書をクラスターに追加します。
OneFS 7.0.xから8.0.1.xの場合:
- 各ノードに新しい証明書とキーをインストールします。
isi services -a isi_webui disable
chmod 640 server.key
chmod 640 server.crt
isi_for_array -s 'cp /ifs/local/server.key /usr/local/apache2/conf/ssl.key/server.key'
isi_for_array -s 'cp /ifs/local/server.crt /usr/local/apache2/conf/ssl.crt/server.crt'
isi services -a isi_webui enable
- 古い証明書や未使用の証明書がある場合は、8.0へのアップグレードが完了したら削除します。「OneFS 8.0.1.x以降」の手順5の手順に従います。
OneFS 8.0.1.x以降の場合:
- 新しい証明書とキーをシステムにインポートします。
isi certificate server import /ifs/local/server.crt /ifs/local/server.key
- 証明書が正常にインポートされたことを確認します。
isi certificate server list -v
- インポートされた証明書をデフォルトとして設定します。
- OneFS 8.0および8.1の場合、コマンドは次のとおりです。
isi certificate server modify --id=<id_of_cert_to_set_as_default> --default
- OneFS 8.2以降の場合、コマンドは次のとおりです。
isi certificate settings modify --default-https-certificate=<id_of_cert_to_set_as_default>
- 次のコマンドを使用して、「デフォルトHTTPS証明書」のステータスを確認して、インポートされた証明書がデフォルトとして使用されていることを確認します。
isi certificate settings view
- 未使用または古い証明書がある場合は、次のコマンドを使用して削除します。
isi certificate server delete --id=<id_of_cert_to_delete>
- 次のコマンドを使用して、新しくインポートされた証明書を表示します。
isi certificate server view --id=<id_of_cert>
注:ポート8081および8083は、これ以降も、SSL用にローカル ディレクトリーから取得した証明書を使用します。ポート8081および8083に新しい証明書を使用する場合は、次の手順に従います。
isi services -a isi_webui disable
chmod 640 server.key
chmod 640 server.crt
isi_for_array -s 'cp /ifs/local/server.key /usr/local/apache2/conf/ssl.key/server.key'
isi_for_array -s 'cp /ifs/local/server.crt /usr/local/apache2/conf/ssl.crt/server.crt'
isi services -a isi_webui enable
確認
更新されたSSL証明書を確認する場合、2つの方法があります。
- 参照先
https://<common name>:8080
ここで <共通名> は、Isilon Web管理インターフェイスへのアクセスに使用されるホスト名です。例 isilon.example.com
- Webページのセキュリティ詳細を表示します。これを行う手順はブラウザーによって異なります。一部のブラウザーでは、アドレス バーにある南京錠のアイコンをクリックして、Webページのセキュリティ詳細を表示します。
- Webページのセキュリティ詳細で、件名およびその他の詳細が正しいことを確認します。組織の都道府県><市区町村>、<<会社>が都道府県、市区町村、および組織の名前である場合、次のような出力が表示されます。
Subject: C=US, ST=<yourstate>, L=<yourcity>, O=<yourcompany>, CN=isilon.example.com/emailAddress=support@example.com
- クラスター内の任意のノードでSSH接続を開き、「root」アカウントを使用してログインします。
- 次のコマンドを実行します。
echo QUIT | openssl s_client -connect localhost:8080
- 次のような出力が表示されます。この場合、 <yourstate>、 <yourcity>、および <your company> は、組織の都道府県、市区町村、および組織名です。
Subject: C=US, ST=<yourstate>, L=<yourcity>, O=<yourcompany>, CN=isilon.example.com/emailAddress=support@example.com