このドキュメントで説明されているソフトウェアはサポートされていないか、拡張サポートが提供されています。
現在サポートされているリリースにアップグレードすることをお薦めします。
SpacewalkサーバーまたはSpacewalkプロキシをインストールするときは、Spacewalkクライアントで使用できる自己署名SSL証明書を作成します。 この項では、自己署名証明書または期限切れのCA署名証明書を、認証局(CA)によって署名された証明書に置き換える方法について説明します。
個々のSpacewalkサーバーまたはSpacewalkプロキシの証明書、またはワイルドカード証明書がカバーするドメイン内のすべてのSpacewalkサーバーまたはSpacewalkプロキシのワイルドカード証明書を使用できます。
SpacewalkサーバーまたはSpacewalkプロキシ上の既存の証明書を置き換えるには:
システムの既存のSSL構成のバックアップを作成します。次に例を示します:
#
tar -cvf SSLconfig.tar \
/etc/httpd/conf/ssl.* \
/etc/pki/spacewalk/jabberd/server.pem \
/root/ssl-build \
/var/www/html/pub
CAからサーバー証明書を取得し、この証明書をシステムのSSLビルド階層にインストールします:
証明書署名リクエスト(CSR)ファイル
/root/ssl-build/
をCAに送信します。swksvr
/ server.csr注swksvr
は、ドメイン名を削除して既存のSSL構成を設定するために使用したSpacewalkサーバーまたはSpacewalkプロキシの名前です。リクエストを検証した後、CAは署名されたサーバー証明書ファイルを返します。
署名されたサーバー証明書ファイルのバックアップを作成します。
必要に応じて、証明書をPEM形式に変換します。
PEM形式の証明書ファイルは、開始マーカーと終了マーカーの間にbase64エンコードされた証明書項を含むテキスト・ファイルです。たとえば、次のようになります:
-----BEGIN CERTIFICATE----- MIIF7DCCBNSgAwIBAgIQbsx6pacDIAm4zrz06VLUkTANBgkqhkiG9w0BAQUFADCB ... Rs/iGAZeqa6ogZpHFt4MKGwlJ7net4RYxh84HqTEy2Y= -----END CERTIFICATE-----
PEM形式の証明書ファイルのファイル拡張子は、通常
.crt
または.pem
です。 ただし、バイナリDER形式の証明書ファイルには、.crt
拡張子が付いていることもあります。DER形式の証明書ファイルは、通常は
.cer
または.der
というファイル拡張子を持つバイナリ・ファイルですが、拡張子.cert
または.crt
も持つことができます。次のコマンドを使用して、証明書ファイルがDER形式であるかどうかをテストできます:
#
openssl x509 -inform der -text -in
certificate_file
証明書ファイルがDER形式の場合は、ファイルをPEM形式の証明書ファイルに変換します。次に例を示します:
#
openssl x509 -inform der -in
server.cer
-outserver.pem
UNIXまたはLinuxシステムでPEM形式の証明書ファイルが生成されなかった場合は、
^M
キャリッジ・リターン文字が含まれている可能性があります。 これらの文字を削除するには、次のいずれかのコマンドを使用できます:#
sed -i -e 's/\r//'
-or- #server.pem
dos2unix
server.pem
dos2unixコマンドは、
dos2unix
パッケージで使用できます。PEM形式のサーバー証明書ファイルを
/root/ssl-build/
にコピーして、元のファイルを上書きします。swksvr
/ server.crt#
cp
server.pem
/root/ssl-build/swksvr
/server.crt
CA公開証明書を
/root/ssl-build
ディレクトリにファイルRHN-ORG-TRUSTED-SSL-CERT
として追加し、元のファイルを上書きします:使用可能な場合は、サーバー証明書を発行したCAからCAチェーン証明書を取得します。 この証明書ファイルを
/root/ssl-build/RHN-ORG-TRUSTED-SSL-CERT
にコピーします。例:#
cp
ca_chain.pem
/root/ssl-build/RHN-ORG-TRUSTED-SSL-CERTCAチェーン証明書が発行CAから入手できない場合は、CAチェーン証明書を自分で作成します:
発行CAからルートCA公開証明書と中間CA公開証明書を取得します。
サーバー証明書を発行したCAのパブリック証明書ファイルで始まるCAパブリック証明書ファイルのチェーンを、ルートCAのパブリック証明書ファイルに
/root/ssl-build/RHN-ORG-TRUSTED-SSL-CERT
に連結します。たとえば、次のようになります:#
cat
intermediate_ca.pem
root_ca.pem
> /root/ssl-build/RHN-ORG-TRUSTED-SSL-CERTこの例では、
intermediate_ca.pem
はサーバー証明書に署名した中間CAのパブリック証明書ファイルで、root_ca.pem
は中間証明書に署名したルートCAのパブリック証明書ファイルです。注CAチェーン証明書ファイル内のパブリック証明書の順序は重要です。 CAチェーン証明書は、コンポーネント証明書が正しい順序でないと機能しません。
ルートCAがサーバー証明書に直接署名した場合(現在はそうは考えられません)、ルートCAの公開証明書だけが必要です。 ルートCA公開証明書ファイルを
/root/ssl-build/RHN-ORG-TRUSTED-SSL-CERT
にコピーします。例:#
cp
root_ca.pem
/root/ssl-build/RHN-ORG-TRUSTED-SSL-CERT
次のコマンドを使用して、サーバー証明書をCA公開証明書に対して検証します:
#
openssl verify -CAfile /root/ssl-build/RHN-ORG-TRUSTED-SSL-CERT \
/root/ssl-build/
/root/ssl-build/swksvr
/server.crtswksvr
/server.crt: OKこのコマンドでエラーが返された場合は、
RHN-ORG-TRUSTED-SSL-CERT
が正しく作成され、サーバーに構成された日時が正しいことを確認してください。CAパブリック証明書をSpacewalkデータベースに格納し、プロビジョニング・クライアント・システムで使用できるようにします。
#
rhn-ssl-dbstore -v --ca-cert=/root/ssl-build/RHN-ORG-TRUSTED-SSL-CERT
Public CA SSL certificate: /root/ssl-build/RHN-ORG-TRUSTED-SSL-CERTコマンドがエラーを返す場合は、-vvvなどのより高いレベルのデバッグを指定してコマンドを再入力し、問題に関する詳細情報を収集します。
WebサーバーSSLパッケージを生成してインストールします:
WebサーバーSSLパッケージを生成します。
#
rhn-ssl-tool --gen-server --rpm-only --dir /root/ssl-build
...working... Generating web server's SSL key pair/set RPM: /root/ssl-build/swksvr
/rhn-org-httpd-ssl-key-pair-swksvr
-1.0-rev
.src.rpm /root/ssl-build/swksvr
/rhn-org-httpd-ssl-key-pair-swksvr
-1.0-rev
.noarch.rpm The most current Spacewalk Proxy Server installation process against RHN hosted requires the upload of an SSL tar archive that contains the CA SSL public certificate and the web server's key set. Generating the web server's SSL key set and CA SSL public certificate archive: /root/ssl-build/swksvr
/rhn-org-httpd-ssl-archive-swksvr
-1.0-rev
.tar Deploy the server's SSL key pair/set RPM: (NOTE: the Red Hat Satellite or Proxy installers may do this step for you.) The "noarch" RPM needs to be deployed to the machine working as a web server, or Red Hat Satellite, or Spacewalk Proxy. Presumably 'swksvr.mydom.com
'.rpmを使用して、パッケージがインストールするファイルをリストすることができます。
#
rpm -qlp /root/ssl-build/
rhn-org-httpd-ssl-key-pair-swksvr-1.0.tar.gz rhn-org-httpd-ssl-key-pair-swksvr.spec #swksvr
/rhn-org-httpd-ssl-key-pair-swksvr-1.0-rev
.src.rpmrpm -qlp /root/ssl-build/
/etc/httpd/conf/ssl.crt/server.crt /etc/httpd/conf/ssl.csr/server.csr /etc/httpd/conf/ssl.key/server.key /etc/pki/spacewalk/jabberd/server.pemswksvr
/rhn-org-httpd-ssl-key-pair-swksvr-1.0-rev
.noarch.rpmWebサーバーSSL
noarch
パッケージをインストールします。#
rpm -Uhv /root/ssl-build/
Preparing... ########################################### [100%] 1:rhn-org-httpd-ssl-key-p########################################### [100%]swksvr
/rhn-org-httpd-ssl-key-pair-swksvr
-1.0-rev
.noarch.rpm
パブリックCA証明書パッケージを生成し、パッケージとCAパブリック証明書ファイルの両方をクライアントに使用可能にします:
パブリックCA証明書パッケージを生成します。
#
rhn-ssl-tool --gen-ca --dir=/root/ssl-build --rpm-only
...working... Generating CA public certificate RPM: /root/ssl-build/rhn-org-trusted-ssl-cert-1.0-rev
.src.rpm /root/ssl-build/rhn-org-trusted-ssl-cert-1.0-rev
.noarch.rpm Make the public CA certificate publicly available: (NOTE: the Red Hat Satellite or Proxy installers may do this step for you.) The "noarch" RPM and raw CA certificate can be made publicly accessible by copying it to the /var/www/html/pub directory of your Red Hat Satellite or Proxy server.rpmを使用して、パッケージがインストールするファイルをリストすることができます。
#
rpm -qlp /root/ssl-build/rhn-org-trusted-ssl-cert-1.0-
rhn-org-trusted-ssl-cert-1.0.tar.gz rhn-org-trusted-ssl-cert.spec #rev
.src.rpmrpm -qlp /root/ssl-build/rhn-org-trusted-ssl-cert-1.0-
/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERTrev
.noarch.rpmSpacewalkサーバーまたはSpacewalkプロキシもクライアントとして構成されている場合は、パブリックCA証明書
noarch
パッケージをこのシステムにインストールします。#
rpm -Uhv /root/ssl-build/pub/rhn-org-trusted-ssl-cert-1.0-
Preparing... ########################################### [100%] 1:rhn-org-trusted-ssl-cer########################################### [100%]rev
.noarch.rpmパブリックCA証明書は
/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT
としてインストールされます。クライアントからアクセスできるように、
rhn-org-trusted-ssl-cert-1.0-
パッケージとCA公開証明書ファイルをrev
.noarch.rpm/var/www/html/pub
にコピーします。#
cp /root/ssl-build/rhn-org-trusted-ssl-cert-1.0-
#rev
.noarch.rpm /var/www/html/pubcp /root/ssl-build/RHN-ORG-TRUSTED-SSL-CERT /var/www/html/pub
注更新された
RHN-ORG-TRUSTED-SSL-CERT
を/var/www/html/pub
にコピーしないと、osa-dispatcher
サービスが開始されません。RHN-ORG-TRUSTED-SSL-CERT
のインストールされたコピーが同一であることを確認するには、ダイジェスト値を比較します:#
sha1sum /root/ssl-build/RHN-ORG-TRUSTED-SSL-CERT \ /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT \ /var/www/html/pub/RHN-ORG-TRUSTED-SSL-CERT
74380a372bfa55d8ab7579bf01502c874b8aae84 /root/ssl-build/RHN-ORG-TRUSTED-SSL-CERT 74380a372bfa55d8ab7579bf01502c874b8aae84 /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT 74380a372bfa55d8ab7579bf01502c874b8aae84 /var/www/html/pub/RHN-ORG-TRUSTED-SSL-CERTrhn-org-trusted-ssl-cert-1.0-
パッケージは、通常、クライアントが使用することはできません。rev
.src.rpm
Spacewalkサーバーで、Spacewalkサービスを停止し、
jabberd
データベースを消去して、Spacewalkを再始動します。#
spacewalk-service stop
#rm -Rf /var/lib/jabberd/db/*
#spacewalk-service start
Spacewalkプロキシで、Spacewalkプロキシ・サービスを再起動します:
#
rhn-proxy restart
残りのSpacewalkクライアントで、パブリックCA証明書パッケージをダウンロードしてインストールします。次に例を示します:
#
wget https://swksvr.mydom.com/pub/rhn-org-trusted-ssl-cert-1.0-
--2015-06-05 15:15:44-- https://swksvr.mydom.com/pub/rhn-org-trusted-ssl-cert-1.0-rev
.noarch.rpmrev
.noarch.rpm Resolving swksvr.mydom.com... 192.168.1.3 Connecting to swksvr.mydom.com|192.168.1.3|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 4840 (4.7K) [application/x-rpm] Saving to: “rhn-org-trusted-ssl-cert-1.0-2.noarch.rpm” 100%[======================================>] 4,840 --.-K/s in 0s 2015-06-05 15:15:44 (57.5 MB/s) - “rhn-org-trusted-ssl-cert-1.0-rev
.noarch.rpm” saved [4840/4840] #rpm -Uhv /root/ssl-build/pub/rhn-org-trusted-ssl-cert-1.0-
Preparing... ########################################### [100%] 1:rhn-org-trusted-ssl-cer########################################### [100%]rev
.noarch.rpm注その後、サーバー証明書が失効または期限切れになったためにサーバー証明書を置き換えた場合は、サーバー証明書に署名するCAを変更しない限り、クライアント上のパブリックCA証明書を更新する必要はありません。